/cookiecutter-pypackage

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

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

Python Project Wizard

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

Version CI Status Dowloads License Python Versions

Features

This tool will create Python project with the following features:

  • Poetry: Manage version, dependancy, build and release
  • Mkdocs: Writting 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
  • Pre-commit hooks: Formatting/linting anytime when commit/run local tox/CI
  • Mkdocstrings: Auto API doc generation
  • Command line interface using Python Fire (optional)
  • Continuouse 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 change log from github and integrate with release notes automatically
  • Host your documentation from Git Pages with zero-config

Quickstart

Install ppw if you haven't install it yet:

  pip install -U ppw

Generate a Python package project by simple run:

  ppw

Then follow Tutorial to finish other configurations.

Credits

This repo is forked from audreyr/cookiecutter-pypackage, and borrowed some ideas from briggySmalls