https://github.com/michaelcurrin/py-project-template
Starter template for a Python app - including CI and docs 🐍 🌠
https://github.com/michaelcurrin/py-project-template
boilerplate python python3 quickstart scaffolding skeleton starter template
Last synced: 4 months ago
JSON representation
Starter template for a Python app - including CI and docs 🐍 🌠
- Host: GitHub
- URL: https://github.com/michaelcurrin/py-project-template
- Owner: MichaelCurrin
- License: mit
- Created: 2018-11-10T21:00:09.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2025-02-24T12:36:50.000Z (over 1 year ago)
- Last Synced: 2025-04-02T00:22:49.923Z (about 1 year ago)
- Topics: boilerplate, python, python3, quickstart, scaffolding, skeleton, starter, template
- Language: Python
- Homepage: https://michaelcurrin.github.io/py-project-template/
- Size: 295 KB
- Stars: 7
- Watchers: 2
- Forks: 3
- Open Issues: 16
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# Python Project Template 🐍 📦
> Starter template for a Python app - including CI and docs
[](https://github.com/MichaelCurrin/py-project-template/actions/workflows/main.yml)
[](https://github.com/MichaelCurrin/py-project-template/releases/)
[](#license)
[](https://python.org "Go to Python website")
[](https://black.readthedocs.io/)
[](https://pypi.org/project/flake8)
[](https://pypi.org/project/pylint)
[](https://pypi.org/project/mypy)
[](https://pypi.org/project/pytest)
## Purpose
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:
- [x] Generic Python app code in [pyproject](/pyproject/), with sample tests in [tests](/tests/).
- [x] Sample documentation.
- [x] [Makefile](/Makefile) for running `make` commands (for macOS and Linux).
- [x] Boiletplate for package management.
- [x] Requirements files for prod packages and dev packages managed with `pip` and option to use `make` commands with `pip`.
- [x] Config files for installing prod and dev packages with `poetry`.
- [x] Code quality checks - `flake8`, `pylint`, `mypy` (type checking), and `pytest`, including `make` commands and configs for each.
- [x] Git push hooks, to run checks on pushing.
- [x] GitHub Actions pipeline config.
- [x] Configs - VS Code, EditorConfig, and a Git ignore file.
## How to use this starter project
Create your own repo from this one:
[](https://github.com/MichaelCurrin/py-project-template/generate)
See the [Template Notes](/docs/template-notes/) part of the docs for more info on how to use this template. And for links to my other templates.
## Sample usage
_TODO: Add just a few lines to show how to use your application. Such as a Python or shell snippet._
```sh
$ foo-bar --help
```
```sh
$ make install
$ make run
```
```python
import foo
foo.bar(123)
```
## Documentation
> How to install and run this project
[](https://michaelcurrin.github.io/py-project-template/)
## License
Released under [MIT](/LICENSE) by [@MichaelCurrin](https://github.com/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.