43 lines
1.3 KiB
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__
|