Skip to main content

Getting Started

Installation

pip install capo-controltower

Usage

from capo_controltower import AsyncControlTowerClient


async def main():
    async with AsyncControlTowerClient() as control_tower:
        # Example: call the disable_control operation
        response = await control_tower.disable_control()
        print(response["operation_identifier"])

Error Handling

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

from capo_controltower import AsyncControlTowerClient
from capo_controltower.error import AccessDeniedException


async def main():
    async with AsyncControlTowerClient() as control_tower:
        try:
            await control_tower.disable_control()
        except AccessDeniedException 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_controltower import AsyncControlTowerClient


async def main():
    async with AsyncControlTowerClient() as control_tower:
        # Default: 3 attempts for every operation
        response = await control_tower.disable_control()

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

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

Release files for capo-controltower 0.1.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-controltower 0.1.0
File Size Uploaded
capo_controltower-0.1.0.tar.gz 87.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for capo-controltower 0.1.0
File Interpreter ABI Platform
capo_controltower-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 311.0 kB

Release files / capo_controltower-0.1.0.tar.gz

Download URL capo_controltower-0.1.0.tar.gz
Size 87.2 kB
Tags Source
SHA-256 checksum
How to use checksums
b3b176906c30dc9b946dc272f6936d7c9a5194e5ee2d008183053e6c5023bf1a
BLAKE2b-256 checksum
How to use checksums
79e827d105023c501ae1094dcebff1858c3dda0b75c5033322f2177d4c35f3c7
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","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_controltower-0.1.0-py3-none-any.whl

Download URL capo_controltower-0.1.0-py3-none-any.whl
Size 223.8 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1079b35052fa6eb18b42abb35c623e6f53e5357ebaee2198dea34bfa2a19971e
BLAKE2b-256 checksum
How to use checksums
692e0617451fc1babb2d67ed668df9a1d8447ce21f3233abe1b2b8d1b3f5b4da
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via uv/0.12.19 {"installer":{"name":"uv","version":"0.12.19","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

This release

0.1.0 This release

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