finds.dev← search

// the find

durch/rust-s3

★ 668 · Rust · MIT · updated Jun 2026

Rust library for interfacing with S3 API compatible services

rust-s3 is a Rust library for talking to Amazon S3 and compatible APIs (Minio, R2, Backblaze B2, GCS, etc.). It covers the common operations — get, put, delete, list, presign, tagging — across tokio, async-std, and sync runtimes. Aimed at Rust developers who need S3 access without pulling in the full AWS SDK.

1. Runtime flexibility is genuinely useful: you can use tokio, async-std, or blocking sync from the same API surface via Cargo features, which matters in environments where you don't control the runtime. 2. Presign support for all four HTTP methods (GET, PUT, POST, DELETE) is complete and correctly implemented — most thin S3 wrappers only do GET presign. 3. The workspace layout is clean: aws-creds, aws-region, and s3 are separate crates with independent versioning, so you can take just the credential handling if that's all you need. 4. Automatic one-retry on all requests is a reasonable default that saves adopters from writing boilerplate retry logic for transient failures.

1. Multipart upload is absent. For anything over a few hundred MB this is a real gap — you'll have to implement chunked upload yourself or switch to the AWS SDK. 2. Maintenance cadence is explicitly volunteer-driven and self-described as oscillating; the README asks for BTC donations to sustain it. That's honest, but it's a risk signal for production use. 3. The feature flag matrix is large and confusing — there are combinations of runtime × TLS backend × blocking that are easy to misconfigure, and the README doesn't clearly warn which combinations are mutually exclusive. 4. Error handling is shallow: HTTP error bodies from S3 often contain structured XML with actionable error codes, but the library doesn't parse them into typed errors by default (requires the `fail-on-err` feature, and even then you lose the body detail).

View on GitHub →

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →