| Crates.io | nu-analytics |
| lib.rs | nu-analytics |
| version | 0.1.0 |
| created_at | 2026-01-08 03:24:11.606284+00 |
| updated_at | 2026-01-08 03:24:11.606284+00 |
| description | A CLI tool for computing Curricular Analytics metrics. Based off metrics from CurricularAnalytics.org. Currently, only basic metrics and additional reporting features. |
| homepage | |
| repository | https://github.com/NeuCurricularAnalytics/NuAnalytics |
| max_upload_size | |
| id | 2029471 |
| size | 4,934,922 |
NuAnalytics is a Rust-based tool for analyzing computer science curricula. It computes detailed metrics about curriculum structure including complexity, blocking relationships, delay paths, and centrality measures to help understand how courses are organized and their impact on students.
It is based off the work of Greg Heileman, and CurricularAnalytics.org. Current version just provides a command line batch capability and more report options.
Install the CLI via Cargo:
cargo install nu-analytics
This provides the nuanalytics binary globally.
Install directly from Git:
cargo install --git https://github.com/NeuCurricularAnalytics/NuAnalytics --bin nuanalytics
cargo build --release
The executable will be at target/release/nuanalytics.
Analyze a curriculum CSV file and generate both metrics CSV and HTML report:
nuanalytics planner path/to/curriculum.csv
Generate only a PDF report:
nuanalytics planner path/to/curriculum.csv --no-csv --report-format pdf
Generate only CSV metrics (no report):
nuanalytics planner path/to/curriculum.csv --no-report
Manage configuration:
nuanalytics config get level
nuanalytics config set level debug
If you are contributing or working locally, see Development.md for cargo run workflows and setup.
├── src/
│ ├── cli/ # Command-line interface
│ │ ├── main.rs # CLI entry point
│ │ ├── args.rs # Argument definitions (clap)
│ │ └── commands/ # Command handlers
│ ├── core/ # Core analysis engine
│ │ ├── config.rs # Configuration management
│ │ ├── metrics.rs # Metric computation algorithms
│ │ ├── metrics_export.rs # CSV export functionality
│ │ ├── models/ # Data structures (Course, Degree, Plan, School, DAG)
│ │ ├── planner/ # CSV parsing and planning
│ │ └── report/ # Report generation
│ │ ├── formats/ # HTML, PDF, Markdown reporters
│ │ └── term_scheduler.rs # Course scheduling algorithm
│ ├── logger/ # Internal logging module
│ └── lib.rs # Library exports
├── tests/ # Integration and unit tests
├── docs/ # Documentation
└── Cargo.toml # Project manifest
Self-contained HTML files with:
Generated via headless Chrome/Chromium:
Simple text-based reports suitable for:
See LICENSE file for details.