Skip to content

Starter template for a Python app - including CI and docs 🐍 🌠

License

Notifications You must be signed in to change notification settings

MichaelCurrin/py-project-template

Repository files navigation

Python Project Template 🐍 πŸ“¦

Starter template for a Python app - including CI and docs

Python CI GitHub tag License

Made with Python

code style - black dev dependency - flake8 dev dependency - pylint dev dependency - mypy dev dependency - 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:

  • Generic Python app code in pyproject, with sample tests in tests.
  • Sample documentation.
  • Makefile for running make commands (for macOS and Linux).
  • Requirements files for prod packages and dev packages, installed with pip using make commands.
  • Code quality checks - flake8, pylint, mypy (type checking), and pytest, including make commands 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.

How to use this starter project

Create your own repo from this one:

Use this template

See the 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.

$ foo-bar --help
$ make install
$ make run
import foo

foo.bar(123)

Documentation

How to install and run this project

view - Documentation

License

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.