Skip to main content



Status Production/Stable
Language Python
License 3-clause BSD
Role Maintainer

A template for Python projects. It makes it easy to create new Python projects, with just a few replacements required. Many things are already there, already prepared for you.


The template contains the following files to get you started:

  • pre-configured Sphinx with:
    • CONTRIBUTING.rst guide (used by GitHub when sending a pull request or an issue)
    • LICENSE.rst
    • an empty CHANGELOG.rst
    • this (worthless for most people) README.rst and a bare-bones index.rst page
  • The exact same files in /, which are fragile and MAY NOT be modified as they are replaced with copies in /docs by the release script
  • and files in the Python package directory
  • A good-enough file
  • tests/ containing some Is My Python Sane?-style tests (using py.test)
  • An automated global update script (.pypt/PYPT-UPDATE)
  • Entry points configuration ready to be uncommented
  • Addons for Qt users
  • PKGBUILDs for the Arch Linux User Repository (AUR)
  • A state-of-the-art release script, the operations of which are:
    • querying the current branch for version number
    • updating /docs/CHANGELOG.rst
    • bumping the version number in all the files, changing dates where necessary
    • copying over /docs/README.rst, /docs/CHANGELOG.rst and /docs/CONTRIBUTING.rst to /
    • locale generation (via the .pypt/localegen script)
    • running import $project and the testsuite
    • uploading a source distribution and a wheel to PyPI
    • committing into git, finishing the git flow release
    • creating a GitHub Releases entry