Skip to main content
2025 Python Packaging Survey is now live!  Take the survey now

Cookiecutter template for a Python namespace package

Project description

Cookiecutter Namespace Template for a Python package.

Downloads Updates Versions Contributors License Docs

Features

  • Testing setup with unittest or pytest

  • Tox testing: Setup to easily test for Python 3.5, 3.6, 3.7, 3.8

  • Sphinx docs: Documentation ready for generation with, for example, ReadTheDocs

  • bump2version: Pre-configured version bumping with a single command

  • Optional auto-release to PyPI when you push a new tag to master (optional)

  • Optional command line interface using Click

If you really want to create a new package with Python 2, in spite of the Python 2.7 countdown and the Sunsetting Python 2 support, then use cookiecutter-namespace-template <0.2.

Quickstart

  1. Install the latest Cookiecutter if you haven’t installed it yet (this requires Cookiecutter 1.4.0 or higher):

    $ pip install -U cookiecutter
  2. Generate a Python package project:

    $ cookiecutter https://github.com/veit/cookiecutter-namespace-template.git
  3. Create a repo and put it there.

  4. Register your project with PyPI.

  5. Add the repo to your ReadTheDocs account and turn on the ReadTheDocs service hook.

  6. If you want to add the pyup badge to your README file

    1. create a new account at pyup.io or log into your existing account

    2. click on the green Add Repo button

    3. click Pin to add the repo

  7. Release your package by pushing a new tag to master.

Pull requests

If you have differences in your preferred setup, I encourage you to fork this to create your own version. I also accept pull requests on this, if they’re small, atomic, and if they make my own packaging experience better.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page