/copier-pdm

Copier template for Python projects managed by PDM.

Primary LanguageJinjaMIT LicenseMIT

Copier template for PDM projects

Copier template for projects managed with PDM. Inspired by Frost Ming's and pawamoy's templates.

Features

  • Package manager: This template uses PDM, pre-configured in pyproject.toml.
  • Tests: Tests run with pytest (xdocstest plugin activated). Multi-environment testing is implemented with Nox.
  • Documentation: An optional documentation template can be generated. It uses Sphinx (Furo theme, MyST parser plugin activated). Default API documentation is generated using a recursive autosummary setup. Writing docstrings with the Numpydoc format is encouraged.
  • CI and automation GitHub Actions are configured and will automatically execute tests upon commit (except for draft PRs). By default, automatic upload to PyPI is active upon tagging.

Requirements

  • Python 3
  • Git
  • Copier

References and notes

Roadmap

  • Switch to Ruff, remove isort
  • Add publication to Anaconda Cloud
  • Add pre-commit hooks
  • Replace makefile-based tasks with PDM tasks
  • Replace coverage fail threshold with task summary
  • Add publication to PyPI
  • Add Read the Docs configuration file template