22
33[ ![ Actions Status] [ actions-badge ]] [ actions-link ]
44[ ![ GitHub Discussion] [ github-discussions-badge ]] [ github-discussions-link ]
5+ [ ![ Live ReadTheDocs] [ rtd-badge ]] [ rtd-link ]
56
67A cookiecutter template for new Python projects based on the Scientific Python
78Developer Guide. What makes this different from other cookie cutter templates
89for Python packages?
910
10- - Designed from the [ Scientific Python Developer Guide] [ ] : Every decision is
11+ - Lives with the [ Scientific Python Development Guide] [ ] : Every decision is
1112 clearly documented and every tool described.
12- - Template generation tested in GitHub Actions using nox.
1313- Twelve different backends to choose from for building packages.
14+ - Template generation tested in GitHub Actions using nox.
1415- Includes several compiled backends using pybind11, with wheels produced for
1516 all platforms using cibuildwheel.
16- - Follows PyPA best practices.
17+ - Follows PyPA best practices and regularly updated.
18+ - Provides ` sp-repo-review ` to evaluate existing repos against the guidelines,
19+ with a WebAssembly version integrated with the guide. All checks cross-linked.
1720
18- Be sure you have read the [ Scientific Python Developer Guide] [ ] first, and
21+ Be sure you have read the [ Scientific Python Development Guide] [ ] first, and
1922possibly used them on a project or two. This is _ not_ a minimal example or
2023tutorial. It is a collection of useful tooling for starting a new project using
2124cookiecutter, or for copying in individual files for an existing project (by
@@ -44,7 +47,7 @@ During generation you can select from the following backends for your package:
4447 the right files included, little dynamic metadata support.
45489 . [ pdm] [ ] : A modern, less opinionated all-in-one solution to pure Python
4649 projects supporting standards. Replaces setuptools, venv/pipenv, pip, wheel,
47- and twine. Supports [ PEP 621] [ ] , and also the unaccepted [ PEP 582 ] [ ] .
50+ and twine. Supports [ PEP 621] [ ] .
485110 . [ trampolim] [ ] : A modern [ PEP 621] [ ] builder with support for tasks, allowing
4952 arbitrary Python to run during the build process if needed.
505311 . [ whey] [ ] : A modern [ PEP 621] [ ] builder with some automation options for
@@ -62,7 +65,7 @@ otherwise with `pipx install cookiecutter` (or prepend `pipx run` to the command
6265below, and skip installation). Then run:
6366
6467``` bash
65- cookiecutter gh:scikit-hep /cookie
68+ cookiecutter gh:scientific-python /cookie
6669```
6770
6871You can also use ` pipx run cookiecutter ` without installing.
@@ -143,15 +146,21 @@ projects. It currently dumps all development dependencies into a shared
143146environment, causing long solve times and high chance of conflicts. It also does
144147not use pre-commit properly. It also has quite a bit of custom code.
145148
149+ #### History
150+
151+ A lot of the guide, cookiecutter, and repo-review started out as part of
152+ Scikit-HEP. These projects were merged, generalized, and combined with the
153+ NSLS-II guide during the 2023 Scientific-Python Developers Summit.
154+
146155<!-- prettier-ignore-start -->
147156
148157[ actions-badge ] : https://github.com/scikit-hep/cookie/workflows/CI/badge.svg
149158[ actions-link ] : https://github.com/scikit-hep/cookie/actions
150- [ conda-badge ] : https://img.shields.io/conda/vn/conda-forge/cookie
151- [ conda-link ] : https://github.com/conda-forge/cookie-feedstock
152159[ github-discussions-badge ] : https://img.shields.io/static/v1?label=Discussions&message=Ask&color=blue&logo=github
153160[ github-discussions-link ] : https://github.com/scikit-hep/cookie/discussions
154- [ scikit-hep developer guidelines ] : https://scikit-hep.org/developer
161+ [ rtd-badge ] : https://readthedocs.org/projects/scientific-python-cookie/badge/?version=latest
162+ [ rtd-link ] : https://scientific-python-cookie.readthedocs.io/en/latest/?badge=latest
163+ [ scientific-python development guide ] : https://learn.scientific-python.org/development
155164[ cibuildwheel ] : https://cibuildwheel.readthedocs.io/en/stable/
156165[ scikit-build ] : https://scikit-build.readthedocs.io/en/latest/
157166[ flit ] : https://flit.readthedocs.io/en/latest/
@@ -167,7 +176,6 @@ not use pre-commit properly. It also has quite a bit of custom code.
167176[ hypermodern ] : https://github.com/cjolowicz/cookiecutter-hypermodern-python
168177[ hatch ] : https://github.com/ofek/hatch
169178[ meson-python ] : https://meson-python.readthedocs.io
170- [ pep 582 ] : https://www.python.org/dev/peps/pep-0582
171179[ pep 621 ] : https://www.python.org/dev/peps/pep-0621
172180
173181<!-- prettier-ignore-end -->
0 commit comments