Standard src/ layout
Declarative setup with pyproject.toml (following PEP 621)
Reproducible workflows configured with tox
- Reproducible tests with pytest
- Reproducible notebooks with treon
- Documentation build with sphinx 8.0 and sphinx-rtd-theme 3.0
- Testing of code quality with ruff
- Testing of documentation coverage with docstr-coverage
- Testing of documentation format
- Testing of package metadata completeness with pyroma
- Testing of MANIFEST correctness with check-manifest
- Testing of optional static typing with mypy
- Version management with bump-my-version
- Building with uv build
- Releasing to PyPI with uv publish
A command line interface with click
A vanity CLI via python entrypoints
A py.typed file so other packages can use your type hints
Automated running of tests on each push
with GitHub Actions
Configuration for ReadTheDocs
A good base .gitignore generated from gitignore.io.
A pre-formatted README with badges
A pre-formatted LICENSE file with the MIT License (you can change this to whatever you want, though)
A pre-formatted CONTRIBUTING guide
A copy of the Contributor Covenant as a basic code of conduct