Give AlbumentationsX a star on GitHub — it powers this leaderboard

Star on GitHub

mypy-boto3-b2bi

Type annotations for boto3 B2BI 1.42.3 service generated with mypy-boto3-builder 8.12.0

Rank: #3602Downloads: 1,356,224 (30 days)Stars: 660Forks: 41

Description

<a id="mypy-boto3-b2bi"></a>

mypy-boto3-b2bi

PyPI - mypy-boto3-b2bi PyPI - Python Version Docs PyPI - Downloads

boto3.typed

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

Generated with mypy-boto3-builder 8.12.0.

More information can be found on boto3-stubs page and in mypy-boto3-b2bi docs.

See how it helps you find and fix potential bugs:

types-boto3 demo

<a id="how-to-install"></a>

How to install

<a id="generate-locally-(recommended)"></a>

Generate locally (recommended)

You can generate type annotations for boto3 package locally with mypy-boto3-builder. Use uv for build isolation.

  1. Run mypy-boto3-builder in your package root directory: uvx --with 'boto3==1.42.3' mypy-boto3-builder
  2. Select boto3-stubs AWS SDK.
  3. Add B2BI service.
  4. Use provided commands to install generated packages.

<a id="vscode-extension"></a>

VSCode extension

Add AWS Boto3 extension to your VSCode and run AWS boto3: Quick Start command.

Click Modify and select boto3 common and B2BI.

<a id="from-pypi-with-pip"></a>

From PyPI with pip

Install boto3-stubs for B2BI service.

# install with boto3 type annotations
python -m pip install 'boto3-stubs[b2bi]'

# 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[b2bi]'

# standalone installation
python -m pip install mypy-boto3-b2bi

<a id="how-to-uninstall"></a>

How to uninstall

python -m pip uninstall -y mypy-boto3-b2bi

<a id="usage"></a>

Usage

<a id="vscode"></a>

VSCode

python -m pip install 'boto3-stubs[b2bi]'

Both type checking and code completion should now work. No explicit type annotations required, write your boto3 code as usual.

<a id="pycharm"></a>

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 replace boto3-stubs with boto3-stubs-lite:

pip uninstall boto3-stubs
pip install boto3-stubs-lite

Install boto3-stubs[b2bi] in your environment:

python -m pip install 'boto3-stubs[b2bi]'

Both type checking and code completion should now work.

<a id="emacs"></a>

Emacs

  • Install boto3-stubs with services you use in your environment:
python -m pip install 'boto3-stubs[b2bi]'
(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

Type checking should now work. No explicit type annotations required, write your boto3 code as usual.

<a id="sublime-text"></a>

Sublime Text

  • Install boto3-stubs[b2bi] with services you use in your environment:
python -m pip install 'boto3-stubs[b2bi]'

Type checking should now work. No explicit type annotations required, write your boto3 code as usual.

<a id="other-ides"></a>

Other IDEs

Not tested, but as long as your IDE supports mypy or pyright, everything should work.

<a id="mypy"></a>

mypy

  • Install mypy: python -m pip install mypy
  • Install boto3-stubs[b2bi] in your environment:
python -m pip install 'boto3-stubs[b2bi]'

Type checking should now work. No explicit type annotations required, write your boto3 code as usual.

<a id="pyright"></a>

pyright

  • Install pyright: npm i -g pyright
  • Install boto3-stubs[b2bi] in your environment:
python -m pip install 'boto3-stubs[b2bi]'

Optionally, you can install boto3-stubs to typings directory.

Type checking should now work. No explicit type annotations required, write your boto3 code as usual.

<a id="pylint-compatibility"></a>

Pylint compatibility

It is totally safe to use TYPE_CHECKING flag in order to avoid mypy-boto3-b2bi 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

...

<a id="explicit-type-annotations"></a>

Explicit type annotations

<a id="client-annotations"></a>

Client annotations

B2BIClient provides annotations for boto3.client("b2bi").

from boto3.session import Session

from mypy_boto3_b2bi import B2BIClient

client: B2BIClient = Session().client("b2bi")

# now client usage is checked by mypy and IDE should provide code completion

<a id="paginators-annotations"></a>

Paginators annotations

mypy_boto3_b2bi.paginator module contains type annotations for all paginators.

from boto3.session import Session

from mypy_boto3_b2bi import B2BIClient
from mypy_boto3_b2bi.paginator import (
    ListCapabilitiesPaginator,
    ListPartnershipsPaginator,
    ListProfilesPaginator,
    ListTransformersPaginator,
)

client: B2BIClient = Session().client("b2bi")

# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
list_capabilities_paginator: ListCapabilitiesPaginator = client.get_paginator("list_capabilities")
list_partnerships_paginator: ListPartnershipsPaginator = client.get_paginator("list_partnerships")
list_profiles_paginator: ListProfilesPaginator = client.get_paginator("list_profiles")
list_transformers_paginator: ListTransformersPaginator = client.get_paginator("list_transformers")

<a id="waiters-annotations"></a>

Waiters annotations

mypy_boto3_b2bi.waiter module contains type annotations for all waiters.

from boto3.session import Session

from mypy_boto3_b2bi import B2BIClient
from mypy_boto3_b2bi.waiter import TransformerJobSucceededWaiter

client: B2BIClient = Session().client("b2bi")

# Explicit type annotations are optional here
# Types should be correctly discovered by mypy and IDEs
transformer_job_succeeded_waiter: TransformerJobSucceededWaiter = client.get_waiter(