Install & Compatibility
Where this runs
tested against v1.43.76 · 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 · 19.8MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 3.4s · import 0.000s · 20MB
18MB installed
● package 18MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
AmplifyClient
✓ from mypy_boto3_amplify import AmplifyClient
✗ from mypy_boto3_amplify import AmplifyClient
This example demonstrates how to obtain a type-hinted Amplify client using `boto3` and leverage the `mypy-boto3-amplify` stubs for static analysis. It includes a `TYPE_CHECKING` guard for conditional imports, ensuring the stubs are only used during type checking and not as a runtime dependency. The `get_amplify_apps` function is fully type-hinted, including the client and the return value based on `ListAppsOutputTypeDef`.
import boto3
from typing import TYPE_CHECKING, List
import os
if TYPE_CHECKING:
from mypy_boto3_amplify.client import AmplifyClient
from mypy_boto3_amplify.type_defs import AppOutputTypeDef, ListAppsOutputTypeDef
def get_amplify_apps(client: 'AmplifyClient') -> List['AppOutputTypeDef']:
"""Lists Amplify applications with type hints."""
response: 'ListAppsOutputTypeDef' = client.list_apps()
return response.get('apps', [])
# Example usage
# Ensure AWS credentials are set up (e.g., via environment variables or ~/.aws/credentials)
# For a runnable example, we'll mock client creation
if os.environ.get('AWS_ACCESS_KEY_ID'): # Check if credentials exist for a real client
amplify_client: 'AmplifyClient' = boto3.client('amplify')
apps = get_amplify_apps(amplify_client)
print(f"Found {len(apps)} Amplify applications.")
for app in apps:
print(f" - App ID: {app['appId']}, Name: {app['name']}")
else:
print("AWS credentials not found. Skipping live client example. Define AWS_ACCESS_KEY_ID to run.")
# Without type checking (runtime code)
amplify_client_untyped = boto3.client('amplify')
# This client would also work, but without static type validation.
Debug
Known issues
breakingPython 3.8 support has been removed across all `mypy-boto3-*` packages. Projects using these stubs must target Python 3.9 or higher.fixUpgrade your project's Python interpreter to 3.9 or newer.
affects: mypy-boto3-amplify==1.42.3 and later (generated by mypy-boto3-builder 8.12.0+)
breakingTypeDef naming conventions have changed. For packed method arguments, `RequestRequestTypeDef` is shortened to `RequestTypeDef`. Conflicting `Extra` postfixes are moved to the end (e.g., `CreateDistributionExtraRequestTypeDef` to `CreateDistributionRequestExtraTypeDef`).fixUpdate your type annotations to reflect the new, shorter or reordered TypeDef names. Refer to the specific service's documentation for exact TypeDef names.
affects: mypy-boto3-amplify==1.42.3 and later (generated by mypy-boto3-builder 8.9.0+)
deprecatedThe `sms-voice` service stubs have been removed as the service is no longer supported by AWS. Use `pinpoint-sms-voice` instead.fixMigrate your code to use the `pinpoint-sms-voice` service and install `mypy-boto3-pinpoint-sms-voice` stubs if needed.
affects: mypy-boto3-sms-voice (all versions generated by mypy-boto3-builder 8.11.0+)
gotchaThese packages are PEP 561-compliant stub-only packages. They provide type information for `boto3` but do not contain any runtime code themselves. `mypy` and other type checkers automatically discover them if installed.fixEnsure `mypy-boto3-amplify` is installed in the same environment as your project during development. No runtime changes are needed.
affects: All versions
gotchaWhen using `TYPE_CHECKING` guards for conditional imports, `pylint` may complain about undefined variables. To resolve this, conditionally set the imported types to `object` in the non-`TYPE_CHECKING` branch.fixImplement conditional type assignment: `if TYPE_CHECKING: from mypy_boto3_amplify.client import AmplifyClient else: AmplifyClient = object`
affects: All versions
gotchaWhile type checkers can often infer types, explicit type annotations for `boto3.client()`, `session.client()`, `client.get_waiter()`, and `client.get_paginator()` calls are highly recommended for optimal IDE autocompletion and type validation.fixExplicitly add type hints such as `amplify_client: AmplifyClient = boto3.client('amplify')` to improve developer experience. affects: All versions
Upgrade
Version history
1.43.76latest on PyPI · released Aug 20, 2026
Audit
Dependencies
boto3requiredProvides the AWS SDK runtime library that these stubs annotate.