First five minutes

Get started

Install Axiom, maintain a matching through live updates, and verify the result without leaving this site.

Alpha installation

Axiom is currently installed directly from the repository. Package distribution and reproducible release artifacts remain open qualification work; follow the alpha-state page for progress.

pip install git+https://github.com/sachncs/axiom.git

Create a matcher

The examples below use the in-memory Matcher API. For durable local operation, use Durable or the thread-safe Service; both use the same two supported matching modes, basic and multilevel. Basic is the default.

from axiom import Matcher

matcher = Matcher(n=6, mode="basic")
matcher.insert(0, 1)
matcher.insert(2, 3)
matcher.delete(1, 0)

print(matcher.matching())
print(matcher.partner(2))
print(matcher.stats()["matching_size"])
print(matcher.maximal())

Expected result

{(2, 3)}
3
1
True

What to expect

  1. Vertices are numbered from 0 through n - 1.
  2. Updates are explicit: insert an edge before deleting it.
  3. Maximality is maintained after each accepted update.
  4. Both modes are deterministic for the same input sequence.

Implementation and qualification are distinct. Durable and Service support both Basic and Multilevel, including bounded atomic update batches and version-coherent read snapshots. Current paper-mode performance and deployment reliability are not yet qualified against the project targets. The former native matcher and native checkpoint path have been removed; historical native measurements do not qualify these modes.

Use the state safely

matching(), partners(), and stats() return inspection data. They do not become a second mutation API. Keep one owner for each matcher and serialize updates when a stream is shared across workers.

Choose your next step

NextUnderstand the model