Cookiecutter template for a Python package, forked from audreyr/cookiecutter-pypackage.
- GitHub repo: https://github.com/briggySmalls/cookiecutter-pypackage/
- Documentation: https://briggysmalls.github.io/cookiecutter-pypackage/
- Free software: BSD license
This template has all of the features of the original audreyr/cookiecutter-pypackage, plus the following:
- Dependency tracking using poetry
- Linting provided by both pylint and flake8 [executed by Tox]
- Formatting provided by yapf and isort [checked by Tox]
- Autodoc your code from Google docstring style (optional)
- All development tasks (lint, format, test, etc) wrapped up in a python CLI by invoke
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/briggySmalls/cookiecutter-pypackage.git
Then:
- Create a repo and put it there.
- Add the repo to your Travis-CI account.
- Install the dev requirements into a virtualenv. (
poetry install
) - Run the Travis CLI command travis encrypt --add deploy.password to encrypt your PyPI password in Travis config and activate automated deployment on PyPI when you push a new tag to master branch.
- Add the repo to your Read the Docs account + turn on the Read the Docs service hook.
- Release your package by pushing a new tag to master.
- Get your code on! 😎 Add your package dependencies as you go, locking them into your virtual environment with
poetry add
. - Activate your project on pyup.io.
For more details, see the cookiecutter-pypackage tutorial.