Skip to main content

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 terms
  • smume/student_plan.py – Logic for student-specific academic planning
  • smume/graph_builder.py – Graphviz-based flowchart generation

📌 Notes

  • Term formats are flexible: both Fall and F, and 2025 or 25 are 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)

Source distribution for smume 0.1.8
File Size Uploaded Provenance
smume-0.1.8.tar.gz 99.5 kB Without provenance Details

Built distribution (wheel)

Table of built distributions (wheels) for smume 0.1.8
File Interpreter ABI Platform
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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page