This release is a pre-release and may not be stable for production use.
PRIN — Phase-Resonance Interference Network
PRIN is the from-scratch rebuild of PRINet 3.0: a scientific ML framework built on coupled-oscillator dynamics (Kuramoto, Stuart–Landau, Hopf), hierarchical δ/θ/γ band networks with phase–amplitude coupling (PAC), polyadic tensor decomposition, and PyTorch-compatible trainable layers for temporal object binding and multi-object tracking (MOT).
PRIN is a two-layer system:
- Rust core (
crates/) — all oscillator dynamics, integrators, coupling topologies, sparse ops, phase metrics, tensor decomposition, simulation engine, and GPU kernels (single-source CubeCL kernels compiling to CUDA / Metal / Vulkan / CPU SIMD). - Thin Python package (
python/prin/) — the public API (PRINet-3.0-compatible symbols),torch.autograd.Functionbridges with zero-copy DLPack tensor exchange, matplotlib figure generation, benchmark drivers, and the reproducibility pipeline.
Status
Phase 0 pre-alpha foundation. WP-001 established a deterministic repository
inventory, complete PRINet 3.0 API-to-work-package traceability, metadata
validation, and measured quality/security baselines. WP-002 delivered the
versioned golden-trajectory corpus (504 cases) and differential parity harness.
WP-003 prototyped the PyO3/DLPack zero-copy Torch↔Rust bridge with batched
boundary calls, ownership/lifetime handling, dtype/device validation, and
microbenchmark instrumentation. WP-004 prototyped the first single-source
CubeCL fused mean-field RK4 kernel in crates/prin-kernels (step_cpu,
try_step_wgpu/try_step_cpu/try_step_cuda), with a CPU reference, wgpu
kernel-equivalence validation at N=1M, and a typed MeanFieldRk4Error
fallback. See the latest
Project State Report for the authoritative active
session and trajectory.
Installation (development)
The released PyPI distribution is prin-core; the import name is prin
(pip install prin-core → import prin). Project Plan amendment #46 moved the
distribution name because PyPI's prin belongs to an unrelated project last
released in 2015.
# Requires Rust (stable) and Python >= 3.11
python -m venv .venv
.venv\Scripts\activate # Windows
pip install maturin
maturin develop -m crates/prin-py/Cargo.toml
pip install -e ".[dev]"
Repository layout
PRIN/
├── Cargo.toml # Rust workspace
├── crates/ # prin-dynamics, prin-metrics, prin-tensor, prin-kernels,
│ # prin-sim, prin-train, prin-daemon, prin-py (PyO3)
├── python/prin/ # pure-Python layer (public API, torch bridges, reporting)
├── parity/ # golden-trajectory corpus + differential tests vs PRINet 3.0
├── benchmarks/ # 9 category packages + benchrunner CLI
├── tests/ # pytest acceptance and repository-control tests
├── tools/ # baseline/traceability tooling; guarded reproduction
├── models/ # subconscious_controller.onnx
├── notebooks/ # tutorial notebooks
├── paper/ # NeurIPS paper artefacts
├── DOCS/ # plan, standards, baselines, audits, reports, Sphinx
└── .github/workflows/ # quality, security, parity, repro, GPU, release CI
Governance documents
| Document | Purpose |
|---|---|
DOCS/PRIN_Project_Plan.md |
Official project plan, roadmap, and Session Cycle methodology |
DOCS/standards/Development_Workflow_and_Audit_Standards.md |
The self-auditing Session Cycle (code → audit → remediate → document) |
DOCS/sessions/README.md |
Complete 198-session execution plan from WP-001 through stable 1.0.0 |
DOCS/sessions/SESSION_REGISTER.md |
Exact global session order, status, and links to every brief |
DOCS/standards/Coding_Standards.md |
Rust + Python coding and security standards |
DOCS/standards/Testing_Standards.md |
Testing and numerical-parity standards |
DOCS/standards/Documentation_Standards.md |
Documentation standards |
DOCS/standards/Benchmarking_and_Reproducibility_Standards.md |
Benchmarking and reproducibility standards |
DOCS/standards/Experimentation_Standards.md |
Pre-registered scientific experimentation standards |
DOCS/standards/Versioning_and_Release_Standards.md |
Versioning, CI/CD, and release standards |
CONTRIBUTING.md |
Contribution workflow |
AGENTS.md |
Agent/IDE notes and local verification commands (kept in sync with CI) |
License
MIT — see LICENSE.
Metadata
Release files for prin-core 1.0.0rc1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| prin_core-1.0.0rc1.tar.gz | 989.2 kB | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| prin_core-1.0.0rc1-cp311-abi3-win_amd64.whl | CPython 3.11 | abi3 | Windows x86-64 | Details |
| prin_core-1.0.0rc1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.11 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| prin_core-1.0.0rc1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.11 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| prin_core-1.0.0rc1-cp311-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl | CPython 3.11 | abi3 | macOS 10.12+ universal2 (ARM64, x86-64), macOS 10.12+ x86-64, macOS 11.0+ ARM64 | Details |
Total release size: 18.2 MB
Release files / prin_core-1.0.0rc1.tar.gz
| Download URL | prin_core-1.0.0rc1.tar.gz |
|---|---|
| Size | 989.2 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
bae20230808b35153e63c5861236684d599f7b115ba41bc66b5b2680ae875896
|
|
BLAKE2b-256 checksum How to use checksums |
0399c8cae2b14337c2c275c9e6736c352aa2e61784d12c3d176c4ee55a432754
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / prin_core-1.0.0rc1-cp311-abi3-win_amd64.whl
| Download URL | prin_core-1.0.0rc1-cp311-abi3-win_amd64.whl |
|---|---|
| Size | 3.7 MB |
| Tags | CPython 3.11 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
0275f2466932d066503d82026394b0c25a7c58da7d7cd6f7467956fa54fc2d3e
|
|
BLAKE2b-256 checksum How to use checksums |
0b5803bf9f7444ecb5514f4311cbb9fae9f0397a80ff90287ec3cfdcedbddeb9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / prin_core-1.0.0rc1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | prin_core-1.0.0rc1-cp311-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 3.8 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
81a5c2caac0faf7fe0066d1f3931a77712746c4c335cb85608d80e68a78c9fa3
|
|
BLAKE2b-256 checksum How to use checksums |
84e4f34c62fd4bfdd57537c6dbf4c921980e622c42225e04c7e740a22c11aed7
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / prin_core-1.0.0rc1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | prin_core-1.0.0rc1-cp311-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 3.3 MB |
| Tags | CPython 3.11 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
a6471e2b23b3df3f3a8c9a61f6f2d68eebf40da7e7f5deb675b5014202efadec
|
|
BLAKE2b-256 checksum How to use checksums |
9a18de1c0c7e71b7725084fc0771b126a3272af7a0c576841838d8b582f73ef3
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Release files / prin_core-1.0.0rc1-cp311-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl
| Download URL | prin_core-1.0.0rc1-cp311-abi3-macosx_10_12_x86_64.macosx_11_0_arm64.macosx_10_12_universal2.whl |
|---|---|
| Size | 6.3 MB |
| Tags | CPython 3.11 abi3 macOS 10.12+ universal2 (ARM64, x86-64) macOS 10.12+ x86-64 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
c150ae2df6901a5c3ae75378e2e66f78975467eec3bcddecae87db1fafefb14d
|
|
BLAKE2b-256 checksum How to use checksums |
817d868a47fa7a62fb0f45dc6cfe746554e1d9da42c772b11d59e6a118a74e9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|