Capo-S3 0.30.0 is a typed Python SDK for Amazon S3 and compatible services, including RustFS, MinIO, and Cloudflare R2. It offers matching asynchronous and synchronous clients; the async client supports asyncio and trio. Typed request and response fields are intended to make S3 operations easier to work with in editors and static type checkers. The project belongs to capo, a community-built alternative to boto3 and aioboto3 that uses its own HTTP stack and is generated from official AWS Smithy models.
The SDK covers routine bucket and object operations, streaming uploads and downloads, object metadata, versioned or byte-range retrieval, paginated listings, waiters, and presigned URLs and POST forms. A transfer manager handles large-file multipart transfers, with configurable thresholds and part sizes, per-transfer settings, and progress events; interrupted or failed multipart uploads are aborted when the upload context exits. It also provides S3-specific error classes and configurable retries for throttling, server failures, and network errors. Examples show how to configure custom endpoints and path-style addressing for compatible storage, stream response bodies, and tune retry attempts globally or for an individual call. The package is installed with pip install capo-s3.
Summary generated by AI from the linked article. hn.today is not affiliated with Hacker News or Y Combinator.