.PHONY: install-dev format check-format test build publish clean

install:
	pip install -e .

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

format:
	python -m black src tests

check-format:
	python -m black --check src tests
	
test:
	pytest tests --cov=src --cov-report=term --cov-report=xml

build:
	python -m build

publish: build
	twine upload dist/*

clean:
	rm -rf dist build *.egg-info

help:
	@echo "Available targets:"
	@echo "  install       - Install the package"
	@echo "  install-dev   - Install the package with development dependencies"
	@echo "  format        - Format the code using black"
	@echo "  check-format  - Check code formatting using black"
	@echo "  test          - Run tests and generate coverage report"
	@echo "  build         - Build the package"
	@echo "  publish       - Publish the package to PyPI"
	@echo "  clean         - Clean build artifacts"
	@echo "  help          - Show this help message"