Skip to content

pymetrics/cookiecutter-python-library

 
 

Repository files navigation

Cookiecutter PyPackage

Build Status Documentation Status

Cookiecutter template for a Python package.

Features

  • Testing setup with unittest and python setup.py test or pytest
  • Travis-CI: Ready for Travis Continuous Integration testing
  • Tox testing: Setup to easily test for Python 3.7, 3.8, and 3.9, with optional support for Python 3.6
  • Sphinx docs: Documentation ready for generation with, for example, Read the Docs
  • bump2version: Pre-configured version bumping with a single command
  • Auto-release to PyPI when you push a new tag to master (optional)
  • Command line interface using Click or argparse (optional)

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/pymetrics/cookiecutter-python-library.git

Then:

  • Create a repo and put it there.
  • Add the repo to your Travis-CI account.
  • Install the dev requirements into a virtualenv. (pip install -r requirements_dev.txt)
  • Register your project with PyPI. * Run twine upload dist/*.
  • For an open source project, create a PyPI API token, with scope limited to the project, for publishing.
  • Set PyPI credentials in TravisCI environment variables PYPI_USERNAME and PYPI_PASSWORD. * If using an API token, set PYPI_USERNAME to __token__.
  • 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.
  • Add a requirements.txt file that specifies the packages you will need for your project and their versions. For more info see the pip docs for requirements files.

For more details, see the cookiecutter-pypackage tutorial.

Credits

Forked from @audryr's cookiecutter-pypackage.

About

Cookiecutter template for a Python package.

Resources

License

Contributing

Stars

Watchers

Forks

Packages

No packages published

Languages

  • Python 84.5%
  • Makefile 13.0%
  • Batchfile 2.5%