Cookiecutter template for an 18F Python package. Forked from https://github.com/audreyr/cookiecutter-pypackage/, with changes to comply with 18F's practices.
- GitHub repo: https://github.com/18F/cookiecutter-pypackage/
- Documentation: https://cookiecutter-pypackage.readthedocs.io/
- Testing setup with
unittest
andpython setup.py test
orpy.test
- Tox testing: Setup to easily test for Python 2.6, 2.7, 3.3, 3.4, 3.5
- Sphinx docs: Documentation ready for generation with, for example, ReadTheDocs
- Bumpversion: 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 (optional)
Windows:
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/18f/cookiecutter-pypackage.git
Then:
- Create a repo and put it there.
- Install the dev requirements into a virtualenv. (
pip install -r requirements_dev.txt
) - Add the repo to your ReadTheDocs account + turn on the ReadTheDocs 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.
- Activate your project on pyup.io.
For more details, see the cookiecutter-pypackage tutorial.
https://github.com/audreyr/cookiecutter-pypackage is licensed under the BSD license. The small modifications to it in this fork, as a work of the United States Government, are under the public domain within the United States.
Additionally, 18F waives copyright and related rights to its modifications worldwide through the CC0 1.0 Universal public domain dedication.