Skip to main content

Proxy package for boto3-stubs

Project description

types-boto3

PyPI - botocore-stubs PyPI - Python Version Docs PyPI - Downloads

boto3.typed

Proxy package for boto3-stubs. Install submodules for boto3 services type annotations.

Type annotations for botocore compatible with VSCode, PyCharm, Emacs, Sublime Text, mypy, pyright and other tools.

See how it helps to find and fix potential bugs:

boto3-stubs demo

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.

# install type annotations only for botocore
python -m pip install botocore-stubs

# install type annotations only for boto3 and botocore
python -m pip install botocore-stubs boto3-stubs

# install `boto3` type annotations
# for ec2, s3, rds, lambda, sqs, dynamo and cloudformation
# Consumes ~7 MB of space
python -m pip install 'boto3-stubs[essential]'

# Lite version does not provide session.client/resource overloads
# it is more RAM-friendly, but requires explicit type annotations
python -m pip install 'boto3-stubs-lite[essential]'

# or install annotations for services you use
python -m pip install 'boto3-stubs[acm,apigateway]'

From conda-forge

Installing boto3-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, boto3-stubs and boto3-stubs-essential can be installed with:

conda install boto3-stubs boto3-stubs-essential

It is possible to list all of the versions of boto3-stubs available on your platform with:

conda search boto3-stubs --channel conda-forge

How to uninstall

# uninstall boto3-stubs
python -m pip uninstall -y boto3-stubs botocore-stubs

# uninstall submodules
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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

types-boto3-1.0.2.tar.gz (5.0 kB view hashes)

Uploaded Source

Built Distribution

types_boto3-1.0.2-py3-none-any.whl (5.1 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page