mypy_boto3_builder

Auto-generated documentation index.

PyPI - mypy-boto3-builder PyPI - boto3-stubs PyPI - boto3

Docs Docs Docs

PyPI - Python Version Coverage PyPI - Downloads

Type annotations builder for boto3-stubs project. Compatible with mypy, pyright, VSCode, PyCharm and other tools.

Full mypy-boto3-builder project documentation can be found in Modules

Using boto3-stubs

Check boto3-stubs project for installation and usage instructions.

If you use up-to-date boto3 version, just install corresponding boto3-stubs and start using code auto-complete and mypy validation. You can find instructions on boto3-stubs page.

This page is only for building type annotations manually. For example, if you want to use the latest features for an older boto3 version.

How to build type annotations

Locally

# Install preferred version of `boto3`
python -m pip install boto3==1.16.25 botocore==1.19.25

# Install `mypy-boto3-builder`
python -m pip install mypy-boto3-builder

# Build all packages in mypy_boto3_output directory
python -m mypy_boto3_builder mypy_boto3_output

# Or specify required services explicitly
python -m mypy_boto3_builder mypy_boto3_output -s ec2 s3

# Install custom `boto3-stubs` packages
cd mypy_boto3_output
pip install mypy_boto3_ec2_package
pip install mypy_boto3_s3_package
pip install boto3_stubs_package

With Docker image

  • Install Docker
  • Pull latest mypy_boto3_builder version and tag it
docker pull docker.pkg.github.com/vemel/mypy_boto3_builder/mypy_boto3_builder_stable:latest
docker tag docker.pkg.github.com/vemel/mypy_boto3_builder/mypy_boto3_builder_stable:latest mypy_boto3_builder
  • Generate stubs in output directory
mkdir output

# generate stubs for all services
docker run -v `pwd`/output:/output -ti mypy_boto3_builder

# generate stubs for s3 service
docker run -v `pwd`/output:/output -ti mypy_boto3_builder -s s3

# generate stubs for a specific boto3 version
docker run -e BOTO3_VERSION=1.16.25 BOTOCORE_VERSION=1.19.25 -v `pwd`/output:/output -ti mypy_boto3_builder
  • Install packages from output directory as described above

Versioning

mypy_boto3_builder version is not related to boto3 version and follows PEP 440.

Latest changes

Full changelog can be found in Releases.

Thank you

  • @alliefitter for boto3-type-annotations, this package is based on top of his work
  • black developers for an awesome formatting tool
  • @timothycrosley for isort and how flexible it is
  • mypy for doing all dirty work for us
  • pyright team for the new era of typed Python