Skip to main content

Python SDK for Amazon EC2.

Project description

Getting Started

Installation

pip install capo-ec2

Usage

from capo_ec2 import AsyncEC2Client


async def main():
    async with AsyncEC2Client() as s3:
        # Example: call the accept_address_transfer operation
        response = await s3.accept_address_transfer()
        print(response["address_transfer"])

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_ec2 import AsyncEC2Client


async def main():
    async with AsyncEC2Client() as s3:
        # Example: paginate over describe_addresses_attribute
        async for item in s3.iter_describe_addresses_attribute():
            print(item)

Waiters

Waiters poll an operation until a resource reaches a desired state. If the operation supports waiters it will have a wait_until_ prefixed method.

from capo_ec2 import AsyncEC2Client


async def main():
    async with AsyncEC2Client() as s3:
        # Example: wait for vpc_peering_connection_exists
        await s3.wait_until_vpc_peering_connection_exists(max_wait_time=300)

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_ec2 import AsyncEC2Client


async def main():
    async with AsyncEC2Client() as s3:
        # Default: 3 attempts for every operation
        response = await s3.accept_address_transfer()

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

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

capo_ec2-0.5.0.tar.gz (2.0 MB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

capo_ec2-0.5.0-py3-none-any.whl (5.6 MB view details)

Uploaded Python 3

File details

Details for the file capo_ec2-0.5.0.tar.gz.

File metadata

  • Download URL: capo_ec2-0.5.0.tar.gz
  • Upload date:
  • Size: 2.0 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","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}

File hashes

Hashes for capo_ec2-0.5.0.tar.gz
Algorithm Hash digest
SHA256 242609544b2a0a3828e87f80b957bb66a65c73ed704e0f83aa39e605335cfcf3
MD5 9d3e5c4872ef8b827cbdaf9c56fa2129
BLAKE2b-256 2c0ec08939ddc831c03851fbc262a257855768c1295dff8dadf4194d5a1043d5

See more details on using hashes here.

File details

Details for the file capo_ec2-0.5.0-py3-none-any.whl.

File metadata

  • Download URL: capo_ec2-0.5.0-py3-none-any.whl
  • Upload date:
  • Size: 5.6 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.11.32 {"installer":{"name":"uv","version":"0.11.32","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}

File hashes

Hashes for capo_ec2-0.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 17b22f26100615a7fb93e7702715f29f87a2d43d29e8ab1d29b8df22341c4179
MD5 58e1c3619c141c1b6d4d67bcdfbd09d1
BLAKE2b-256 e760855f089f1860a83102cf19bc3795d78bbd30660e16130259d09b41148fa4

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page