# Palladium — common commands. Run `make setup` once, then `make lab`.

VENV    := .venv
PY      := $(VENV)/bin/python
PIP     := $(VENV)/bin/pip

.PHONY: setup lab test check-notebooks lint format clean

## One-time: create venv, install deps + palladium (editable)
setup:
	python3 -m venv $(VENV)
	$(PIP) install --upgrade pip
	$(PIP) install -r requirements.txt
	$(PIP) install -e .
	@echo ""
	@echo "✅ Done. Next:  make lab   → open 00_setup.ipynb"

## Launch Jupyter Lab at the repo root (open 00_setup.ipynb first)
lab:
	$(VENV)/bin/jupyter lab

## Run the test suite (no Athena connection needed — HTTP is mocked).
## Includes the notebook structural suite (tests/test_notebooks.py).
test:
	$(PY) -m pytest tests/ -v

## Structural checks for every master notebook (kernel-free; -rs shows
## why grandfathered notebooks skip the notebook-first tier)
check-notebooks:
	$(PY) -m pytest tests/test_notebooks.py -rs

lint:
	$(VENV)/bin/ruff check .

format:
	$(VENV)/bin/ruff format .

clean:
	rm -rf .pytest_cache .ruff_cache **/__pycache__
