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
.
Releasing
GitHub Releases
- Adjust the version number in
Cargo.toml
(previous releases). - Check that the relevant action workflows are passing.
- Run the
release
pipeline. - Publish the release.
- Make sure the docs are up-to-date based on the published version (e.g. the installation instructions link to the newest files)
Useful links
Appendix
PEPs
- PEP 397: Python launcher for Windows
- PEP 486: Make the Python Launcher aware of virtual environments