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)
| File | Size | Uploaded | |
|---|---|---|---|
| prima_principia-0.1.0.tar.gz | 2.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| 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
|