Install & Compatibility
Where this runs
tested against v1.43.0 · pip install
no network on importno background threads
Install × environment matrix
Each cell = how many times install + import succeeded across repeated harness runs. Partial = flaky.
glibc = Debian/Ubuntu slim · musl = Alpine Linux
muslpy 3.10–3.910 runs
installs and imports cleanly · install 0.0s · import 0.614s · 118MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 7.6s · import 0.559s · 116MB
115MB installed
● package 115MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
S3TablesClient
✓ from mypy_boto3_s3tables.client import S3TablesClient
✗ from boto3.client import S3TablesClient
Type stubs are imported from the `mypy_boto3_s3tables` package, not directly from `boto3`.
CreateNamespaceRequestTypeDef
✓ from mypy_boto3_s3tables.type_defs import CreateNamespaceRequestTypeDef
Import specific TypedDicts for precise type checking of request and response structures.
This quickstart demonstrates how to obtain a type-hinted `S3TablesClient` and use it to interact with the service, leveraging type definitions for method arguments and return values. The `if TYPE_CHECKING:` block ensures that `mypy-boto3-s3tables` is only a development dependency.
from typing import TYPE_CHECKING
import boto3
from boto3.session import Session
if TYPE_CHECKING:
from mypy_boto3_s3tables.client import S3TablesClient
from mypy_boto3_s3tables.type_defs import ListNamespacesOutputTypeDef
def get_s3tables_client() -> 'S3TablesClient':
"""Initializes and returns a type-hinted S3Tables client."""
session: Session = boto3.session.Session()
client: S3TablesClient = session.client('s3tables')
return client
def list_s3tables_namespaces() -> None:
"""Lists S3Tables namespaces with type checking."""
client = get_s3tables_client()
# Use a dummy list for illustration, as actual AWS calls require credentials
# If you have AWS credentials configured, uncomment the line below:
# response: ListNamespacesOutputTypeDef = client.list_namespaces()
# Example with a mock response for type checking demonstration:
response: ListNamespacesOutputTypeDef = {
'namespaces': [
{'namespaceArn': 'arn:aws:s3tables:REGION:ACCOUNT:namespace/example1', 'namespaceName': 'example1'},
{'namespaceArn': 'arn:aws:s3tables:REGION:ACCOUNT:namespace/example2', 'namespaceName': 'example2'}
],
'ResponseMetadata': {
'RequestId': 'example-request-id',
'HTTPStatusCode': 200,
'HTTPHeaders': {},
'RetryAttempts': 0
}
}
for namespace in response['namespaces']:
print(f"Namespace ARN: {namespace['namespaceArn']}, Name: {namespace['namespaceName']}")
if __name__ == "__main__":
list_s3tables_namespaces()
Debug
Known issues
breakingPython 3.8 support has been removed as of `mypy-boto3-builder` version 8.12.0. The package now requires Python 3.9 or newer.fixUpgrade your Python environment to 3.9 or later.
affects: >=8.12.0 of mypy-boto3-builder and generated stubs
breakingTypeDef naming conventions changed in `mypy-boto3-builder` version 8.9.0. This might affect custom code that explicitly references generated TypedDicts, for instance, `CreateDistributionRequestRequestTypeDef` became `CreateDistributionRequestTypeDef`.fixReview and update explicit references to TypedDict names in your code.
affects: >=8.9.0 of mypy-boto3-builder and generated stubs
gotchaIt's crucial to install `boto3` (the actual AWS SDK) and `mypy` (the type checker) alongside `mypy-boto3-s3tables`. Without them, the stubs will not provide runtime functionality or be utilized for static analysis.fixEnsure `boto3` and `mypy` are installed: `pip install boto3 mypy mypy-boto3-s3tables`.
affects: All versions
gotchaMismatching versions between `boto3` and `mypy-boto3-s3tables` can lead to incorrect type hints or missing methods. The stub package aims to match the corresponding `boto3` version.fixKeep `boto3` and `mypy-boto3-s3tables` versions in sync. The stub package version reflects the compatible `boto3` version.
affects: All versions
gotchaTo prevent `mypy-boto3-s3tables` from becoming a runtime dependency and to import only type-specific objects, wrap type imports within an `if TYPE_CHECKING:` block.fixUse `from typing import TYPE_CHECKING` and enclose type imports: `if TYPE_CHECKING: from mypy_boto3_s3tables.client import S3TablesClient`.
affects: All versions
gotchaPyCharm has known performance issues with `Literal` overloads in type stub packages. For PyCharm users, `boto3-stubs-lite` might offer a more responsive experience at the cost of requiring more explicit type annotations.fixConsider `pip install 'boto3-stubs-lite[s3tables]'` if encountering performance issues in PyCharm.
affects: All versions with PyCharm
Upgrade
Version history
1.43.0latest on PyPI · released Apr 29, 2026
Audit
Dependencies
boto3requiredProvides the AWS SDK for which type annotations are generated.
mypyrequiredStatic type checker that consumes these annotations for analysis.
typing-extensionsoptionalProvides backported typing features for older Python versions, often a transitive dependency.