Python module to upload objects to an S3 bucket.
Project description
Versions Supported
Language Stats
Repo Stats
Activity
Build Status
PyS3Uploader
Python module to upload an entire directory to an S3 bucket.
Installation
pip install PyS3Uploader
Usage
Upload objects in parallel
import s3
if __name__ == '__main__':
wrapper = s3.Uploader(
bucket_name="BUCKET_NAME",
upload_dir="FULL_PATH_TO_UPLOAD",
exclude_prefix="PART_OF_UPLOAD_DIR_TO_EXCLUDE"
)
wrapper.run_in_parallel()
Upload objects in sequence
import s3
if __name__ == '__main__':
wrapper = s3.Uploader(
bucket_name="BUCKET_NAME",
upload_dir="FULL_PATH_TO_UPLOAD",
exclude_prefix="PART_OF_UPLOAD_DIR_TO_EXCLUDE"
)
wrapper.run()
Mandatory arg
- bucket_name - Name of the s3 bucket.
- upload_dir - Directory to upload.
Optional kwargs
- s3_prefix - S3 object prefix for each file. Defaults to
None - exclude_prefix - Path in
upload_dirthat has to be excluded in object keys. Defaults toNone - skip_dot_files - Boolean flag to skip dot files. Defaults to
True - overwrite - Boolean flag to overwrite files present in S3. Defaults to
False - file_exclusion - Sequence of files to exclude during upload. Defaults to
None - folder_exclusion - Sequence of directories to exclude during upload. Defaults to
None - logger - Bring your own custom pre-configured logger. Defaults to on-screen logging.
- env_file – Path to a
.envfile for loading environment variables. Defaults to scanning the current directory. - region_name - AWS region name. Defaults to the env var
AWS_DEFAULT_REGION - profile_name - AWS profile name. Defaults to the env var
PROFILE_NAME - aws_access_key_id - AWS access key ID. Defaults to the env var
AWS_ACCESS_KEY_ID - aws_secret_access_key - AWS secret access key. Defaults to the env var
AWS_SECRET_ACCESS_KEY
AWS values are loaded from env vars or the default config at
~/.aws/config/~/.aws/credentials
Coding Standards
Docstring format: Google
Styling conventions: PEP 8
Clean code with pre-commit hooks: flake8 and
isort
Release Notes
Requirement
python -m pip install gitverse
Usage
gitverse-release reverse -f release_notes.rst -t 'Release Notes'
Linting
pre-commit will ensure linting, run pytest, generate runbook & release notes, and validate hyperlinks in ALL
markdown files (including Wiki pages)
Requirement
pip install sphinx==5.1.1 pre-commit recommonmark
Usage
pre-commit run --all-files
Pypi Package
https://pypi.org/project/PyS3Uploader/
Runbook
https://thevickypedia.github.io/PyS3Uploader/
License & copyright
© Vignesh Rao
Licensed under the MIT License
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file pys3uploader-0.2.4a1-py3-none-any.whl.
File metadata
- Download URL: pys3uploader-0.2.4a1-py3-none-any.whl
- Upload date:
- Size: 13.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.11
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c798f056bb516d1da7d9f80f2844a8f1b4f695deccd8c5f3da5923df489bb75b
|
|
| MD5 |
1b8f43e902513fe92585d36100adea39
|
|
| BLAKE2b-256 |
7bb96b3750f83aa719edf09241df04ce709f68424c7d913e678278bb6bb85617
|