Cookiecutter Namespace Template for a Python package.
-
Testing setup with
unittest
orpytest
-
Tox testing: Setup to easily test for Python 3.8, 3.9, 3.10, 3.11, 3.12 and pypy.
-
Sphinx docs: Documentation ready for generation with, for example, ReadTheDocs
-
bump2version: Pre-configured version bumping with a single command
-
If the cookiecutter-namespace-template project template has been changed, you can apply these changes with
$ cruft update
-
Optional auto-release to PyPI when you push a new tag to main (optional)
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.
-
Install the latest Cookiecutter if you haven’t installed it yet (this requires Cookiecutter 1.4.0 or higher):
$ python -m pip install -U cruft
-
Generate a Python package project:
$ python -m cruft create https://github.com/veit/cookiecutter-namespace-template.git
-
Create a repo and put it there.
-
Register your project with PyPI.
-
Add the repo to your ReadTheDocs account and turn on the ReadTheDocs service hook.
-
If you want to add the pyup badge to your README file
- create a new account at pyup.io or log into your existing account
- click on the green Add Repo button
- click Pin to add the repo
-
Release your package by pushing a new tag to main.
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.