Skip to main content

S3 Content Delivery tool

Project description

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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

s3cd-0.0.4.tar.gz (8.1 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

s3cd-0.0.4-py3-none-any.whl (9.1 kB view details)

Uploaded Python 3

File details

Details for the file s3cd-0.0.4.tar.gz.

File metadata

  • Download URL: s3cd-0.0.4.tar.gz
  • Upload date:
  • Size: 8.1 kB
  • Tags: Source
  • Uploaded using 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}

File hashes

Hashes for s3cd-0.0.4.tar.gz
Algorithm Hash digest
SHA256 87ac35034b11e121f8ecf6a99f35d946230da931181af10f1180c26d44be6f98
MD5 e52ceb6446be669599746ab7e0530145
BLAKE2b-256 1e68b61ff3dfb4f0fc5a79e4c68bbe67aa333394a5f8c059923bb46a27940619

See more details on using hashes here.

File details

Details for the file s3cd-0.0.4-py3-none-any.whl.

File metadata

  • Download URL: s3cd-0.0.4-py3-none-any.whl
  • Upload date:
  • Size: 9.1 kB
  • Tags: Python 3
  • Uploaded using 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}

File hashes

Hashes for s3cd-0.0.4-py3-none-any.whl
Algorithm Hash digest
SHA256 3e8e159f126bd3f5b7151bbef5b88b73cb29296f5fac91a05af63e7dc17b18ed
MD5 1d9a84b0be43506d21fc1930dcff05c3
BLAKE2b-256 781b052943c8f3fef9d8e96ddf3cb466c98f5014738a30a86e825f2d5dbf975d

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page