boto3-stubs-full1.35.86
Published
All-in-one type annotations for boto3 1.35.86 generated with mypy-boto3-builder 8.7.0
pip install boto3-stubs-full
Package Downloads
Authors
Project URLs
Requires Python
>=3.8
boto3-stubs-full
Type annotations for boto3 1.35.86 compatible with VSCode, PyCharm, Emacs, Sublime Text, mypy, pyright and other tools.
Generated with mypy-boto3-builder 8.7.0.
More information can be found on boto3-stubs page and in boto3-stubs-full docs.
See how it helps you find and fix potential bugs:
- boto3-stubs-full
How to install
Generate locally (recommended)
You can generate type annotations for boto3
package locally with
mypy_boto3_builder
. Use
uv for build
isolation.
- Run mypy-boto3-builder in your package root directory:
uvx --with 'boto3==1.35.86' mypy_boto3_builder
- Select
boto3-stubs
AWS SDK. - Add all available services.
- Use provided commands to install generated packages.
VSCode extension
Add
AWS Boto3
extension to your VSCode and run AWS boto3: Quick Start
command.
Click Auto-discover services
and select services you use in the current
project.
From PyPI with pip
Install boto3-stubs-full
to add type checking for boto3
package.
# install type annotations
python -m pip install 'boto3-stubs[full]'
# or install annotations in sync with boto3 version
python -m pip install 'boto3-stubs[full,boto3]'
How to uninstall
# uninstall boto3-stubs
python -m pip uninstall -y boto3-stubs-full boto3-stubs
Usage
VSCode
- Install Python extension
- Install Pylance extension
- Set
Pylance
as your Python Language Server - Install
boto3-stubs-full
in your environment:
python -m pip install 'boto3-stubs[full]'
Both type checking and code completion should now work. No explicit type
annotations required, write your boto3
code as usual.
PyCharm
⚠️ Due to slow PyCharm performance on
Literal
overloads (issue PY-40997), it is recommended to use boto3-stubs-lite until the issue is resolved.
⚠️ If you experience slow performance and high CPU usage, try to disable
PyCharm
type checker and use mypy or pyright instead.
⚠️ To continue using
PyCharm
type checker, you can try to replaceboto3-stubs
with boto3-stubs-lite:
python -m pip uninstall -y boto3-stubs
python -m pip install 'boto3-stubs-lite[full]'
Install boto3-stubs-lite
in your environment:
python -m pip install 'boto3-stubs-lite[full]'
Both type checking and code completion should now work.
Emacs
- Install
boto3-stubs-full
in your environment:
python -m pip install 'boto3-stubs[full]'
- Install use-package, lsp, company and flycheck packages
- Install lsp-pyright package
(use-package lsp-pyright
:ensure t
:hook (python-mode . (lambda ()
(require 'lsp-pyright)
(lsp))) ; or lsp-deferred
:init (when (executable-find "python3")
(setq lsp-pyright-python-executable-cmd "python3"))
)
- Make sure emacs uses the environment where you have installed
boto3-stubs-full
Type checking should now work. No explicit type annotations required, write
your boto3
code as usual.
Sublime Text
- Install
boto3-stubs-full
in your environment:
python -m pip install 'boto3-stubs[full]'
- Install LSP-pyright package
Type checking should now work. No explicit type annotations required, write
your boto3
code as usual.
Other IDEs
Not tested, but as long as your IDE supports mypy
or pyright
, everything
should work.
mypy
- Install
mypy
:python -m pip install mypy
- Install
boto3-stubs-full
in your environment:
python -m pip install 'boto3-stubs[full]'
Type checking should now work. No explicit type annotations required, write
your boto3
code as usual.
pyright
- Install
pyright
:npm i -g pyright
- Install
boto3-stubs-full
in your environment:
python -m pip install 'boto3-stubs[full]'
Optionally, you can install boto3-stubs-full
to typings
directory.
Type checking should now work. No explicit type annotations required, write
your boto3
code as usual.
Pylint compatibility
It is totally safe to use TYPE_CHECKING
flag in order to avoid
boto3-stubs-full
dependency in production. However, there is an issue in
pylint
that it complains about undefined variables. To fix it, set all types
to object
in non-TYPE_CHECKING
mode.
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from mypy_boto3_ec2 import EC2Client, EC2ServiceResource
from mypy_boto3_ec2.waiters import BundleTaskCompleteWaiter
from mypy_boto3_ec2.paginators import DescribeVolumesPaginator
else:
EC2Client = object
EC2ServiceResource = object
BundleTaskCompleteWaiter = object
DescribeVolumesPaginator = object
...
Explicit type annotations
To speed up type checking and code completion, you can set types explicitly.
import boto3
from boto3.session import Session
from mypy_boto3_ec2.client import EC2Client
from mypy_boto3_ec2.service_resource import EC2ServiceResource
from mypy_boto3_ec2.waiter import BundleTaskCompleteWaiter
from mypy_boto3_ec2.paginator import DescribeVolumesPaginator
session = Session(region_name="us-west-1")
ec2_client: EC2Client = boto3.client("ec2", region_name="us-west-1")
ec2_resource: EC2ServiceResource = session.resource("ec2")
bundle_task_complete_waiter: BundleTaskCompleteWaiter = ec2_client.get_waiter(
"bundle_task_complete"
)
describe_volumes_paginator: DescribeVolumesPaginator = ec2_client.get_paginator("describe_volumes")
How it works
Fully automated
mypy-boto3-builder carefully
generates type annotations for each service, patiently waiting for boto3
updates. It delivers drop-in type annotations for you and makes sure that:
- All available
boto3
services are covered. - Each public class and method of every
boto3
service gets valid type annotations extracted frombotocore
schemas. - Type annotations include up-to-date documentation.
- Link to documentation is provided for every method.
- Code is processed by ruff for readability.
What's new
Implemented features
- Fully type annotated
boto3
,botocore
,aiobotocore
andaioboto3
libraries mypy
,pyright
,VSCode
,PyCharm
,Sublime Text
andEmacs
compatibilityClient
,ServiceResource
,Resource
,Waiter
Paginator
type annotations for each service- Generated
TypeDefs
for each service - Generated
Literals
for each service - Auto discovery of types for
boto3.client
andboto3.resource
calls - Auto discovery of types for
session.client
andsession.resource
calls - Auto discovery of types for
client.get_waiter
andclient.get_paginator
calls - Auto discovery of types for
ServiceResource
andResource
collections - Auto discovery of types for
aiobotocore.Session.create_client
calls
Latest changes
Builder changelog can be found in Releases.
Versioning
boto3-stubs-full
version is the same as related boto3
version and follows
PEP 440 format.
Thank you
- Allie Fitter for boto3-type-annotations, this package is based on top of his work
- black developers for an awesome formatting tool
- Timothy Edmund Crosley for isort and how flexible it is
- mypy developers for doing all dirty work for us
- pyright team for the new era of typed Python
Documentation
All services type annotations can be found in boto3 docs
Support and contributing
This package is auto-generated. Please reports any bugs or request new features in mypy-boto3-builder repository.