.PHONY: install test test-unit test-integration lint build clean smoke-test docker docker-down notebook-server notebook-server-down

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

test:
	pytest --cov=modelstudio --cov-report=term -v

test-unit:
	pytest tests/ -m "not integration" --cov=modelstudio --cov-report=term -v

test-integration:
	pytest tests/integration/ -m integration -v

lint:
	ruff check src/ tests/
	mypy src/

build:
	pip install build
	python -m build

smoke-test:
	python scripts/smoke_test.py

docker:
	cd docker && docker compose up --build

docker-down:
	cd docker && docker compose down

notebook-server:
	cd docker && docker compose up --build jupyter-server

notebook-server-down:
	cd docker && docker compose down jupyter-server

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