github python-developer-tooling-handbook/makefile.uv v0.1.0
v0.1.0 — initial release

latest releases: v0.4.1, v0.4.0, v0.3.0...
4 months ago

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

  • syncuv sync
  • testuv run pytest
  • test-py<VER> — run pytest on a specific Python in its own venv
  • test-alltest-py<VER> for each version in PYTHON_VERSIONS
  • matrix — Python × DEP_VARIANTS cells (no-op when DEP_VARIANTS is empty)
  • test-cell-py<VER>-<VAR> — one matrix cell
  • clean — remove venvs and build artifacts
  • help — 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.

Don't miss a new makefile.uv release

NewReleases is sending notifications on new releases.