Spaces:
Sleeping
Sleeping
A newer version of the Streamlit SDK is available:
1.53.1
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
- create env and install deps
- run one of: python agentic_optimizer.py python curriculum_analyzer.py python inspect_graph.py python neu_scraper.py