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
releaseenvironment for GitHub Actions to enable uploads of the library to PyPi -
Setup auth to PyPI for the GitHub Action implemented in
.github/workflows/release.ymlvia Trusted Publisheruv publishdoc -
Once you create the python environment for the first time add the
uv.lockfile 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.mdfile andREADME.mdin root of the project setup a symlink fromREADME.mdfile to theindex.mdfile. To do this, fromdocs/docsdir run:ln -sf ../../README.md index.md
Metadata
Release files for acme_s3 0.0.5
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| acme_s3-0.0.5.tar.gz | 8.1 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| acme_s3-0.0.5-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 15.6 kB
Release files / acme_s3-0.0.5.tar.gz
| Download URL | acme_s3-0.0.5.tar.gz |
|---|---|
| Size | 8.1 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
264f5717d831557028d81be318f64b198ef6c42cb9441c7e52bcad8ed6f4f994
|
|
BLAKE2b-256 checksum How to use checksums |
e1ce9de51affc5abf2fd43ef84e1df3cf2efb24bffe102bf50107636cc682f52
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.6.2
|
Release files / acme_s3-0.0.5-py3-none-any.whl
| Download URL | acme_s3-0.0.5-py3-none-any.whl |
|---|---|
| Size | 7.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
ff54c4e6072a7d45d761a4567319ac079a33afe8baea6208f1e156851d6460b0
|
|
BLAKE2b-256 checksum How to use checksums |
12eefeb298cf1c8e4a1e447e809f5c5ab12656ce880f9865c6f442236191f14c
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
uv/0.6.2
|
Security for acme_s3 0.0.5
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.