.PHONY: sync lint format test build publish clean

sync:
	uv sync

lint:
	uv run ruff check .

format:
	uv run ruff format .

test:
	uv run pytest

build:
	uv build

# Requires UV_PUBLISH_TOKEN (or --token). Builds first.
publish: build
	uv publish

clean:
	rm -rf dist build .pytest_cache .ruff_cache
	find . -type d -name __pycache__ -prune -exec rm -rf {} +
