s3cd
S3 Content Delivery tool - CLI for uploading and copying static files/artifacts to S3
Features
- 📦 Upload directories recursively to S3 buckets maintaining structure
- 🔄 Copy objects between S3 buckets without local download (server-side copy)
- 🚀 Multipart upload support for large files
- 📝 Automatic __info.json generation with GitLab CI/CD metadata
- 🔐 Flexible authentication via environment variables or CLI flags
- 🌐 Support for S3-compatible storage (MinIO, Yandex Object Storage, etc.)
- 🎯 Path-style and virtual-hosted-style S3 addressing
Quick Start
export CDS_RELEASE_ID=$(uuidgen --time-v7)
export CDS_S3_ACCESS_KEY_ID="your-access-key"
export CDS_S3_SECRET_ACCESS_KEY="your-secret-key"
export CDS_S3_BUCKET="content-delivery-storage"
uvx s3cd upload ./dist
Environment
# Meta
export CDS_RELEASE_ID=$(uuidgen --time-v7)
# S3
export CDS_S3_ACCESS_KEY_ID="your-access-key"
export CDS_S3_SECRET_ACCESS_KEY="your-secret-key"
export CDS_S3_REGION="us-east-1"
export CDS_S3_ENDPOINT="https://s3.amazonaws.com"
export CDS_S3_ADDRESSING_STYLE="virtual" # or "path"
Contributing
Issue Tracker: https://gitlab.com/rocshers/python/s3cd/-/issues
Source Code: https://gitlab.com/rocshers/python/s3cd
Metadata
Release files for s3cd 0.0.7
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| s3cd-0.0.7.tar.gz | 8.2 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| s3cd-0.0.7-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 17.5 kB
Release files / s3cd-0.0.7.tar.gz
| Download URL | s3cd-0.0.7.tar.gz |
|---|---|
| Size | 8.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
a2b02aad8c1f43d356db60da4dd56d7a8467a1f945c2d3466db3413fc9ead84f
|
|
BLAKE2b-256 checksum How to use checksums |
7249fee502ff107fe98a3bf4d7df60982d723fbc9dc2c734988a1e4070cfe1ad
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|
Release files / s3cd-0.0.7-py3-none-any.whl
| Download URL | s3cd-0.0.7-py3-none-any.whl |
|---|---|
| Size | 9.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
438a064e61bbe46f8199a50d6d6b8c2ccfdfdb4b3d5831d3b295e511f39fe89a
|
|
BLAKE2b-256 checksum How to use checksums |
5557774d34fe0d3e5d6f135ab961a8dab5532f84f8b6ac6cc179090f515b882e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
uv/0.9.26 {"installer":{"name":"uv","version":"0.9.26","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Debian GNU/Linux","version":"13","id":"trixie","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
|