You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
github-actions[bot] edited this page Jul 29, 2025
·
1 revision
python-template-rust is written in Python and Rust. While prebuilt wheels are provided for end users, it is also straightforward to build python-template-rust from either the Python source distribution or the GitHub repository.
As a convenience, python-template-rust uses a Makefile for commonly used commands. You can print the main available commands by running make with no arguments
> make
build build the library
clean clean the repository
fix run autofixers
install install library
lint run lints
test run the tests
Prerequisites
python-template-rust has a few system-level dependencies which you can install from your machine package manager. Other package managers like conda, nix, etc, should also work fine.
Clone
Clone the repo with:
git clone https://github.com/python-project-templates/python-template-rust.git
cd python-template-rust
Install Rust
Follow the instructions for installing Rust for your system.
Install Python dependencies
Python build and develop dependencies are specified in the pyproject.toml, but you can manually install them:
make requirements
Note that these dependencies would otherwise be installed normally as part of PEP517 / PEP518.
Build
Build the python project in the usual manner:
make build
Lint and Autoformat
python-template-rust has linting and auto formatting.
Language
Linter
Autoformatter
Description
Python
ruff
ruff
Style
Python
ruff
ruff
Imports
Rust
clippy
clippy
Style
Markdown
mdformat
mdformat
Style
Markdown
codespell
Spelling
Python Linting
make lint-py
Python Autoformatting
make fix-py
Rust Linting
make lint-rs
Rust Autoformatting
make fix-rs
Documentation Linting
make lint-docs
Documentation Autoformatting
make fix-docs
Testing
python-template-rust has both Python and JavaScript tests. The bulk of the functionality is tested in Python, which can be run via pytest. First, install the Python development dependencies with