This is a template for creating Python projects. It includes a basic project structure, configuration files, and setup scripts to help you get started quickly.
- 📁 Pre-configured with uv for dependency management.
- 🪛 Linting with ruff.
- 🔧 Type checking with mypy.
- 🧪 Testing with pytest.
- 📝 Pre-commit hooks for code quality.
- 📦 Uses dev container development setup.
- 🔎 Easy documentation with MkDocs.
- 🧰 Integrated with GitHub Actions for CI/CD automation and other workflows.
Note
Use the included dev container to automatically install all the necessary dev tools and dependencies. To use this you first need to install docker under Linux or WSL2 under windows.
-
Clone the repository:
git clone https://github.com/Paul-B98/python-project-template.git cd python-project-template
-
Open the project in Visual Studio Code:
code .
-
Reopen in container:
- Press
F1
to open the command palette. - Type
Remote-Containers: Reopen in Container
and select it. - VS Code will build the Docker container defined in the
.devcontainer
folder and open the project inside the container.
- Press
We follow the Conventional Commits specification to maintain a consistent commit history and enable automated tooling for releases and changelogs.
Commit Message Format
<type>(optional scope): <short summary>
[optional body]
[optional footer(s)]
feat
: A new featurefix
: A bug fixdocs
: Documentation only changesstyle
: Changes that do not affect the meaning of the code (formatting, missing semicolons, etc.)refactor
: A code change that neither fixes a bug nor adds a featureperf
: A code change that improves performancetest
: Adding or correcting testschore
: Changes to the build process or auxiliary toolsinfra
: infrastructure ch
Some documentation description
This project uses arc42 to document the requirements and architecture: