Cookiecutter template for a Python package.
- GitHub repo: https://github.com/osl-incubator/cookiecutter-python/
- Free software: BSD license
- Allows package slug (use
_
instead of-
) - Licenses supported: MIT, BSD 3 Clause, ISC License, Apache Software License 2.0, and GPL 3
- Documentation engines: mkdocs, sphinx, jupyter-boook
- Test library: pytest
- Auto format code tool: blue, and black
- Initial integration with git
- Support to conda (as base environment) and poetry as packaging and dependency management
- Support to pre-commit
- CI with github actions
- Release workflow with semantic release and github actions
Install the latest Cookiecutter if you haven't installed it yet (this requires Cookiecutter 1.4.0 or higher):
pip install -U cookiecutter
or, using conda/mamba:
mamba create -n cookiecutter cookiecutter
conda activate cookiecutter
Go to a desired folder to create your new project, for example:
cd ~/dev/my-python-projects
Generate a Python package project:
cookiecutter https://github.com/osl-incubator/cookiecutter-python.git
or, using ssh:
cookiecutter git@github.com:osl-incubator/cookiecutter-python.git
For testing your changes locally, you can run:
make test-template