🍺 BREW Explorer

← all formulae

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.

Categories

Alternatives

boto3 aws-sdk-go aws-sdk-rust
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

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."
}