aws-c-s3
brew install aws-c-s3
v0.12.6
Apache-2.0
C99 library for asynchronous AWS S3 client with automatic request splitting and parallel transfers.
Why you might care
Optimized for high-throughput S3 operations with automatic request parallelization, chunk-level retries, and connection pooling. Primary dependency for AWS SDK C runtime; use when building C applications that need efficient bulk S3 uploads/downloads or when other SDKs are insufficient.
6.4k
30-day installs · #492
20.7k
90-day · #503
77.7k
365-day · #502
167
★ GitHub stars · updated 1d ago
Runtime dependencies
Build dependencies
GitHub topics
aws-sdk
hacktoberfest
Links
- https://github.com/awslabs/aws-c-s3
- GitHub: awslabs/aws-c-s3
- Brew formula source: Formula/a/aws-c-s3.rb
Blurb generated by claude-haiku-4-5 on today.
Raw metadata
{
"aliases": [],
"alternatives": [
"boto3",
"aws-sdk-go",
"aws-sdk-rust"
],
"build_dependencies": [
"cmake"
],
"categories": [
"library",
"networking",
"sdk"
],
"caveats": null,
"conflicts_with": [],
"dependencies": [
"aws-c-auth",
"aws-c-cal",
"aws-c-common",
"aws-c-http",
"aws-c-io",
"aws-checksums"
],
"deprecated": 0,
"deprecation_reason": null,
"desc": "C99 library implementation for communicating with the S3 service",
"disable_reason": null,
"disabled": 0,
"enrichment_fetched_at": "2026-06-20T23:35:40+00:00",
"first_seen": "2026-06-20T23:34:18+00:00",
"full_name": "aws-c-s3",
"github_default_branch": "main",
"github_last_commit_at": "2026-06-19T22:56:35Z",
"github_readme_excerpt": "## AWS C S3\n\nThe AWS-C-S3 library is an asynchronous AWS S3 client focused on maximizing throughput and network utilization.\n\n### Key features:\n\n* **Automatic Request Splitting**: Improves throughput by automatically splitting the request into part-sized chunks and performing parallel uploads/downloads of these chunks over multiple connections. There\u0027s a cap on the throughput of single S3 connection, the only way to go faster is multiple parallel connections.\n* **Automatic Retries**: Increases resilience by retrying individual failed chunks of a file transfer, eliminating the need to restart transfers from scratch after an intermittent error.\n* **DNS Load Balancing**: DNS resolver continuously harvests Amazon S3 IP addresses. When load is spread across the S3 fleet, overall throughput more reliable than if all connections are going to a single IP.\n* **Advanced Network Management**: The client incorporates automatic request parallelization, effective timeouts and retries, and efficient connection reuse. This approach helps to maximize throughput and network utilization, and to avoid network overloads.\n* **Thread Pools and Async I/O**: Avoids bottlenecks associated with single-thread processing.\n* **Parallel Reads**: When uploading a large file from disk, reads from multiple parts of the file in parallel. This is faster than reading the file sequentially from beginning to end.\n\n### Documentation\n\n* [GetObject](docs/GetObject.md): A visual representation of the GetObject request flow.\n* [Memory Aware Requests Execution](docs/memory_aware_request_execution.md): An in-depth guide on optimizing memory usage during request executions.\n\n### Configuration\n\n#### Environment Variables\n\n1. **Memory Limit - `AWS_CRT_S3_MEMORY_LIMIT_IN_GIB`**\n\n The S3 client uses a buffer pool to manage memory for concurrent transfers. \n\n Example Usage:\n\n ```bash\n export AWS_CRT_S3_MEMORY_LIMIT_IN_GIB=4 # 4 GiB limit\n ```\n\n **Default Behavior**:\n When nothing is set, the client set",
"github_repo": "awslabs/aws-c-s3",
"github_stars": 167,
"github_topics": [
"aws-sdk",
"hacktoberfest"
],
"homepage": "https://github.com/awslabs/aws-c-s3",
"homepage_og_description": null,
"homepage_og_image": null,
"homepage_title": null,
"installs_30d": 6388,
"installs_365d": 77674,
"installs_90d": 20743,
"keg_only": 0,
"keg_only_reason": null,
"last_seen": "2026-06-20T23:34:18+00:00",
"license": "Apache-2.0",
"llm_generated_at": "2026-06-20T23:45:12+00:00",
"llm_model": "claude-haiku-4-5",
"name": "aws-c-s3",
"oldnames": [],
"one_liner": "C99 library for asynchronous AWS S3 client with automatic request splitting and parallel transfers.",
"optional_dependencies": [],
"rank_30d": 492,
"rank_365d": 502,
"rank_90d": 503,
"raw_hash": "871b0e616b49950d",
"recommended_dependencies": [],
"revision": 0,
"ruby_source_path": "Formula/a/aws-c-s3.rb",
"tap": "homebrew/core",
"test_dependencies": [],
"uses_from_macos": [],
"version_head": null,
"version_stable": "0.12.6",
"versioned_formulae": [],
"why_use_this": "Optimized for high-throughput S3 operations with automatic request parallelization, chunk-level retries, and connection pooling. Primary dependency for AWS SDK C runtime; use when building C applications that need efficient bulk S3 uploads/downloads or when other SDKs are insufficient."
}