Files
palladium/Makefile

43 lines
1.3 KiB
Makefile

# 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__