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.000s · 19.6MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 3.5s · import 0.000s · 20MB
18MB installed
● package 18MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
CURClient
✓ from mypy_boto3_cur import CURClient
✗ from mypy_boto3_cur import CURClient
This quickstart demonstrates how to obtain a type-hinted CUR client and use it to list report definitions. Explicit type annotations on the client and response objects leverage the type stubs for improved autocompletion and static analysis.
import boto3
from mypy_boto3_cur.client import CURClient
from mypy_boto3_cur.type_defs import DescribeReportDefinitionsResponseTypeDef
import os
def get_cur_client() -> CURClient:
"""Returns a typed CUR client."""
session = boto3.Session(region_name=os.environ.get('AWS_REGION', 'us-east-1'))
client: CURClient = session.client("cur")
return client
def list_cur_definitions():
"""Lists Cost and Usage Report definitions with type hints."""
cur_client = get_cur_client()
response: DescribeReportDefinitionsResponseTypeDef = cur_client.describe_report_definitions()
print("Report Definitions:")
for report in response.get("ReportDefinitions", []):
print(f" - {report['ReportName']} (Status: {report['ReportStatus']})")
if __name__ == "__main__":
# Ensure AWS credentials/region are configured in environment or ~/.aws/credentials
# For example: export AWS_REGION='us-east-1'
# To run this, you would typically need 'boto3' installed alongside 'mypy-boto3-cur'
list_cur_definitions()
Debug
Known issues
breakingStarting with `mypy-boto3-builder` version 8.12.0 (which generated this package), support for Python 3.8 was removed across all `mypy-boto3` packages. Ensure your project targets Python 3.9 or newer.fixUpgrade your Python environment to 3.9 or later. The `requires_python` metadata for the package is `>=3.9`.
affects: >=8.12.0 (builder), >=1.42.0 (package)
breakingMajor version `8.9.0` of `mypy-boto3-builder` introduced breaking changes to `TypeDef` naming conventions for method arguments (e.g., `CreateDistributionRequestRequestTypeDef` was shortened to `CreateDistributionRequestTypeDef`) and postfix ordering (`Extra` moved to end). While not specific to CUR, such changes apply generally to generated services.fixReview and update `TypeDef` imports and usage in your codebase to match the new, streamlined naming conventions, especially if upgrading from older `mypy-boto3` versions.
affects: >=8.9.0 (builder)
gotchaFor optimal autocompletion and type inference in some IDEs (e.g., VSCode), it is recommended to explicitly type annotate `boto3.Session().client('service_name')` calls with the `Client` type from the specific `mypy-boto3-<service>` package (e.g., `client: CURClient = session.client('cur')`).fixAdd explicit type hints for your boto3 clients and resources: `client: CURClient = session.client("cur")`. affects: All versions
gotchaThis library provides type stubs for `boto3`. You must have `boto3` itself installed in your environment for the runtime functionality. This `mypy-boto3-cur` package is purely for static type checking.fixEnsure `boto3` is installed: `pip install boto3`.
affects: All versions
Upgrade
Version history
1.43.0latest on PyPI · released Apr 29, 2026
Audit
Dependencies
boto3requiredProvides the underlying AWS SDK for Python; this library provides its type hints.