finds.dev← search

// the find

s3tools/s3cmd

★ 4,910 · Python · GPL-2.0 · updated Oct 2025

Official s3cmd repo -- Command line tool for managing S3 compatible storage services (including Amazon S3 and CloudFront).

s3cmd is a command-line client for S3 and S3-compatible storage (AWS, GCS, DreamObjects, MinIO, etc.), covering bucket/object management, sync, multipart uploads, and ACL/metadata handling. It's aimed at people who want a scriptable CLI for backups and automation rather than a full SDK or GUI.

Been around since 2008 and it shows in the breadth of edge cases handled — bucket vs FQDN naming, ACL management, multipart uploads, incremental sync. Works against any S3-compatible endpoint, not just AWS, which makes it useful for MinIO/DreamHost-style setups. The sync/put/get semantics around trailing slashes are well-documented and consistent, which matters a lot once you're scripting backups.

Single-threaded transfers — no parallel multipart or concurrent object transfer, so large recursive syncs are slow compared to aws-cli or rclone. Default behavior on transfer failure is to log to stderr and keep going, returning a generic partial-success exit code; you have to know to pass --stop-on-error or you can silently miss failed uploads in a cron job. Support channels are SourceForge mailing lists, which tells you the maintenance model hasn't modernized even as the code has picked up Python 3 support. It's a CLI, not a library — if you want S3 operations inside a Python app you're shelling out or using boto3 anyway.

View on GitHub → Homepage ↗

// 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 →