This repo contains a cookiecutter template for a Python project, including
pre-commit hooks for linting and GitHub Actions for automatically running tests
using pytest.
The template supports three Python packaging tools: poetry, pip-tools
and uv.
It is particularly geared towards the needs of Imperial College's Research Software Engineering team, but hopefully it should be generically useful. If you find any problems or have any questions, please raise an issue.
To use this template for your own application:
- Install
cookiecutterfollowing the instructions for your OS. - Create your own project using this template:
cookiecutter gh:ImperialCollegeLondon/python-template - Choose the options you want for your project
- To get started, follow the instructions in the readme of the newly created project
This template optionally includes a GitHub Actions workflow to automatically merge PRs from bots (specifically for dependabot and pre-commit.ci). However, in order for this to work, you will first need to follow GitHub's instructions for enabling auto-merge on your repository.