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 envronments.
- Handle creation of
requirments.txt
andenvironment.yaml
files with pyproject2conda
This package is actively used by the author. Please feel free to create a pull request for wanted features and suggestions!
To generate a package using cookiecutter, run:
cookiecutter [--checkout BRANCH-NAME] https://github.com/usnistgov/cookiecutter-nist-python.git
where the optional argument in brackets can be used to specify a specific branch.
Alternatively (and highly recommended) is to use cruft. This allows for the template files to be updated as the template is updated. For this, you can run:
cruft create [--checkout BRANCH-NAME] https://github.com/usnistgov/cookiecutter-nist-python.git
See the documentation for a look at cookiecutter-nist-python
in
action.
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