Skip to content

cs01/cookiecutter-pypackage

 
 

Repository files navigation

cs01 Cookiecutter PyPackage

Features

Automation

  • nox: Project automation and testing for multiple Python environments. Comes with a noxfile that runs tests, lint, builds and publishes the package to PyPI

Testing

  • pytest: The pytest framework makes it easy to write small tests, yet scales to support complex functional testing for applications and libraries.
  • Coverage: Built-in coverage metrics and optional minimum thresholds
  • Travis-CI: Ready for Travis Continuous Integration testing

Linting and Formatting

  • mypy: Typing enabled, with PEP 561 support so your typing extends to consumers of your package
  • black: Code is autoformatted with black
  • flake8 and flake8 bugbear: flake8 is configured to not complain about things the black autoformatter does in violation of flake8
  • As much linting as possible to prevent footguns: Checks performed on MANIFEST.in, setup.py

Other

  • src dir: Directory structure uses src directory to ensure no accidental installations. Read why CPython core dev prefers it here.

Made with Cookiecutter, so you can modify and fork this template easily.

Quickstart

Generate the project with pipx:

pipx run cookiecutter https://github.com/cs01/cookiecutter-pypackage/

Not Exactly What You Want?

See audreyr/cookiecutter-pypackage for the original template, as well as other popular templates.

About

Chad Smith's cookiecutter template for a Python package.

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 100.0%