Skip to content

A tool for creating skeleton python project, built with popular develop tools and conform to best practice.

License

Notifications You must be signed in to change notification settings

gpongelli/cookiecutter-pypackage

 
 

Repository files navigation

Cookiecutter PyPackage

Cookiecutter template for a Python package, built with popular develop tools and conform to best practice.

CI Status License

Features

This tool will create Python project with the following features:

  • Poetry: Manage dependency, build and release
  • Mkdocs: Writing your docs in markdown style, alternative to Sphinx
  • Sphinx: Writing your docs in RST style, alternative to Mkdocs
  • Testing with Pytest (unittest is still supported out of the box)
  • Code coverage report and endorsed by Codecov
  • Tox: Test your code against environment matrix, lint and artifact check ; slightly moving to nox
  • Format with Black and Isort
  • Lint code with Flake8 and Flake8-docstrings
  • Lint YAML files with yamllint
  • Lint python files with pylint
  • Documentation linter darglint
  • Security oriented linter bandit
  • Misspelling linter codespell
  • Check static type with Mypy (optional)
  • Pre-commit hooks: Formatting/linting anytime when commit your code
  • Mkdocstrings: Auto API doc generation
  • Command line interface using Click (optional)
  • commitizen: Pre-configured version bumping with a single command
  • Continuous Integration/Deployment by GitHub actions, includes:
    • publish dev build/official release to TestPyPI/PyPI automatically when CI success
    • publish documents automatically when CI success
    • extract changelog from CHANGELOG and integrate with release notes automatically
  • Host your documentation from GitHub Pages with zero-config
  • Nox to automate environment in place of tox

Quickstart

Install the latest Cookiecutter if you haven't installed it yet (this requires Cookiecutter 1.4.0 or higher):

pip install -U cookiecutter

Generate a Python package project:

cookiecutter https://github.com/gpongelli/cookiecutter-pypackage.git

Then follow Tutorial to finish other configurations.

Credits

This repo is forked from waynerv/cookiecutter-pypackage, forked from zillionare/python-project-wizard, which originally forked from audreyfeldroy/cookiecutter-pypackage

About

A tool for creating skeleton python project, built with popular develop tools and conform to best practice.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 92.6%
  • Dockerfile 4.1%
  • Batchfile 1.8%
  • Makefile 1.5%