NTT-learning/ntt_learning/course.py

45 lines
1 KiB
Python

"""Course-level constants shared by tooling and tests."""
from __future__ import annotations
from pathlib import Path
REPO_ROOT = Path(__file__).resolve().parent.parent
ROUTE_NOTEBOOKS = [
Path("notebooks/START_HERE.ipynb"),
Path("notebooks/COURSE_BLUEPRINT.ipynb"),
]
FOUNDATION_BUNDLE_DIR = Path("notebooks/foundations/01_convolution_to_toy_ntt")
TECHNICAL_NOTEBOOKS = [
FOUNDATION_BUNDLE_DIR / "lecture.ipynb",
FOUNDATION_BUNDLE_DIR / "lab.ipynb",
FOUNDATION_BUNDLE_DIR / "problems.ipynb",
FOUNDATION_BUNDLE_DIR / "studio.ipynb",
]
ALL_NOTEBOOKS = ROUTE_NOTEBOOKS + TECHNICAL_NOTEBOOKS
NOTEBOOK_SEQUENCE = [
ROUTE_NOTEBOOKS[0],
ROUTE_NOTEBOOKS[1],
*TECHNICAL_NOTEBOOKS,
]
REQUIRED_SCRIPT_NAMES = [
"bootstrap.sh",
"start.sh",
"stop.sh",
"restart.sh",
"status.sh",
"reset-state.sh",
"validate.sh",
]
CELL_ROLES = {"meta", "mandatory", "facultative"}
ROUTE_ONLY_ROLES = {"meta", "mandatory"}
MANDATORY_DIFFICULTIES = {1, 2, 3}
FACULTATIVE_DIFFICULTIES = {4, 5, 6, 7, 8, 9, 10}