Skip to main content

Uploads websites to Amazon Web Services S3 buckets

Project description

WebUp

CircleCI codecov

WebUp is a Python package for uploading websites to Amazon Web Services S3 buckets.

  • Uploads files and subdirectories
  • Multi-threaded for concurrent parallel uploads
  • Sets Cache-Control and Content-Type headers

Full documentation is online at cariad.github.io/webup.

Installation

pip install webup

Usage

To upload a directory with the default configuration:

from webup import upload

upload("./public", "my-bucket")

If the bucket's name is recorded in Systems Manager, pass a parameter name instead of a bucket name:

from webup import upload

upload("./public", ssm_param="/my-platform/buckets/website")

Some content types are baked-in. To add more content types:

from webup import set_content_type, upload

set_content_type(".foo", "application/foo")
upload("./public", "my-bucket")

All files have the Cache-Control value "max-age=60" by default. To configure this:

from webup import set_default_maximum_age, set_maximum_age, upload

# Serve sw.js with Cache-Control "max-age=0":
set_maximum_age(r"^sw\.js$", 0)

# Serve all other JavaScript with Cache-Control "max-age=600":
set_maximum_age(r"^.*\.js$", 600)

# Serve all other files with Cache-Control "max-age=300":
set_default_maximum_age(300)

upload("./public", "my-bucket")

To perform a dry-run:

from webup import upload

upload("./public", "my-bucket", read_only=True)

Full documentation is online at cariad.github.io/webup.

Licence

WebUp is released at github.com/cariad/webup under the MIT Licence.

See LICENSE for more information.

Author

Hello! 👋 I'm Cariad Eccleston and I'm a freelance DevOps and backend engineer. My contact details are available on my personal wiki at cariad.earth.

Please consider supporting my open source projects by sponsoring me on GitHub.

Project details


Download files

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

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distribution

webup-2.0.0-py3-none-any.whl (11.1 kB view details)

Uploaded Python 3

File details

Details for the file webup-2.0.0-py3-none-any.whl.

File metadata

  • Download URL: webup-2.0.0-py3-none-any.whl
  • Upload date:
  • Size: 11.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.7.1 importlib_metadata/4.10.0 pkginfo/1.8.2 requests/2.27.0 requests-toolbelt/0.9.1 tqdm/4.62.3 CPython/3.10.0

File hashes

Hashes for webup-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 ba4f3e30321c00dc6c98164971be1f67b30213d18684a0ed1ceeb2d6841d7db1
MD5 df6a67f14128101623417af7ead41f50
BLAKE2b-256 c24f14d4b42acaff030fb6d98de11ce135516bbec007f7065f85f9362cacf928

See more details on using hashes here.

Supported by

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