Native reference
Rust crates, the Python binding, data ownership, threading, and ABI support.
pllm-core owns validated integer matrices and native execution. pllm-models owns model-neutral semantic lowering. Research-method crates transform semantic plans. pllm-types owns canonical records; pllm-compiler validates executable plans. pllm-python contains only the PyO3 boundary exposed as pllm._native.
The Python binding copies bytes into validated integer buffers, releases the interpreter lock around core work, and returns immutable bytes. Matrices own their validated weights; dimensions and contents cannot mutate through public Rust APIs. An executor owns its persistent Rayon pool.
The stable Python ABI starts at 3.11. Native Plugin ABI 1 is published as an independently versioned C-compatible vtable/header contract with a dynamic-library conformance fixture. Runtime loading of third-party native libraries is not yet exposed.
Python SDK example
from pllm.kernels import Cpu
descriptor = Cpu.describe()
assert descriptor.distribution == "pllm.run"
assert "cpu" in descriptor.capabilitiesThis inspects built-in metadata without loading a third-party plugin.
API: pllm.kernels.Cpu