Skip to content

waynerv/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
  • 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
  • Format with Black and Isort
  • Lint code with Flake8 and Flake8-docstrings
  • 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)
  • bump2version: 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

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/waynerv/cookiecutter-pypackage.git

Then follow Tutorial to finish other configurations.

Credits

This repo is 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 95.4%
  • Makefile 4.6%