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.
-
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: