Skip to content

Development

Code

The Python Launcher is mostly run as a typical Rust project. The only potential differences is the automation tool used (for convenience).

We use just as a task runner. Some rules require Python >= 3.11 to be installed. Some rules will also use py itself via cargo run, so the source code needs to be working.

Website

The website is built using MkDocs and Material for MkDocs.

While developing the website, you can run just docs-dev to start a local server that will automatically reload when you make changes. This will create a virtual environment in .venv and install the necessary dependencies.

To build the docs, use just docs. This will create a virtual environment like just docs-dev.

Releasing

  1. Adjust the version number in Cargo.toml (previous releases).
  2. Check that the relevant action workflows are passing.
  3. Run the release pipeline.
  4. Publish the release.
  5. Update the Homebrew formula
  6. Get the URL to the release tarball
  7. curl --location <URL to tarball> | shasum --algorithm 256
  8. Create a version upgrade pull request with the appropriate commit message

Appendix

PEPs

Python Launcher for Windows