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 a stamp-file rebuild (make rebuild) that only recompiles when crate sources change. Deletecrates/and the three 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 + sdist + 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, nbsphinx) that builds warning-free from day one; CI keeps it green even before the Pages deploy is turned on.