Cookiecutter PyPackage

Linux build status on Travis CI Windows build status on Appveyor

Cookiecutter template for a Python package, forked from audreyr/cookiecutter-pypackage.

Features

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

Quickstart

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.