Spaces:
Sleeping
Sleeping
| 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 | |
| ```mermaid | |
| 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 |