First release of Makefile.uv.
A drop-in, include-based Makefile that gives any Python project a uv-backed test orchestration layer. Inspired by sio/Makefile.venv.
Install
```bash
curl -sSL https://raw.githubusercontent.com/python-developer-tooling-handbook/makefile.uv/v0.1.0/Makefile.uv -o Makefile.uv
```
Then include Makefile.uv at the top of your project's Makefile.
Targets
sync—uv synctest—uv run pytesttest-py<VER>— run pytest on a specific Python in its own venvtest-all—test-py<VER>for each version inPYTHON_VERSIONSmatrix— Python ×DEP_VARIANTScells (no-op whenDEP_VARIANTSis empty)test-cell-py<VER>-<VAR>— one matrix cellclean— remove venvs and build artifactshelp— targets and current variable values
Overridable variables
PYTHON_VERSIONS, DEP_VARIANTS, PYTEST, UV_VENV_PREFIX, UV_SYNC_FLAGS. All ?= — set them before include Makefile.uv.
Tested on
- Linux (ubuntu-latest)
- macOS (macos-latest, GNU Make 3.81)
- Windows (windows-latest, Git Bash + Chocolatey make)
See README.md for the full usage guide, the 2-axis matrix setup, and known gotchas.