Published
Type annotations for aiobotocore DynamoDB 2.25.1 service generated with mypy-boto3-builder 8.11.0
pip install types-aiobotocore-dynamodb
Package Downloads
Authors
Project URLs
Requires Python
>=3.8
Dependencies
types-aiobotocore-dynamodb

Type annotations for aiobotocore DynamoDB 2.25.1 compatible with VSCode, PyCharm, Emacs, Sublime Text, mypy, pyright and other tools.
Generated with mypy-boto3-builder 8.11.0.
More information can be found on types-aiobotocore page and in types-aiobotocore-dynamodb docs.
See how it helps you find and fix potential bugs:

- types-aiobotocore-dynamodb
 
How to install
Generate locally (recommended)
You can generate type annotations for aiobotocore package locally with
mypy-boto3-builder. Use
uv for build
isolation.
- Run mypy-boto3-builder in your package root directory:
uvx --with 'aiobotocore==2.25.1' mypy-boto3-builder - Select 
aiobotocoreAWS SDK. - Add 
DynamoDBservice. - Use provided commands to install generated packages.
 
From PyPI with pip
Install types-aiobotocore for DynamoDB service.
# install with aiobotocore type annotations
python -m pip install 'types-aiobotocore[dynamodb]'
# Lite version does not provide session.client/resource overloads
# it is more RAM-friendly, but requires explicit type annotations
python -m pip install 'types-aiobotocore-lite[dynamodb]'
# standalone installation
python -m pip install types-aiobotocore-dynamodb
How to uninstall
python -m pip uninstall -y types-aiobotocore-dynamodb
Usage
VSCode
- Install Python extension
 - Install Pylance extension
 - Set 
Pylanceas your Python Language Server - Install 
types-aiobotocore[dynamodb]in your environment: 
python -m pip install 'types-aiobotocore[dynamodb]'
Both type checking and code completion should now work. No explicit type
annotations required, write your aiobotocore code as usual.
PyCharm
⚠️ Due to slow PyCharm performance on
Literaloverloads (issue PY-40997), it is recommended to use types-aiobotocore-lite until the issue is resolved.
⚠️ If you experience slow performance and high CPU usage, try to disable
PyCharmtype checker and use mypy or pyright instead.
⚠️ To continue using
PyCharmtype checker, you can try to replacetypes-aiobotocorewith types-aiobotocore-lite:
pip uninstall types-aiobotocore
pip install types-aiobotocore-lite
Install types-aiobotocore[dynamodb] in your environment:
python -m pip install 'types-aiobotocore[dynamodb]'
Both type checking and code completion should now work.
Emacs
- Install 
types-aiobotocorewith services you use in your environment: 
python -m pip install 'types-aiobotocore[dynamodb]'
- 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
types-aiobotocore 
Type checking should now work. No explicit type annotations required, write
your aiobotocore code as usual.
Sublime Text
- Install 
types-aiobotocore[dynamodb]with services you use in your environment: 
python -m pip install 'types-aiobotocore[dynamodb]'
- Install LSP-pyright package
 
Type checking should now work. No explicit type annotations required, write
your aiobotocore 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 
types-aiobotocore[dynamodb]in your environment: 
python -m pip install 'types-aiobotocore[dynamodb]'
Type checking should now work. No explicit type annotations required, write
your aiobotocore code as usual.
pyright
- Install 
pyright:npm i -g pyright - Install 
types-aiobotocore[dynamodb]in your environment: 
python -m pip install 'types-aiobotocore[dynamodb]'
Optionally, you can install types-aiobotocore to typings directory.
Type checking should now work. No explicit type annotations required, write
your aiobotocore code as usual.
Pylint compatibility
It is totally safe to use TYPE_CHECKING flag in order to avoid
types-aiobotocore-dynamodb 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 types_aiobotocore_ec2 import EC2Client, EC2ServiceResource
    from types_aiobotocore_ec2.waiters import BundleTaskCompleteWaiter
    from types_aiobotocore_ec2.paginators import DescribeVolumesPaginator
else:
    EC2Client = object
    EC2ServiceResource = object
    BundleTaskCompleteWaiter = object
    DescribeVolumesPaginator = object
...
Explicit type annotations
Client annotations
DynamoDBClient provides annotations for session.create_client("dynamodb").
from aiobotocore.session import get_session
from types_aiobotocore_dynamodb import DynamoDBClient
session = get_session()
async with session.create_client("dynamodb") as client:
    client: DynamoDBClient
    # now client usage is checked by mypy and IDE should provide code completion
