Makefile 1.04 KB
Newer Older
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
.PHONY: help setup format lint test clean bump build

help:
	@echo "Available targets:"
	@echo "  make setup           - Create venv, install all dependencies"
	@echo "  make format          - Auto-fix and format code (ruff)"
	@echo "  make lint            - Check code style and errors without modifying files (ruff)"
	@echo "  make test            - Run all unit tests (pytest)"
	@echo "  make clean           - Remove build caches and the virtual environment"
	@echo "  make bump part=X     - Bump version (patch/minor/major or set X.Y.Z)"
	@echo "  make build           - Build wheel and sdist into dist/"

setup:
	@echo ">> Initializing virtual environment and installing dependencies..."
	uv sync --group dev

format:
	uv run ruff check --fix src/
	uv run ruff format src/

lint:
	uv run ruff check src/
	uv run ruff format --check src/

test:
	uv run pytest -v

clean:
	rm -rf .pytest_cache .ruff_cache .venv dist
	find src -type f -name "*.pyc" -delete
	find src -type d -name "__pycache__" -delete

bump:
	uvx bump-my-version bump $(part)

build:
	uv build