Skip to content

v0.2.0 — lint/format/typecheck, PEP 735 groups, per-env logs

Choose a tag to compare

@tdhopper tdhopper released this 21 Apr 17:25
· 19 commits to main since this release

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.