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

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

.PHONY: setup lab app test 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

## Launch the Streamlit data-entry app
app:
	$(VENV)/bin/streamlit run app/main.py

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

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

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

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