.PHONY: clean test test-live lint typecheck install

clean:
	find . -type d -name __pycache__ -exec rm -rf {} + 2>/dev/null || true
	find . -type d -name .pytest_cache -exec rm -rf {} + 2>/dev/null || true
	find . -type d -name .mypy_cache -exec rm -rf {} + 2>/dev/null || true
	find . -type d -name .ruff_cache -exec rm -rf {} + 2>/dev/null || true
	find . -type d -name '*.egg-info' -exec rm -rf {} + 2>/dev/null || true
	find . -type f -name '*.pyc' -delete 2>/dev/null || true
	rm -rf dist build htmlcov .coverage

test:
	pytest tests/ -m "not network" -v

test-live:
	pytest tests/ -m "network" -v

lint:
	ruff check src/ tests/

typecheck:
	mypy src/

install:
	pip install -e ".[dev]"
