Starter template for a Python app - including CI and docs
This project provides a template for a Python application, enabling you to get up and running fast with local development and then move quickly when you want deploy your app to the cloud with confidence.
It includes a solid setup, from installing packages to running code quality checks locally and with GitHub Actions.
What you get:
- Generic Python app code in pyproject, with sample tests in tests.
- Sample documentation.
- Makefile for running
makecommands (for macOS and Linux). - Boiletplate for package management.
- Requirements files for prod packages and dev packages managed with
pipand option to usemakecommands withpip. - Config files for installing prod and dev packages with
poetry.
- Requirements files for prod packages and dev packages managed with
- Code quality checks -
flake8,pylint,mypy(type checking), andpytest, includingmakecommands and configs for each. - Git push hooks, to run checks on pushing.
- GitHub Actions pipeline config.
- Configs - VS Code, EditorConfig, and a Git ignore file.
See also py-project-basic as a related project which is simpler which is especially good for small or experimental projects.
Create your own repo from this one:
See the Template Notes part of the docs for more info on how to use this template. And for links to my other templates.
TODO: Add just a few lines to show how to use your application. Such as a Python or shell snippet.
$ foo-bar --help$ make install
$ make runimport foo
foo.bar(123)How to install and run this project
Released under MIT by @MichaelCurrin.
A copy of the original license must be included if a significant portion of this template or project is used. You could rename it to LICENSE-source and then include your own LICENSE file with your name.