Cookiecutter template for a Python package, forked from briggySmalls/cookiecutter-pypackage.
- GitHub repo: https://github.com/erre-quadro/cookiecutter-pypackage/
- Documentation: https://erre-quadro.github.io/cookiecutter-pypackage/
- Free software: BSD license
This template has all of the features of the original briggySmalls/cookiecutter-pypackage, plus the following:
- Dependency tracking using pipenv
- 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
Linux:
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/erre-quadro/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. (
pipenv install --dev
) - Register your project with PyPI.
- 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 to your setup.py as you go, and lock them into your virtual environment with
pipenv install
. - Activate your project on `pyup.io`_.
For more details, see the cookiecutter-pypackage tutorial.