8674-Project / README_COMPACT_MIN.md
ckharche's picture
PROJECT SUMMARY
1a5edf3 verified

A newer version of the Streamlit SDK is available: 1.53.1

Upgrade

PROJECT SUMMARY

Scrapes course data, builds a prerequisite graph, analyzes issues, optimizes a term by term plan, and exports .pkl artifacts for the UI to load. Inputs raw course pages. Outputs files like neu_graph_fixed_prereqs.pkl.

HIGHLIGHTS

  • purpose make course planning fast and correct
  • artifacts .pkl, fixed.pkl, graph.pkl, neu_graph_clean.pkl, neu_graph_clean3.pkl, neu_graph_clean6.pkl, neu_graph_fixed.pkl, neu_graph_ultra_clean.pkl, neu_merged_courses...pkl, neu_merged_graph_...pkl
  • stack python, ast, simple web io

DATA FLOW

flowchart LR
  ui --> curriculum_optimizer
  ui --> interactive_visualizer

KEY MODULES

module role top functions
agentic_optimizer Optimizes course plan main
curriculum_analyzer Analyzes graph and flags issues get_course_level main
curriculum_optimizer Optimizes course plan
inspect_graph Deep inspection and fixes inspect_graph_thoroughly suggest_fix_commands
interactive_visualizer Interactive graph viewer
neu_scraper Scrapes course pages main
ui Simple UI to load artifacts get_optimizer export_plan_yaml check_requirements_satisfaction

AGENTIC_OPTIMIZER

function signature brief
main main() Main entry

CURRICULUM_ANALYZER

function signature brief
get_course_level get_course_level(cid) Extracts the numerical part of a course ID for level checking.
main main(args) Main execution flow.

INSPECT_GRAPH

function signature brief
inspect_graph_thoroughly inspect_graph_thoroughly(graph_file) Complete inspection of curriculum graph data
suggest_fix_commands suggest_fix_commands(graph_file) Suggest specific commands to fix issues

NEU_SCRAPER

function signature brief
main main() Main entry

UI

function signature brief
get_optimizer get_optimizer() Loads and caches the main optimizer class and its models.
export_plan_yaml export_plan_yaml(plan, profile, validation) Export plan in structured YAML format for verification
check_requirements_satisfaction check_requirements_satisfaction(plan, track) Check which requirements are satisfied by the plan

IO ARTIFACTS

  • .pkl
  • _fixed.pkl
  • graph.pkl
  • neu_graph_clean.pkl
  • neu_graph_clean3.pkl
  • neu_graph_clean6.pkl
  • neu_graph_fixed.pkl
  • neu_graph_ultra_clean.pkl
  • neu_merged_courses_...pkl
  • neu_merged_graph_...pkl

QUICK START

  1. create env and install deps
  2. run one of: python agentic_optimizer.py python curriculum_analyzer.py python inspect_graph.py python neu_scraper.py