.PHONY: init check lint format format-check type test example build check-dist publish

PYTHON_PATHS = src tests tools examples

init:
	uv sync --locked

check: lint format-check type test

lint:
	uv run --locked ruff check $(PYTHON_PATHS)
	uv run --locked codespell $(PYTHON_PATHS) README.md README_en.md

format:
	uv run --locked ruff format $(PYTHON_PATHS)

format-check:
	uv run --locked ruff format --check $(PYTHON_PATHS)

type:
	uv run --locked mypy $(PYTHON_PATHS)

test:
	uv run --locked pytest tests

example:
	uv run --locked --with janome==0.5.0 python examples/janome_example.py

build:
	uv build

check-dist:
	uv run --locked python tools/check_dist.py dist

publish: check-dist
	uv publish dist/*
