This is a GitHub template repository for Makefile-driven Python projects. It:
- Has
lint
,typecheck
,clean
, andtidy
rules, along with all of thevenv
rules; - Can be extended to incorporate other languages by adding their tasks to
Makefile
; - Uses tags in the form
vxx.xx.xx
to denote versions; - Has targets that bump versions for both Semantic Versioning and Calendar Versioning;
- Uses GitHub Actions to build releases and publish them to PyPi automatically when a version tag is pushed;
- Runs
lint
,typecheck
, andtest
upon push using GitHub Actions; - Turns on Dependabot for
github-actions
andpip
.
Create a repo using the template, and then:
- In all files, replace:
SHORTNAME
with the name of the project, as published on PyPiDESCRIPTION
with a textual description of the projectPROJECT_URL
with a URL to the project home- Change the top-level
SHORTNAME
directory name to the name of the project; - Update
Makefile
,pyproject.toml
andrequirements.txt
to suit; - Change this
README.md
to suit; - Write some code.