mirror of
https://github.com/harvard-edge/cs249r_book.git
synced 2026-05-08 18:01:20 -05:00
Branch added bib_mitpress_openai.py at the repo root, but the convention for these standalone bibliography utilities is book/tools/scripts/ — that's where the predecessor it replaces (bib_verify_gemini.py) lived, and where its sibling tools (check_bib_boundaries.py, check_bib_qmd_integrity.py, figure_audit_gemini.py, etc.) live. Moved the file and updated its REPO_ROOT computation from 'Path(__file__).resolve().parent' (which only worked at repo root) to 'Path(__file__).resolve().parents[3]' (correct for the new location). Smoke-tested with --help; runs cleanly. Nothing else in the repo references this script by path.
Scripts directory
Python and shell automation used by the Machine Learning Systems textbook tooling. Most behavior is exposed through the Book Binder CLI; this tree is the implementation layer.
Use Binder first
From the repository root:
./book/binder validate all
./book/binder maintain repo-health
./book/binder help
If your shell is already in book/, use ./binder instead of ./book/binder.
Full command list, validation options, and setup: book/docs/BINDER.md.
Direct python3 book/tools/scripts/... use is for maintenance or cases not wired into Binder yet. Prefer ./book/binder when a subcommand exists.
Subfolder docs
| Area | README |
|---|---|
| Content tools | content/README.md |
| Images | images/README.md |
| Glossary | glossary/README.md |
| Infra / CI helpers | infrastructure/README.md |
| Utilities | utilities/README.md |
| Extra script notes | docs/README.md |
Other directories (publish/, maintenance/, testing/, socratiQ/) are documented here only where needed; see source and --help on individual scripts.
Shell entrypoints (often run outside Binder)
These are common when you need the exact script interface:
./book/tools/scripts/publish/mit-press-release.sh --vol1
./book/tools/scripts/publish/publish.sh
./book/tools/scripts/maintenance/run_maintenance.sh
Python scripts
Use Python 3. Most modules support --help:
python3 book/tools/scripts/publish/extract_figures.py --help