Install & Compatibility
Where this runs
tested against v1.43.70 · 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.000s · 20.2MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 3.4s · import 0.000s · 21MB
18MB installed
● package 18MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
OdbClient
✓ from mypy_boto3_odb import OdbClient
✗ from mypy_boto3_odb import OdbClient
Client
✓ from mypy_boto3_odb import Client
ServiceResource
✓ from mypy_boto3_odb import ServiceResource
This example demonstrates how to import and apply type hints for the `OdbClient` and its response types. It initializes a `boto3` client with the `OdbClient` type, allowing static analysis tools like Mypy and IDEs to provide auto-completion and type checking for Odb service calls. The `TYPE_CHECKING` block ensures that the `mypy_boto3_odb` import is only active during type checking, avoiding a runtime dependency on the stubs if desired. Replace `get_profile` with actual Odb service operations.
import boto3
from typing import TYPE_CHECKING
if TYPE_CHECKING:
from mypy_boto3_odb import OdbClient
from mypy_boto3_odb.type_defs import GetProfileOutputTypeDef
def get_odb_profile(profile_id: str) -> GetProfileOutputTypeDef:
# Initialize an Odb client with type hints
client: OdbClient = boto3.client("odb")
# Example API call (replace with actual Odb service calls)
# The actual Odb service is not widely known; this is illustrative.
response: GetProfileOutputTypeDef = client.get_profile(ProfileId=profile_id)
print(f"Retrieved Odb profile for {profile_id}: {response.get('Name')}")
return response
# Example usage (requires AWS credentials configured for boto3)
if __name__ == "__main__":
# In a real scenario, profile_id would come from input or configuration
sample_profile_id = "some-odb-profile-id"
try:
# This call will fail at runtime if the 'odb' service or 'get_profile' API
# does not exist or if credentials are not configured correctly.
# The purpose here is to demonstrate type hinting at static analysis time.
# response_data = get_odb_profile(sample_profile_id)
print("Type hinting for OdbClient and response types demonstrated.")
print("To run, ensure 'boto3' is installed and AWS credentials are configured.")
print("Note: 'odb' is a less common AWS service; adjust API calls as needed.")
except Exception as e:
print(f"An error occurred: {e}")
Debug
Known issues
breakingThe `mypy-boto3-builder` (which generates these stubs) migrated to PEP 561 compliant packages and removed support for Python 3.8.fixUpgrade your Python environment to version 3.9 or newer. Ensure your project's `pyproject.toml` or `setup.cfg` correctly defines PEP 561 entry points if building custom stubs.
affects: mypy-boto3-builder versions >= 8.12.0
breakingTypeDef names for packed method arguments were shortened (e.g., `CreateDistributionRequestRequestTypeDef` to `CreateDistributionRequestTypeDef`), and conflicting `Extra` postfixes moved to the end.fixUpdate any custom `TypeDef` references in your codebase to reflect the new naming conventions provided by the stubs.
affects: mypy-boto3-builder versions >= 8.9.0
deprecatedThe `sms-voice` service is no longer supported and has been excluded from builds. Use `pinpoint-sms-voice` instead.fixMigrate any existing usage from the `sms-voice` service to `pinpoint-sms-voice` in your `boto3` calls and corresponding type stub imports.
affects: mypy-boto3-builder versions >= 8.11.0
gotchaThese are type stubs only; the actual `boto3` library must be installed separately in your environment for runtime functionality.fixEnsure `pip install boto3` is executed in your project's environment alongside `mypy-boto3-odb`.
affects: All versions
gotchaIn some IDEs (e.g., VSCode without Pylance, or older PyCharm versions), explicit type annotations for `boto3.client()` or `boto3.resource()` calls might be required to enable full autocomplete and type checking.fixAdd explicit type hints for the client object, e.g., `client: OdbClient = boto3.client("odb")`. affects: All versions
gotchaFor Pylint compatibility and to avoid a runtime dependency on stubs in production, it is recommended to wrap stub imports within `typing.TYPE_CHECKING` blocks.fixUse `from typing import TYPE_CHECKING; if TYPE_CHECKING: from mypy_boto3_odb import OdbClient else: OdbClient = object` for conditional imports.
affects: All versions
Upgrade
Version history
1.43.70latest on PyPI · released Aug 12, 2026
Audit
Dependencies
boto3requiredProvides the actual AWS SDK runtime functionality; these are only type stubs.
mypyoptionalThe primary static type checker designed to utilize these stubs.