Registry /
type-stubs / mypy-boto3-customer-profiles
Install & Compatibility
Where this runs
tested against v1.43.40 · 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.734s · 52.4MB
glibcpy 3.10–3.910 runs
installs and imports cleanly · install 2.8s · import 0.674s · 53MB
51MB installed
● package 51MB
Code
Verified usage
Verified import paths — ran on the pinned version, not inferred.
CustomerProfilesClient
✓ from mypy_boto3_customer_profiles.client import CustomerProfilesClient
✗ from mypy_boto3_customer_profiles import CustomerProfilesClient
Client types are nested under the 'client' submodule.
ListDomainsOutputTypeDef
✓ from mypy_boto3_customer_profiles.type_defs import ListDomainsOutputTypeDef
✗ from mypy_boto3_customer_profiles import ListDomainsOutputTypeDef
Type definitions (like input/output shapes) are nested under the 'type_defs' submodule.
This quickstart demonstrates how to initialize a `boto3` Customer Profiles client with `mypy-boto3` type annotations and perform a basic operation like listing domains. It shows the correct import paths for client types and type definitions, allowing Mypy to provide comprehensive static analysis for your `boto3` calls.
import boto3
from mypy_boto3_customer_profiles.client import CustomerProfilesClient
from mypy_boto3_customer_profiles.type_defs import ListDomainsOutputTypeDef
# Initialize a boto3 client with type hints
client: CustomerProfilesClient = boto3.client("customer-profiles", region_name="us-east-1")
# Example operation: List Customer Profiles domains
try:
print("Listing Customer Profiles domains...")
# The response object will be typed as ListDomainsOutputTypeDef
response: ListDomainsOutputTypeDef = client.list_domains()
for domain in response.get("DomainList", []):
print(f" Domain ARN: {domain.get('DomainArn')}, Name: {domain.get('DomainName')}")
print("Successfully listed domains.")
except Exception as e:
print(f"Error listing domains: {e}")
# Example of creating a new profile (requires appropriate permissions)
# profile_data = {
# "DomainName": "your_domain_name",
# "FirstName": "John",
# "LastName": "Doe",
# "EmailAddress": "john.doe@example.com"
# }
# try:
# # You would use a specific type definition for the input here, e.g., CreateProfileRequestRequestTypeDef
# # client.create_profile(**profile_data)
# print("Profile creation commented out, uncomment to run.")
# except client.exceptions.ResourceNotFoundException:
# print("Domain not found. Ensure 'your_domain_name' exists.")
# except Exception as e:
# print(f"Error creating profile: {e}")
Debug
Known issues
gotchaThis package provides *only* type stubs. You must install `boto3` separately (e.g., `pip install boto3`) for your code to run at runtime. `mypy-boto3-customer-profiles` is only for static analysis.fixEnsure `boto3` is included in your project's dependencies alongside `mypy-boto3-customer-profiles`.
affects: All versions
breakingPython 3.8 is no longer supported. This project now requires Python >=3.9 for all packages.fixUpgrade your Python environment to 3.9 or newer.
affects: 8.12.0 and newer
breakingPackages migrated to PEP 561. This change improves how type checkers discover stubs but might require updates if you had custom Mypy configurations or explicit stub paths.fixEnsure your Mypy configuration is up-to-date. Mypy should automatically find the stubs without special `MYPYPATH` settings.
affects: 8.12.0 and newer
gotchaType definition names have changed in some cases (e.g., `CreateDistributionRequestRequestTypeDef` to `CreateDistributionRequestTypeDef`), and `Extra` postfixes were reordered. While `customer-profiles` might not be heavily impacted, be aware of potential breaking changes to TypeDef names.fixConsult the specific `mypy-boto3` service documentation or release notes if you encounter `NameError` or type mismatch issues with complex TypeDefs after upgrading.
affects: 8.9.0 and newer
gotchaThe `sms-voice` service was removed and replaced by `pinpoint-sms-voice` in version 8.11.0. While not directly affecting `customer-profiles`, this highlights a pattern where AWS service names/support can change, leading to breaking changes in generated stubs.fixAlways check release notes for specific service changes. If migrating to a new AWS service or if a service appears missing, verify its official `boto3` name.
affects: 8.11.0 and newer (for affected services)
Upgrade
Version history
1.43.40latest on PyPI · released Jul 3, 2026
Audit
Dependencies
boto3requiredRequired for runtime execution; this package provides type stubs for boto3's API.
typing-extensionsoptionalMay be a dependency for specific type features or older Python versions, though typically not needed for Python 3.9+ due to PEP 585/604.