Install & Compatibility
Where this runs
tested against v1.43.71 · 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 · 198.8MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 3.8s · import 0.000s · 267MB
232MB installed
● package 232MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
ACMClient
✓ from mypy_boto3_acm import ACMClient
✗ from mypy_boto3_acm import ACMClient
This quickstart demonstrates how to use `mypy-boto3-acm` for type-hinting a `boto3` ACM client. It shows importing `ACMClient` and a relevant `TypeDef` for type-checking the response of `list_certificates`. The `TYPE_CHECKING` block ensures these imports are only used by type checkers, avoiding runtime dependencies if desired.
from typing import TYPE_CHECKING
import boto3
if TYPE_CHECKING:
from mypy_boto3_acm.client import ACMClient
from mypy_boto3_acm.type_defs import CertificateSummaryTypeDef
# Example of a TypedDict for a specific API response item
# For a full list, refer to the mypy-boto3-acm documentation
def get_acm_certificates() -> list['CertificateSummaryTypeDef']:
client: ACMClient = boto3.client("acm")
response = client.list_certificates()
certificates = response.get("CertificateSummaryList", [])
return certificates
if __name__ == "__main__":
# Example usage (requires AWS credentials configured)
try:
certs = get_acm_certificates()
if certs:
print(f"Found {len(certs)} ACM certificates:")
for cert in certs:
print(f" ARN: {cert['CertificateArn']}, Domain: {cert.get('DomainName')}")
else:
print("No ACM certificates found.")
except Exception as e:
print(f"Error retrieving certificates: {e}")
Debug
Known issues
breakingPython 3.8 support was removed with `mypy-boto3-builder` version 8.12.0. Users on Python 3.8 must upgrade their Python version to 3.9 or higher to use recent versions of `mypy-boto3-acm`.fixUpgrade your Python environment to 3.9 or newer. Consider using a virtual environment (e.g., `venv` or `conda`) to manage Python versions.
affects: mypy-boto3-builder >= 8.12.0, mypy-boto3-acm >= 1.42.80
breakingThe `mypy-boto3-builder` migrated to PEP 561 compliant packages in version 8.12.0. While this generally improves compatibility with `mypy`, older `mypy` versions or custom `MYPYPATH` configurations might require adjustments.fixEnsure `mypy` is up-to-date. If using custom paths, verify they align with PEP 561's stub resolution order. For `stub-only` packages, they must be installed, not just added to `MYPYPATH`.
affects: mypy-boto3-builder >= 8.12.0, mypy-boto3-acm >= 1.42.80
breakingStarting from `mypy-boto3-builder` version 8.9.0, TypeDef naming conventions for method arguments were shortened (e.g., `CreateDistributionRequestRequestTypeDef` became `CreateDistributionRequestTypeDef`), and conflicting `Extra` postfixes were moved. This can cause type errors if you're explicitly referencing older TypeDef names.fixUpdate your type hints to use the new, shorter TypeDef names. Consult the `mypy-boto3-acm` documentation for the correct TypeDef names for specific API calls.
affects: mypy-boto3-builder >= 8.9.0
gotcha`mypy-boto3-acm` provides only type *stubs*. `boto3` (the actual AWS SDK for Python) must be installed separately for your code to run successfully at runtime.fixAlways ensure `pip install boto3` is executed in your environment alongside `pip install mypy-boto3-acm`.
affects: All
gotchaWhen using `TYPE_CHECKING` blocks for conditional imports, `pylint` may complain about 'undefined variables' in the `else` branch. This is a known issue with `pylint`'s handling of these blocks.fixTo resolve `pylint` warnings, you can explicitly set the types to `object` in the `else` branch of your `TYPE_CHECKING` block (e.g., `else: ACMClient = object`).
affects: All, with Pylint
gotchaPyCharm users might experience slow performance or high CPU usage due to `Literal` overloads in `boto3-stubs`. This is a known issue (PY-40997).fixIt is recommended to use `boto3-stubs-lite` if available for the service (though `mypy-boto3-acm` is a full stub package) or to disable PyCharm's built-in type checker and rely solely on `mypy` or `pyright`.
affects: All, with PyCharm
Upgrade
Version history
1.43.71latest on PyPI · released Aug 13, 2026
Audit
Dependencies
boto3requiredProvides the underlying AWS SDK for Python. `mypy-boto3-acm` only provides type stubs, not the runtime library itself.
mypyoptionalA static type checker for Python, used to leverage the provided type annotations.