Cookiecutter template for python packages at NIST.
This template includes all NIST specific branding for creating a python package.
- Testing with pytest
- Isolated testing, documentation building, etc, with nox
- Linting with pre-commit
- Documentation with Sphinx, MyST, using either the furo or sphinx-book-theme theme.
- Simple commands to upload package to [pypi], or a personal conda channel.
- Simple commands to release documentation to nist-pages
- Works with both conda and virtualenv based environments.
- Handle creation of
requirements.txtandenvironment.yamlfiles with pyproject2conda
This package is actively used by the author. Please feel free to create a pull request for wanted features and suggestions!
Generate with cookiecutter:
cookiecutter [--checkout BRANCH-NAME] https://github.com/usnistgov/cookiecutter-nist-python.gitGenerate with cruft:
cruft create [--checkout BRANCH-NAME] https://github.com/usnistgov/cookiecutter-nist-python.gitGenerate with copier:
copier copy --trust [-r BRANCH-NAME] https://github.com/usnistgov/cookiecutter-nist-python.git destination/pathAs the template uses jinja2, you'll need the --trust flag using copier.
See the documentation for a look at cookiecutter-nist-python in
action.
See changelog.
This is free software. See LICENSE.
The following packages use this template:
- cookiecutter-pypackage. The template on which this work is based.
- cookiecutter-hypermodern-python
The author can be reached at wpk@nist.gov.
This template started as a fork of cookiecutter-pypackage.
- Github actions/automation