SMUME: Saint Martin's University Mechanical Engineering Curriculum Planner
SMUME is a Python-based tool for visualizing and managing Mechanical Engineering degree plans at Saint Martin’s University. It supports students, advisors, and faculty by offering a flexible and programmable way to define curricula, create student-specific academic plans, and generate dependency-aware flowcharts.
🔧 Features
For Students & Advisors
- Student Plans: Generate a personalized academic plan from a catalog year and start term (e.g., Fall 2024).
- Prerequisite Checking: Automatically detect and highlight missing or improperly sequenced prerequisites, corequisites, and concurrent prerequisites.
- Flowchart Generation: Render academic plans as dependency graphs with color-coded course categories, term clustering, and visual indicators for completion and violations.
For Faculty
- Curriculum Definition: Easily define new curriculum structures using Python—no GUI builder required.
- Generic Plans: Assign default term-by-term layouts for catalog years.
- Extensibility: Add metadata like full course names, notes, and categories (Core, Math/Science, GE, ME, Other).
📁 Project Structure
smume/curricula/– Defines catalog year curricula (e.g._2024_25.py)smume/generic_plans/– Maps courses to default termssmume/student_plan.py– Logic for student-specific academic planningsmume/graph_builder.py– Graphviz-based flowchart generation
📌 Notes
- Term formats are flexible: both
FallandF, and2025or25are valid. - Curriculum and plan objects are fully programmable—ideal for integration into other workflows or GUIs.
- Graphs highlight completed courses (gray, checkmarks), unmet dependencies (red), and visually group courses by academic term.
📚 Example
👥 Who It's For
- Students: Visualize and adjust your academic plan semester by semester.
- Advisors: Confirm course sequencing and verify prerequisite compliance.
- Faculty: Define and revise curriculum plans in code with minimal friction.
🛠️ Future Work
- Web frontend
- Support for electives and transfer credit
- Improved drag-and-drop UI for plan adjustment
🚀 Quick Start
Install the package with pip:
pip install smume
For development:
git clone https://github.com/YOUR_USERNAME/smu-curriculum-flowcharts.git
cd smu-curriculum-flowcharts
poetry install
Usage examples:
# Clone and install
poetry install
# Example: generate a graph for the 2024–25 curriculum
poetry run python scripts/generate_generic_graph.py 2024-25
# Example: create and render a student plan
poetry run python scripts/generate_student_graph.py 2024-25 --start-year 2024 --start-term Fall
MIT Licensed · Developed by Dr. Rico Picone and collaborators
Metadata
Release files for smume 0.1.8
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| smume-0.1.8.tar.gz | 99.5 kB | Without provenance | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| smume-0.1.8-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 210.4 kB
Release files / smume-0.1.8.tar.gz
| Download URL | smume-0.1.8.tar.gz |
|---|---|
| Size | 99.5 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
432825fc098337ac227f617ec78c0c27c9125fc7a0bb08a07c35169d4fbf91cd
|
|
BLAKE2b-256 checksum How to use checksums |
25e76e26b191a45b0117b9e8d48971d7d95c171095b26c797cafdf36d61c689b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.1 CPython/3.12.9 Darwin/24.5.0
|
Release files / smume-0.1.8-py3-none-any.whl
| Download URL | smume-0.1.8-py3-none-any.whl |
|---|---|
| Size | 111.0 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
e62c1c6a326625a6f03584b5ae02601368856c06a686d35122b9f56743723d8c
|
|
BLAKE2b-256 checksum How to use checksums |
c8c56922b206fb65bdc1a0d76aa9ab2655cf0659a437791d7deb43d7b04efda4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.8.1 CPython/3.12.9 Darwin/24.5.0
|
Security for smume 0.1.8
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.