Paginators annotations
types_aiobotocore_dynamodb.paginator module contains type annotations for all
paginators.
from aiobotocore.session import get_session
from types_aiobotocore_dynamodb import DynamoDBClient
from types_aiobotocore_dynamodb.paginator import (
    ListBackupsPaginator,
    ListTablesPaginator,
    ListTagsOfResourcePaginator,
    QueryPaginator,
    ScanPaginator,
)
session = get_session()
async with session.create_client("dynamodb") as client:
    client: DynamoDBClient
    # Explicit type annotations are optional here
    # Types should be correctly discovered by mypy and IDEs
    list_backups_paginator: ListBackupsPaginator = client.get_paginator("list_backups")
    list_tables_paginator: ListTablesPaginator = client.get_paginator("list_tables")
    list_tags_of_resource_paginator: ListTagsOfResourcePaginator = client.get_paginator(
        "list_tags_of_resource"
    )
    query_paginator: QueryPaginator = client.get_paginator("query")
    scan_paginator: ScanPaginator = client.get_paginator("scan")
Waiters annotations
types_aiobotocore_dynamodb.waiter module contains type annotations for all
waiters.
from aiobotocore.session import get_session
from types_aiobotocore_dynamodb.client import DynamoDBClient
from types_aiobotocore_dynamodb.waiter import TableExistsWaiter, TableNotExistsWaiter
session = get_session()
async with session.create_client("dynamodb") as client:
    client: DynamoDBClient
    # Explicit type annotations are optional here
    # Types should be correctly discovered by mypy and IDEs
    table_exists_waiter: TableExistsWaiter = client.get_waiter("table_exists")
    table_not_exists_waiter: TableNotExistsWaiter = client.get_waiter("table_not_exists")
Service Resource annotations
DynamoDBServiceResource provides annotations for
aiobotocore.resource("dynamodb").
from aiobotocore.session import get_session
from types_aiobotocore_dynamodb import DynamoDBServiceResource
session = get_session()
async with session.resource("dynamodb") as resource:
    resource: DynamoDBServiceResource
    # now resource usage is checked by mypy and IDE should provide code completion
Other resources annotations
types_aiobotocore_dynamodb.service_resource module contains type annotations
for all resources.
from aiobotocore.session import get_session
from types_aiobotocore_dynamodb import DynamoDBServiceResource
from types_aiobotocore_dynamodb.service_resource import Table
session = get_session()
async with session.resource("dynamodb") as resource:
    resource: DynamoDBServiceResource
    # Explicit type annotations are optional here
    # Type should be correctly discovered by mypy and IDEs
    my_table: Table = resource.Table(...)
Collections annotations
types_aiobotocore_dynamodb.service_resource module contains type annotations
for all DynamoDBServiceResource collections.
from aiobotocore.session import get_session
from types_aiobotocore_dynamodb import DynamoDBServiceResource
from types_aiobotocore_dynamodb.service_resource import ServiceResourceTablesCollection
session = get_session()
async with session.resource("dynamodb") as resource:
    resource: DynamoDBServiceResource
    # Explicit type annotations are optional here
    # Type should be correctly discovered by mypy and IDEs
    tables: dynamodb_resources.ServiceResourceTablesCollection = resource.tables
Literals
types_aiobotocore_dynamodb.literals module contains literals extracted from
shapes that can be used in user code for type checking.
Full list of DynamoDB Literals can be found in
docs.
from types_aiobotocore_dynamodb.literals import ApproximateCreationDateTimePrecisionType
def check_value(value: ApproximateCreationDateTimePrecisionType) -> bool: ...
Type definitions
types_aiobotocore_dynamodb.type_defs module contains structures and shapes
assembled to typed dictionaries and unions for additional type checking.
Full list of DynamoDB TypeDefs can be found in
docs.
# TypedDict usage example
from types_aiobotocore_dynamodb.type_defs import ArchivalSummaryTypeDef
def get_value() -> ArchivalSummaryTypeDef:
    return {
        "ArchivalDateTime": ...,
    }
How it works
Fully automated
mypy-boto3-builder carefully
generates type annotations for each service, patiently waiting for
aiobotocore updates. It delivers drop-in type annotations for you and makes
sure that:
- All available 
aiobotocoreservices are covered. - Each public class and method of every 
aiobotocoreservice gets valid type annotations extracted frombotocoreschemas. - 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,aiobotocoreandaioboto3libraries mypy,pyright,VSCode,PyCharm,Sublime TextandEmacscompatibilityClient,ServiceResource,Resource,WaiterPaginatortype annotations for each service- Generated 
TypeDefsfor each service - Generated 
Literalsfor each service - Auto discovery of types for 
boto3.clientandboto3.resourcecalls - Auto discovery of types for 
session.clientandsession.resourcecalls - Auto discovery of types for 
client.get_waiterandclient.get_paginatorcalls - Auto discovery of types for 
ServiceResourceandResourcecollections - Auto discovery of types for 
aiobotocore.Session.create_clientcalls 
Latest changes
Builder changelog can be found in Releases.
Versioning
types-aiobotocore-dynamodb version is the same as related aiobotocore
version and follows
Python Packaging version specifiers.
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 aiobotocore docs
Support and contributing
This package is auto-generated. Please reports any bugs or request new features in mypy-boto3-builder repository.