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 hashes)

Uploaded Python 3

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