audreyfeldroy / cookiecutter-pypackage

Cookiecutter template for a Python package.
BSD 3-Clause "New" or "Revised" License
4.25k stars 1.78k forks source link

Enhancement: add PEP 517/518 compliance #585

Open staticdev opened 4 years ago

staticdev commented 4 years ago

Description

You can greatly simplify this template but substituting the setup.py, setup.cfg, MANIFEST.in and requirements_dev.txt by pyproject.toml! See the PEPs.

An easy way of doing that is with poetry. Check out a nice example: https://github.com/cjolowicz/cookiecutter-hypermodern-python

zillionare commented 3 years ago

for those who are interested in poetry, please have a look at:

https://zillionare.github.io/cookiecutter-pypackage/

Features:

    Poetry: Manage version, dependancy, build and release
    Mkdocs: Writting your docs in markdown style
    Testing with unittest or Pytest
    Code coverage report and upload to Codecov
    Tox: Test your code against defined Python version matrix, lint and build artifact check.
    Format with Black and Isort
    Lint code with Flake8 and Flake8-docstrings
    Formatting/linting anytime when commit/run local tox/CI
    Mkdocstrings: Auto API doc generation
    Command line interface using Python Fire (optional)
    CI by github actions, auto publish from release branch when tests passed
    Host your documentation from Git Pages with zero-config