Skip to main content

Prima Principia

Prerequisite-aware course planner for complex postgraduate programs.

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. Prima Principia works backwards from your target units through the full prerequisite chain and outputs a trimester-by-trimester schedule.

Built for Australian law students navigating JD, JD+MIP, and combined qualifications.

Status: pre-alpha — design documentation only. There is no working implementation in this repository yet. The published prima-principia package on PyPI is a name-reservation stub.


What it will do

  • Take your target electives and start trimester as input
  • Resolve the full prerequisite chain automatically
  • Schedule units trimester-by-trimester, respecting offering constraints (T2-only, T3-only, etc.)
  • Flag units offered only in specific years so you don't miss a narrow window
  • Warn when prerequisite data is unverified
  • Optimise across multiple goals (e.g. patent attorney + trade marks attorney + admission)
  • Present the plan as a skill tree: prerequisites as unlock paths, credit points as XP, milestones as badges

Course data

Course and prerequisite data is entered manually — via a web form, JSON import, or CSV import. Automated handbook scraping is not used.

First target: Deakin JD (M729).

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

Prima Principia is open core.

Component Licence
Core scheduler and planner MIT — see LICENSE
Gamification layer (skill tree, XP, badges, quests, build comparison) Proprietary — see LICENSE-PROPRIETARY
Strategy engine (CSP optimisation, multi-goal analysis, out-of-the-box strategies) Proprietary — see LICENSE-PROPRIETARY

© 2026 ShadowStrike. All rights reserved.

Release files for prima-principia 0.1.1

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.1
File Size Uploaded
prima_principia-0.1.1.tar.gz 3.8 kB Details

Built distribution (wheel)

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

Total release size: 8.2 kB

Release files / prima_principia-0.1.1.tar.gz

Download URL prima_principia-0.1.1.tar.gz
Size 3.8 kB
Tags Source
SHA-256 checksum
How to use checksums
f9c4c1a597044925f2c5366f29dc39391000c8811f1563764a91e5f67e49e220
BLAKE2b-256 checksum
How to use checksums
5f53a08732e8a8b11c3bd51e9a740858aac953ee5b517c5a1ee8b4b3b87379f1
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.1-py3-none-any.whl

Download URL prima_principia-0.1.1-py3-none-any.whl
Size 4.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
08f91ec92848442e567770ce2565629eb0341b689c97a985ea624de2bc533816
BLAKE2b-256 checksum
How to use checksums
691bab55f29694bcd41a9c375b5b29623972f1d4e892071389349f1adb6c4cb8
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

This release

0.1.1 This release

2 release files

0.1.0

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