s3z 0.1.0-rc.2

S3 ops, but fearlessly fast!
Documentation

A lightweight, high-throughput S3 client built on raw HTTP + SigV4 signing. No AWS SDK — just reqwest, aws-sigv4, and tokio.

Install

cargo add s3z

Quick start

use s3z::{Config, S3Client, UploadRequest, auth::CredentialSource};

#[tokio::main]
async fn main() -> s3z::error::Result<()> {
    let client = S3Client::new(
        Config::new("us-east-1", CredentialSource::Env),
    ).await?;

    let result = client
        .upload(UploadRequest::new(
            vec!["./data".into()],
            "my-bucket",
            "uploads/",
        ))
        .await?;

    for f in &result.files {
        println!("{} → s3://{} ({} parts)", f.source.display(), f.key, f.parts);
    }

    Ok(())
}

S3-compatible backends

use s3z::{Config, S3Client, auth::CredentialSource};

let config = Config::with_endpoint(
    "us-east-1",
    CredentialSource::Static {
        access_key: "minioadmin".into(),
        secret_key: "minioadmin".into(),
    },
    "http://localhost:9000", // MinIO, SeaweedFS, Garage, etc.
);

License

MIT