Three features from the v0.2 roadmap, all validated against real tox-using projects before landing.
New targets
- `make lint` — runs `uv run $(LINT)`, default `ruff check`
- `make format` — runs `uv run $(FORMAT)`, default `ruff format`
- `make typecheck` — runs `uv run $(TYPECHECK)`, default `mypy`
Override `LINT` / `FORMAT` / `TYPECHECK` to swap tools (e.g. `TYPECHECK := ty check` for ty).
New variables
-
`DEP_MODE` (default `extra`) — set to `group` to use PEP 735 `[dependency-groups]` for matrix variants instead of PEP 621 `[project.optional-dependencies]`. Groups fit "with feature X vs baseline" axes more naturally than extras do.
-
`LOG_DIR` (default empty) — set to a directory and each `test-py` / `test-cell-py-` tees its output to `$LOG_DIR/py.log` / `$LOG_DIR/cell--.log`. Useful under parallel `make -j` where streams would otherwise interleave. `make clean` sweeps the directory.
Install
```bash
curl -sSL https://raw.githubusercontent.com/python-developer-tooling-handbook/makefile.uv/v0.2.0/Makefile.uv -o 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.