GitHunt
CR

crusaderky/python_project_template

A template with all the boilerplate for a Python project with CI integration

TEMPLATE

TODO

This project contains all the boilerplate for initialising a new Python project
on github. It includes:

  • Package management with pixi
  • Automated tests with pytest
  • Enforced static code linting and validation with ruff, mypy, and more
  • git pre-commit linting hooks with lefthook
  • Sphinx documentation framework
  • Integration with github workflows, codecov.io, and readthedocs
  • CI tests against multiple versions of Python, multiple OSs (Linux, Windows,
    and MacOS) and architectures (x86 and ARM).
  • CI tests against nightly pre-releases of dependencies
  • Explicit tests for minimum supported dependencies versions
  • Stress tests for free-threading (noGIL)
  • Automated versioning with hatchling
  • Step-by-step guide to release to pypi and conda-forge

Full documentation at http://python-project-template.readthedocs.io/

Usage

  1. Copy all the files into your project (don't forget the hidden files!)
  2. Replace all TEMPLATE tags with your project name (also in file and directory
    names)
  3. Search for all TODO tags and replace them as needed
  4. Replace the TEMPLATE directory with your own python files and tests.
  5. Integrate with readthedocs
  6. Obtain successful builds in CI

Credits

Forked from https://github.com/pydata/xarray

Badges

TODO replace crusaderky/python_project_template with {github user}/{project
name}. You may want to move this section to the top of the page!

doc-badge
lint-badge
wheels-badge
pytest-badge
codecov-badge

Languages

Python100.0%

Contributors

Apache License 2.0
Created September 27, 2018
Updated March 11, 2026