Skip to main content

s3push

Codacy Badge Build Status PyPI version License: MIT

Upload whole directories or distinct files to AWS S3 using s3push in command line. Extensive support for different credential sources.

Project goal

This tool facilitates painless upload of directories to AWS S3. The initial goal was to provide developers with a simple tool that allows them to upload whole directories to S3 with a minimal effort. Initial project vision also contained an option to create and configure a fresh S3-hosted website from scratch.

However, the tool has been written after a very quick research and, as a result, suffered from the "Not invented here" syndrome. After a bit more careful research it was discovered that not only the other directory uploading tools exist, but also that there are far more superior instruments that also allow configuration of buckets and CloudFront CDN (i.e., s3cmd). See the rough feature set comparison in the docs.

As a project's post-mortem, it can be concluded that a proper research must be performed prior to the start of development. For example, before developing a new library or a tool it may be very useful to make a simple feature set comparison.

The project will, however, continue to exist as a demonstration of continuous delivery setup for a python package development. The environment for the project is designed to support fully automated releases and testing.

Installation

Recommended installation method is via Pipenv:

pipenv install s3push

Installing via Pip instead of Pipenv:

pip install s3push

Usage

Publish a directory with default credentials

s3push ~/my-website/ example.com

Publish a file using default credentials

s3push ~/my-website/index.html example.com

Publish with provided key pair

s3push ~/my-website/ example.com -k XXXXXXXXXXXXXXXXXXXX -s xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx

Publish with saved profile by providing its name

s3push ~/my-website/ example.com -p my-deployment-profile

Note: see all possible options for specifying credentials below.

Priority of credentials providers

  1. Passing credentials as optional arguments: -k AWS_ACCESS_KEY_ID, -s AAWS_SECRET_ACCESS_KEY.
  2. Passing profile name of pre-configured credentials as optional argument: -p PROFILE_NAME.
  3. Environment variables, as listed in the boto3 guide.
  4. Default credentials in the shared credential file (~/.aws/credentials).
  5. Default credentials in the AWS config file (~/.aws/config).
  6. Boto2 config file (/etc/boto.cfg and ~/.boto).

Continuous Delivery

Branch Travis-CI Status CircleCI Status
master Build Status CircleCI
dev Build Status CircleCI

Metadata

Release files for s3push 2019.10.14

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for s3push 2019.10.14
File Size Uploaded
s3push-2019.10.14.tar.gz 5.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for s3push 2019.10.14
File Interpreter ABI Platform
s3push-2019.10.14-py3-none-any.whl Python 3 none any Details

Total release size: 11.1 kB

Release files / s3push-2019.10.14.tar.gz

Download URL s3push-2019.10.14.tar.gz
Size 5.1 kB
Tags Source
SHA-256 checksum
How to use checksums
58306407c081f07dae1d6c4010cec60d3e50c1b1acc242755b66a5ee0db6c2d9
BLAKE2b-256 checksum
How to use checksums
83a951d740705407524e5ec4d18e32d2dc1c02ece9d837a1177351a0bf570ff0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7

Release files / s3push-2019.10.14-py3-none-any.whl

Download URL s3push-2019.10.14-py3-none-any.whl
Size 6.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6dbed5196fc53d2d4251863d537e0ef7abf1ad9739d56ff0a85a323a44cbda5e
BLAKE2b-256 checksum
How to use checksums
9dfc200d7c9d4fceaceb212240743a52dee7daeea7f740e9199f7121095a80f9
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/2.0.0 pkginfo/1.5.0.1 requests/2.22.0 setuptools/41.4.0 requests-toolbelt/0.9.1 tqdm/4.36.1 CPython/3.6.7

Release history Release notifications | RSS feed

This release

2019.10.14 This release

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