# 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). ## `pyproject.toml` carries the whole runtime toolchain as core deps and ## pytest/ruff in the `dev` extra — `pip install -e ".[dev]"` is enough to ## run, test, and lint. (There is deliberately no requirements.txt: a ## second dependency list is how `make setup` silently rots.) setup: python3 -m venv $(VENV) $(PIP) install --upgrade pip $(PIP) install -e ".[dev]" @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__