makecommands: Self-documenting targets (make help) for initializing, testing, linting, formatting, and building docs.PyO3&setuptools_rust: A Rust extension module built into the wheel, with the toolchain pinned inrust-toolchain.tomland dependencies locked incrates/Cargo.lock. CI runs rustfmt, clippy (strict lint set incrates/Cargo.toml), andcargo test. Deletecrates/,rust-toolchain.toml, and the Rust sections inpyproject.tomlif you don't need it.- Dev container / artifact image: One multi-stage
.devcontainer/Dockerfileserves contributors (toolchain image +make init, usable from VS Code, Codespaces, Docker/Podman, or Windows' nativewslc) and artifact-evaluation reviewers (a frozen code+environment image whose build runs the test suite). - GitHub Actions: CI (lint + test), tag-triggered releases (abi3 wheels and an sdist, each tested after the build, plus a frozen-dependency list attached to a draft GitHub release with an auto-generated changelog), and dormant-until-enabled deployments: a Sphinx docs site on GitHub Pages (
DEPLOY_DOCSrepository variable), PyPI via trusted publishing (PYPI_PUBLISH), a GHCR artifact image (PUBLISH_IMAGE), and Zenodo DOI archiving (external webhook). See CONTRIBUTING for the full feature reference. - Artifact evaluation ready:
template-ARTIFACT.mdmirrors the cTuning/ACM artifact-appendix structure used by HPCA/ISCA/MICRO/ASPLOS;CITATION.cffpowers GitHub's cite button and Zenodo metadata.
- Ruff: A high-performance Python linter built in Rust. Ruff is utilized in this project for its speed and extensive rule set. It consolidates the functionality of various tools like Flake8, isort, pydocstyle, and more, into a single, fast, and efficient package.
- pre-commit: A set of pre-commit hooks automatically check and enforce code quality standards, including a
commit-msghook that rejects non-conventional commit messages. - pytest: Tests are written and executed using the pytest framework.
- Sphinx: A
docs/skeleton (furo theme, autosummary API reference,jupyter-executeexamples run on every build) that builds warning-free from day one. CI builds it on every PR and push, even before the Pages deploy is turned on.