/cookiecutter-python

Cookiecutter template for a Python package.

Primary LanguagePythonBSD 3-Clause "New" or "Revised" LicenseBSD-3-Clause

Cookiecutter Python Package

Cookiecutter template for a Python package.

Features

  • 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

Quickstart

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

Development

For testing your changes locally, you can run:

make test-template