Spaces:
Sleeping
Sleeping
PROJECT SUMMARY
Browse files- README_COMPACT_MIN.md +76 -0
README_COMPACT_MIN.md
ADDED
|
@@ -0,0 +1,76 @@
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| 1 |
+
PROJECT SUMMARY
|
| 2 |
+
|
| 3 |
+
Scrapes course data, builds a prerequisite graph, analyzes issues, optimizes a term by term plan, and exports .pkl artifacts for the UI to load.
|
| 4 |
+
Inputs raw course pages. Outputs files like neu_graph_fixed_prereqs.pkl.
|
| 5 |
+
|
| 6 |
+
HIGHLIGHTS
|
| 7 |
+
* purpose make course planning fast and correct
|
| 8 |
+
* 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
|
| 9 |
+
* stack python, ast, simple web io
|
| 10 |
+
|
| 11 |
+
DATA FLOW
|
| 12 |
+
```mermaid
|
| 13 |
+
flowchart LR
|
| 14 |
+
ui --> curriculum_optimizer
|
| 15 |
+
ui --> interactive_visualizer
|
| 16 |
+
```
|
| 17 |
+
|
| 18 |
+
KEY MODULES
|
| 19 |
+
| module | role | top functions |
|
| 20 |
+
|---|---|---|
|
| 21 |
+
| agentic_optimizer | Optimizes course plan | main |
|
| 22 |
+
| curriculum_analyzer | Analyzes graph and flags issues | get_course_level main |
|
| 23 |
+
| curriculum_optimizer | Optimizes course plan | |
|
| 24 |
+
| inspect_graph | Deep inspection and fixes | inspect_graph_thoroughly suggest_fix_commands |
|
| 25 |
+
| interactive_visualizer | Interactive graph viewer | |
|
| 26 |
+
| neu_scraper | Scrapes course pages | main |
|
| 27 |
+
| ui | Simple UI to load artifacts | get_optimizer export_plan_yaml check_requirements_satisfaction |
|
| 28 |
+
|
| 29 |
+
AGENTIC_OPTIMIZER
|
| 30 |
+
| function | signature | brief |
|
| 31 |
+
|---|---|---|
|
| 32 |
+
| main | `main()` | Main entry |
|
| 33 |
+
|
| 34 |
+
CURRICULUM_ANALYZER
|
| 35 |
+
| function | signature | brief |
|
| 36 |
+
|---|---|---|
|
| 37 |
+
| get_course_level | `get_course_level(cid)` | Extracts the numerical part of a course ID for level checking. |
|
| 38 |
+
| main | `main(args)` | Main execution flow. |
|
| 39 |
+
|
| 40 |
+
INSPECT_GRAPH
|
| 41 |
+
| function | signature | brief |
|
| 42 |
+
|---|---|---|
|
| 43 |
+
| inspect_graph_thoroughly | `inspect_graph_thoroughly(graph_file)` | Complete inspection of curriculum graph data |
|
| 44 |
+
| suggest_fix_commands | `suggest_fix_commands(graph_file)` | Suggest specific commands to fix issues |
|
| 45 |
+
|
| 46 |
+
NEU_SCRAPER
|
| 47 |
+
| function | signature | brief |
|
| 48 |
+
|---|---|---|
|
| 49 |
+
| main | `main()` | Main entry |
|
| 50 |
+
|
| 51 |
+
UI
|
| 52 |
+
| function | signature | brief |
|
| 53 |
+
|---|---|---|
|
| 54 |
+
| get_optimizer | `get_optimizer()` | Loads and caches the main optimizer class and its models. |
|
| 55 |
+
| export_plan_yaml | `export_plan_yaml(plan, profile, validation)` | Export plan in structured YAML format for verification |
|
| 56 |
+
| check_requirements_satisfaction | `check_requirements_satisfaction(plan, track)` | Check which requirements are satisfied by the plan |
|
| 57 |
+
|
| 58 |
+
IO ARTIFACTS
|
| 59 |
+
* .pkl
|
| 60 |
+
* _fixed.pkl
|
| 61 |
+
* graph.pkl
|
| 62 |
+
* neu_graph_clean.pkl
|
| 63 |
+
* neu_graph_clean3.pkl
|
| 64 |
+
* neu_graph_clean6.pkl
|
| 65 |
+
* neu_graph_fixed.pkl
|
| 66 |
+
* neu_graph_ultra_clean.pkl
|
| 67 |
+
* neu_merged_courses_...pkl
|
| 68 |
+
* neu_merged_graph_...pkl
|
| 69 |
+
|
| 70 |
+
QUICK START
|
| 71 |
+
1. create env and install deps
|
| 72 |
+
2. run one of:
|
| 73 |
+
python agentic_optimizer.py
|
| 74 |
+
python curriculum_analyzer.py
|
| 75 |
+
python inspect_graph.py
|
| 76 |
+
python neu_scraper.py
|