Type annotations for boto3 MarketplaceCommerceAnalytics
This package provides static type annotations for the `boto3` Marketplace Commerce Analytics service, enhancing developer experience by enabling IDE autocompletion, type checking with `mypy` or `pyright`, and early detection of potential API usage errors. It is generated by `mypy-boto3-builder 8.12.0` and currently supports `boto3` version `1.42.3`.
Warnings
- breaking Python 3.8 support has been removed. All `mypy-boto3` packages, including `mypy-boto3-marketplacecommerceanalytics`, now require Python 3.9 or newer.
- breaking The `mypy-boto3-builder` migrated to PEP 561 compliant packages. While direct `from mypy_boto3_...` imports should generally be unaffected, this change might influence advanced `mypy` configurations or custom import resolvers.
- breaking TypeDef naming conventions were changed (e.g., `CreateDistributionRequestRequestTypeDef` became `CreateDistributionRequestTypeDef`). If you previously relied on auto-generated or inferred `TypeDef` names, they might have changed.
- gotcha For the best autocompletion and static analysis experience, always explicitly type-annotate your `boto3` client variables with the corresponding `mypy-boto3` client type (e.g., `client: MarketplaceCommerceAnalyticsClient = session.client("marketplacecommerceanalytics")`).
- gotcha The `mypy-boto3-*` packages are generated against specific `boto3` versions. Using a `mypy-boto3` stub package with a significantly different `boto3` runtime version can lead to mismatches in type hints, missing attributes, or incorrect API signatures.
Install
-
pip install mypy-boto3-marketplacecommerceanalytics
Imports
- MarketplaceCommerceAnalyticsClient
from mypy_boto3_marketplacecommerceanalytics.client import MarketplaceCommerceAnalyticsClient
- GenerateDataSetRequestTypeDef
from mypy_boto3_marketplacecommerceanalytics.type_defs import GenerateDataSetRequestTypeDef
- GenerateDataSetResponseTypeDef
from mypy_boto3_marketplacecommerceanalytics.type_defs import GenerateDataSetResponseTypeDef
Quickstart
import os
from datetime import datetime
import boto3
from mypy_boto3_marketplacecommerceanalytics.client import MarketplaceCommerceAnalyticsClient
from mypy_boto3_marketplacecommerceanalytics.type_defs import GenerateDataSetRequestTypeDef, GenerateDataSetResponseTypeDef
def get_marketplace_analytics_client() -> MarketplaceCommerceAnalyticsClient:
"""Returns a type-annotated MarketplaceCommerceAnalytics client."""
session = boto3.Session(
aws_access_key_id=os.environ.get('AWS_ACCESS_KEY_ID', 'DUMMY_KEY'),
aws_secret_access_key=os.environ.get('AWS_SECRET_ACCESS_KEY', 'DUMMY_SECRET'),
region_name=os.environ.get('AWS_DEFAULT_REGION', 'us-east-1')
)
return session.client("marketplacecommerceanalytics")
if __name__ == "__main__":
client: MarketplaceCommerceAnalyticsClient = get_marketplace_analytics_client()
request_params: GenerateDataSetRequestTypeDef = {
"DataSetType": "example-data-set-type",
"DataSetPublicationDate": datetime(2023, 1, 1),
"RoleNameArn": "arn:aws:iam::123456789012:role/MyMarketplaceAnalyticsRole",
"DestinationS3BucketName": "my-marketplace-data-bucket",
"DestinationS3Prefix": "marketplace-analytics/",
"SnsTopicArn": "arn:aws:sns:us-east-1:123456789012:MyMarketplaceAnalyticsTopic",
"CustomerDefinedValues": {"key1": "value1"}
}
try:
response: GenerateDataSetResponseTypeDef = client.generate_data_set(**request_params)
print(f"Data set generation started. Status: {response.get('DataSetRequestId')}")
except client.exceptions.ClientError as e:
print(f"Error generating data set: {e}")
except Exception as e:
print(f"An unexpected error occurred: {e}")