types-botocore


Proxy package for botocore-stubs.
Install submodules for boto3 services type annotations.
Type annotations for
boto3
compatible with
VSCode,
PyCharm,
Emacs,
Sublime Text,
mypy,
pyright
and other tools.
See how it helps to find and fix potential bugs:

How to install
VSCode extension
Add AWS Boto3
extension to your VSCode and run AWS boto3: Quick Start command.
From PyPI with pip
Install botocore-stubs to add type annotations for botocore package.
Install boto3-stubs to add type annotations for boto3 package.
python -m pip install botocore-stubs
python -m pip install botocore-stubs boto3-stubs
python -m pip install 'boto3-stubs[essential]'
python -m pip install 'boto3-stubs-lite[essential]'
python -m pip install 'boto3-stubs[acm,apigateway]'
From conda-forge
Installing botocore-stubs from the conda-forge channel can be achieved by adding conda-forge to your channels with:
conda config --add channels conda-forge
conda config --set channel_priority strict
Once the conda-forge channel has been enabled, botocore-stubs can be installed with:
conda install botocore-stubs
It is possible to list all of the versions of botocore-stubs available on your platform with:
conda search botocore-stubs --channel conda-forge
How to uninstall
python -m pip uninstall -y boto3-stubs botocore-stubs
python -m pip freeze | grep mypy-boto3 | xargs python -m pip uninstall -y
Usage
VSCode
- Install Python extension
- Install Pylance extension
- Set
Pylance as your Python Language Server
- Install
boto3-stubs with services you use in your environment: python -m pip install 'boto3-stubs[s3,ec2]'
Both type checking and code completion should work for installed boto3 services.
No explicit type annotations required, write your boto3 code as usual.
PyCharm
- Install
boto3-stubs-lite with services you use in your environment:
python -m pip install 'boto3-stubs-lite[s3,ec2]'
Both type checking and code completion should work for installed services.
Explicit type annotations are required. Use boto3-stubs package instead for implicit type discovery.
Emacs
(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
Sublime Text
- Install
boto3-stubs with services you use in your environment: python -m pip install 'boto3-stubs[s3,ec2]'
- Install LSP-pyright package
- Make sure emacs uses the environment where you have installed
boto3-stubs
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 with services you use in your environment: python -m pip install 'boto3-stubs[s3,ec2]'
- Run
mypy as usual
Type checking should work for installed boto3 services.
No explicit type annotations required, write your boto3 code as usual.
pyright
- Install
pyright: yarn global add pyright
- Install
boto3-stubs with services you use in your environment: python -m pip install 'boto3-stubs[s3,ec2]'
- Optionally, you can install
boto3-stubs to typings folder.
Type checking should work for installed boto3 services.
No explicit type annotations required, write your boto3 code as usual.
How it works
Fully automated mypy-boto3-builder carefully generates
type annotations for each service, patiently waiting for boto3 updates. It delivers
a 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 from the documentation (blame botocore docs if types are incorrect).
- Type annotations include up-to-date documentation.
- Link to documentation is provided for every method.
- Code is processed by black
and isort for readability.
What's new
Implemented features
- Fully type annotated
boto3 library
mypy, pyright, VSCode, PyCharm, Sublime Text and Emacs compatibility
Client type annotations for each service
ServiceResource type annotations for each service
Resource type annotations for each service
Waiter type annotations for each service
Paginator type annotations for each service
- Generated
TypeDefs for each service
- Generated
Literals for each service
- Auto discovery of types for
boto3.client and boto3.session calls
- Auto discovery of types for
session.client and session.session calls
- Auto discovery of types for
client.get_waiter and client.get_paginator calls
- Auto discovery of types for
ServiceResource and Resource collections
Latest changes
Builder changelog can be found in Releases.
Versioning
botocore-stubs version is the same as related botocore version and follows
PEP 440 format.
Thank you
Documentation
All services type annotations can be found in boto3-stubs docs
Support and contributing
This package is auto-generated. Please reports any bugs or request new features in
mypy-boto3-builder repository.