Skip to main content

acme-s3

Efficient operations on S3 with retries, progress tracking and parallel processing

Problem

Interactive with boto3 client can at times lack some features. This library aims to provide a more user-friendly interface to S3 operations.

Features

  • Multithreaded opeations for opeations on multiple files
  • Progress tracking for all operations
  • Retries for recoverable errors
  • Benchmarking tool to test the performance of the operations
  • Graceful error handling with useful messages

Dev environment

The project comes with a python development environment. To generate it, after checking out the repo run:

chmod +x create_env.sh

Then to generate the environment (or update it to latest version based on state of uv.lock), run:

./create_env.sh

This will generate a new python virtual env under .venv directory. You can activate it via:

source .venv/bin/activate

If you are using VSCode, set to use this env via Python: Select Interpreter command.

Example usage

as3 bench --bucket $TEST_AWS_BUCKET_NAME --prefix s3-benchmark

Project template

This project has been setup with acme-project-create, a python code template library.

Required setup post use

  • Enable GitHub Pages to be published via GitHub Actions by going to Settings-->Pages-->Source

  • Create release environment for GitHub Actions to enable uploads of the library to PyPi

  • Setup auth to PyPI for the GitHub Action implemented in .github/workflows/release.yml via Trusted Publisher uv publish doc

  • Once you create the python environment for the first time add the uv.lock file that will be created in project directory to the source control and update it each time environment is rebuilt

  • In order not to replicate documentation in docs/docs/index.md file and README.md in root of the project setup a symlink from README.md file to the index.md file. To do this, from docs/docs dir run:

    ln -sf ../../README.md index.md

Download files

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

Source Distribution

acme_s3-0.0.2.tar.gz (7.9 kB view details)

Uploaded Source

Built Distribution

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

acme_s3-0.0.2-py3-none-any.whl (7.3 kB view details)

Uploaded Python 3

File details

Details for the file acme_s3-0.0.2.tar.gz.

File metadata

  • Download URL: acme_s3-0.0.2.tar.gz
  • Upload date:
  • Size: 7.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.5.30

File hashes

Hashes for acme_s3-0.0.2.tar.gz
Algorithm Hash digest
SHA256 144314ce79b080dd2612d9298b462f5bd0cd18bf0020c2b66bfa564b1acb8cfe
MD5 7e209865329271e777b340d106b70570
BLAKE2b-256 a930f75fcc4e78e7c11fd3179ca8354aef0ecbc7b6782c6ff9259548d3101bc3

See more details on using hashes here.

File details

Details for the file acme_s3-0.0.2-py3-none-any.whl.

File metadata

  • Download URL: acme_s3-0.0.2-py3-none-any.whl
  • Upload date:
  • Size: 7.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.5.30

File hashes

Hashes for acme_s3-0.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 3e3f4a47a25c54a2f35974ca2ff5c128beab2ae39ed55846afc418786e68693c
MD5 6f452bc8e730124a7ecabe6d87b7e2f0
BLAKE2b-256 ecc2590ed93e52320a6b6f8508b7d9f28728312c8154af973dff7056bd6f1f6b

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