Minimal Python project template with uv, just, pytest, and ruff.
git clone git@github.com:heymumford/python-uv-template.git my-new-project
cd my-new-project
# Rename "myproject" to your project name in pyproject.toml, src/, and tests/
uv sync
just testjust install # Install dependencies (uv sync)
just run # Run the project
just test # Run tests (pytest)
just lint # Lint with ruff
just format # Format with ruff
just typecheck # Type check with mypy
just check # Run lint + typecheck + test
- uv for fast dependency management and virtual environments
- just as a command runner (replaces Makefiles)
- pytest for testing with strict markers and config
- ruff for linting and formatting, mypy for type checking
- hatchling build backend
- Python 3.12+ compatibility
After cloning, update these:
- Rename
myprojectinpyproject.toml(name,packages) - Rename
src/myproject/directory to your project name - Rename
tests/imports to match - Update
versioninpyproject.tomlandsrc/<project>/__init__.py - Update
justfilereferences frommyprojectto your project name
MIT