Skip to main content

s3cd

S3 Content Delivery tool - CLI for uploading and copying static files/artifacts to S3

PyPI PyPI - Python Version

Coverage Quality Gate Status

Downloads GitLab stars GitLab last commit

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)

Source distribution for s3cd 0.0.7
File Size Uploaded
s3cd-0.0.7.tar.gz 8.2 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for s3cd 0.0.7
File Interpreter ABI Platform
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}

Release history Release notifications | RSS feed

This release

0.0.7 This release

2 release files

0.0.6

2 release files

0.0.5

2 release files

0.0.4

2 release files

0.0.3

2 release files

0.0.2

2 release files

0.0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page