Python Project Template
INSERT TAGLINE HERE.™
Details
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.
Contents
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
README.rst
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 therelease
script__init__.py
,__main__.py
andtemplate.py
files in the Python package directoryA
setup.py
file that could be good enough for people, and that supportsentry_points
(see https://go.chriswarrick.com/entry_points).tests/
containing some Is My Python Sane?-style tests (usingpytest
)An automated global update script (
.pypt/PYPT-UPDATE
)Entry points configuration ready to be uncommented (and a matching
__main__.py
file)Add-ons for Qt users (in
pypt-extras/Qt
)A sample hook for AUR updates (in
pypt-extras/AUR
)PKGBUILDs for the Arch Linux User Repository (AUR)
-
A state-of-the-art
release
script, the operations of which are:querying the user for version number, commit message and changes
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 $PROJECTLC
and the test suiteuploading a source distribution and a wheel to PyPI
Making a Git commit and tagging the release
creating a GitHub Releases entry
updating the AUR packages (by using hooks)