Skip to main content

prima-principia

Prerequisite-aware university course schedule generator.

Work out the fastest valid path through your degree — given which units you want, when you can start, and how many units per trimester you can handle. Works backwards from your target units through the full prerequisite chain and outputs a trimester-by-trimester schedule.

Status: development in progress. The algorithm and Deakin JD dataset are built and validated. The full web app and Python package are in active development.


What it does

  • Takes your target electives and start trimester as input
  • Resolves the full prerequisite chain automatically
  • Schedules units trimester-by-trimester, respecting offering constraints (T2-only, T3-only, etc.)
  • Flags units offered only in specific years so you don't miss a narrow window
  • Warns when prerequisite data is unverified

Current support

  • Deakin JD (M729) — 2026 and 2027 handbooks

Planned

  • Multi-university support (UTS JD, UNSW JD, UNE LLB)
  • Semester structure (not just trimesters)
  • iOS / Android (React Native + Expo)
  • User accounts — track completed units, update schedule live

Install

pip install prima-principia

Stub release only. Full implementation coming — star the repo to follow progress.


Licence

MIT — see LICENSE

© 2026 ShadowStrike. Licensed under the MIT Licence.

Release files for prima-principia 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for prima-principia 0.1.0
File Size Uploaded
prima_principia-0.1.0.tar.gz 2.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for prima-principia 0.1.0
File Interpreter ABI Platform
prima_principia-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 5.7 kB

Release files / prima_principia-0.1.0.tar.gz

Download URL prima_principia-0.1.0.tar.gz
Size 2.8 kB
Tags Source
SHA-256 checksum
How to use checksums
8ff9c6d0daa7e2068c9a407e6ca1592c07e8e2532c361de2ecbc2b2cdf77e771
BLAKE2b-256 checksum
How to use checksums
b22484b83a9886bcfe0df3ca0fc5c9f583735586e07ad970976ffd22baf74b86
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release files / prima_principia-0.1.0-py3-none-any.whl

Download URL prima_principia-0.1.0-py3-none-any.whl
Size 2.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
ccae105fbfd6fd79842f37831f2f4ba8a982e0686f25c3483d90ecf3963a8cb0
BLAKE2b-256 checksum
How to use checksums
c378c4a41d8c981a7992e5e483386dca521b50879e8eeb41f8984a8360ead1de
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.13.14

Release history Release notifications | RSS feed

1.0.0

2 release files

0.1.1

2 release files

This release

0.1.0 This release

2 release files

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