Skip to main content

Getting Started

Installation

pip install capo-comprehend

Usage

from capo_comprehend import AsyncComprehendClient


async def main():
    async with AsyncComprehendClient() as comprehend:
        # Example: call the batch_detect_dominant_language operation
        response = await comprehend.batch_detect_dominant_language()
        print(response["result_list"])

Pagination

Some operations in this SDK support pagination. If the operation supports pagination it will have an iter_ prefixed method that returns an async iterator.

from capo_comprehend import AsyncComprehendClient


async def main():
    async with AsyncComprehendClient() as comprehend:
        # Example: paginate over list_datasets
        async for item in comprehend.iter_list_datasets():
            print(item)

Error Handling

The SDK raises exceptions for errors returned by the API. Catch them to handle failures gracefully.

from capo_comprehend import AsyncComprehendClient
from capo_comprehend.error import BatchSizeLimitExceededException


async def main():
    async with AsyncComprehendClient() as comprehend:
        try:
            await comprehend.batch_detect_dominant_language()
        except BatchSizeLimitExceededException as e:
            print(f"Error: {e}")
            print(e.data)  # additional error data

Retrying

The SDK retries failed operations automatically. Retry behaviour follows the Smithy specification: errors are retried based on their is_retryable and is_throttling_error attributes. Throttling errors use a longer base delay. Network-level failures (connection errors and timeouts) are also retried. Non-retryable errors, such as client errors without the @retryable trait, are raised immediately without further attempts.

The number of attempts defaults to 3 and can be changed at the client level via retry_max_attempts, or per call via config_overrides.

from capo_comprehend import AsyncComprehendClient


async def main():
    async with AsyncComprehendClient() as comprehend:
        # Default: 3 attempts for every operation
        response = await comprehend.batch_detect_dominant_language()

        # Override per operation
        response = await comprehend.batch_detect_dominant_language(config_overrides={"retry_max_attempts": 5})

        # Disable retries for this call
        response = await comprehend.batch_detect_dominant_language(config_overrides={"retry_max_attempts": 1})

Metadata

Release files for capo-comprehend 0.4.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for capo-comprehend 0.4.0
File Size Uploaded
capo_comprehend-0.4.0.tar.gz 228.7 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for capo-comprehend 0.4.0
File Interpreter ABI Platform
capo_comprehend-0.4.0-py3-none-any.whl Python 3 none any Details

Total release size: 852.3 kB

Release files / capo_comprehend-0.4.0.tar.gz

Download URL capo_comprehend-0.4.0.tar.gz
Size 228.7 kB
Tags Source
SHA-256 checksum
How to use checksums
a19c54ae5583dbc9c7effdc0506727c024b69c299ce63dc76f58962e3e0706f5
BLAKE2b-256 checksum
How to use checksums
5e0013cc07c28274e6b181b00ed6d8fa1a7af993e0079c3f2ea4d58e2ac14b92
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release files / capo_comprehend-0.4.0-py3-none-any.whl

Download URL capo_comprehend-0.4.0-py3-none-any.whl
Size 623.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
70da05d982c53f496dc00f82cea71a63dcae69b1e7ef1674cf80f78bb1358a93
BLAKE2b-256 checksum
How to use checksums
801c4ec3b97410858fdd7dd4464555a6a7e4435f4e5f33a18026080258d4278f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.22 {"installer":{"name":"uv","version":"0.12.22","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

Release history Release notifications | RSS feed

0.10.0

2 release files

0.9.0

2 release files

0.8.0

2 release files

0.7.0

2 release files

0.6.0

2 release files

0.5.0

2 release files

This release

0.4.0 This release

2 release files

0.3.0

2 release files

0.2.0

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page