A package for Saint Martin's University Mechanical Engineering students to create a custom flowchart for their academic plan.
Project description
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
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file smume-0.1.7.tar.gz.
File metadata
- Download URL: smume-0.1.7.tar.gz
- Upload date:
- Size: 99.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.1 CPython/3.12.9 Darwin/24.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
7a4c537ebe11dc455518bce127cc6267051788f948922113ef4df85c7dd479b9
|
|
| MD5 |
2a75a9bb403e96650f372aeaf0da44c2
|
|
| BLAKE2b-256 |
e172fa07652384f7d858c27eaa6be6e365c99b6f87af4b70d0f7cfb2fb6d3fd8
|
File details
Details for the file smume-0.1.7-py3-none-any.whl.
File metadata
- Download URL: smume-0.1.7-py3-none-any.whl
- Upload date:
- Size: 110.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.8.1 CPython/3.12.9 Darwin/24.5.0
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
4c2566549520b770bd945c505cd50fff566e82c42ec3cdd5a4422160b630dca5
|
|
| MD5 |
be15cba85e37c6943464be94e6327d9f
|
|
| BLAKE2b-256 |
8dfdf0d4ebd3c7861a341298e8022a7cb35f25051b64e3dc374a221cebeb9909
|