bootstrap.pypa.io is a service hosted by the Python Software Foundation for the Python Packaging Authority to provide bootstrapping scripts for common packaging tools to environments that may not already have them.
This repository hosts the assets used to build and serve the service.
You can construct and test the image locally after cloning the repository
docker build -t bootstrap_pypa_io .
docker run --rm -p 8080:8000 bootstrap_pypa_io
The service is then available at http://localhost:8080
You can build from a different version of a given source using Docker build-args:
docker build -t bootstrap_pypa_io --build-arg get_pip_branch=24.1 .
Current args are:
ARG get_pip_branch=main
ARG get_virtualenv_branch=main
ARG setuptools_branch=bootstrap
ARG buildout_branch=bootstrap-release
The Dockerfile
- Retrieves upstream sources from get-pip, get-virtualenv, setuptools, and buildout.
- Constructs the directory that will be served at bootstrap.pypa.io
- Builds a container for serving the directory via nginx and executing CDN purges
purge.sh
is run after successful deployments to purge all
files served by bootstrap.pypa.io
.
Changes to upstream sources are tracked via the monitor GitHub Action.
When changes are detected, a commit will automatically be created.
Once our "tests" have passed, a
deployment
will automatically be started. Once complete the purge.sh
script will be run to purge the CDN cache.