This release is a pre-release and may not be stable for production use.
Positorium
A database for facts that disagree.
Positorium preserves conflicting claims instead of forcing them into one current value. Every assertion can retain its source, certainty, appearance time, and assertion time, so corrections never erase the evidence that came before.
It is an experimental embedded evidence database with an immutable posit model, the Traqula query language, an append-only native store, Python bindings, a trusted-local HTTP service, and an in-browser WASM testbed.
The repository is preparing 0.1.4-beta.2; the latest tagged release is
0.1.4-beta.1.
Beta means the documented language, storage, transfer, and interface versions
have explicit compatibility rules; it does not mean an Internet-facing or
production-ready service.
Run the 60-second browser example · Get started · Browse all documentation
Python
The source tree contains an embedded Python package for CPython 3.9+ on Linux, macOS, and Windows. It needs no separate Positorium server. Until beta.2 is published to PyPI, install it from a source checkout with Rust available:
python -m pip install .
After beta.2 is published, the prerelease install will be:
python -m pip install --pre positorium
import positorium
with positorium.Database.memory() as database:
result = database.execute_one(
'add role name; add posit [{(+person, name)}, "Ada", @NOW]; '
'search [{(?person, name)}, ?name, *] return ?person, ?name;'
)
print(result[0]["person"].text, result[0]["name"].text)
Use Database.open("positorium.store") for an append-only persistent store.
Results retain each cell's kind and exact entered text. See the
Python guide for typed parameters, Terrain, Pandas,
exceptions, and lifecycle rules.
Why Positorium?
Most databases converge on one current value. Positorium preserves evidence:
- contradictory posits remain available instead of overwriting each other;
- expressed time precision is part of the stored fact;
- assertions record who ascertained a posit, with signed certainty and time;
- snapshots and
in effectqueries make resolution policy explicit; and - exact entered literals survive native storage, HTTP, SSE, and WASM results.
This is useful for compliance evidence, investigations, conflicting master data, and other domains where evidence accumulates and is revised. Positorium can serve as a focused evidence layer alongside existing operational systems; it does not need to replace them.
Five-minute source checkout
Install rustup, then build and start the trusted-local server from the repository root:
cargo build --release --locked
./target/release/positorium
In another terminal, resolve or create one identity:
curl --fail-with-body --silent --show-error \
http://127.0.0.1:8080/v1/query \
-H 'content-type: application/json' \
--data '{"traqula_version":1,"script":"add role name; search [{(?person, name), ...}, \"Ada\", *] return ?person or add posit [{(+person, name)}, \"Ada\", @NOW];","stream":false}'
The response should have "status":"ok" and one thing result cell. Stop the
server with Ctrl-C. The default creates positorium.store and reopens it on the
next start.
For release archives, checksum verification, Windows commands, persistence checks, backup, Query Studio setup, and troubleshooting, follow Getting started.
Beta boundaries
- The native server binds to
127.0.0.1by default and has no authentication. Never expose it to an untrusted network. - One process owns a store and executes scripts serially.
- The append-only store detects committed corruption but is not a tamper-proof audit log.
- Authentication, replication, distributed execution, and container packaging are outside the current beta.
- Independent contract versions are listed in Contracts.
Current capabilities
- Immutable Things, Roles, appearance sets, posits, and assertion envelopes
- Lossless literal tokens and precision-aware temporal relations
- Traqula joins, union, safe
not exists, snapshots, typed predicates,in effect, parameters, distinctness, ordering, and limits - Atomic durable mutation batches with deterministic replay and recovery
- Inspection, physical backup, logical export/import, and identity remapping
- Structured Rust, buffered HTTP, SSE, and WASM results
- Embedded Python 3.9+ bindings with structured lossless results
- Query Studio and authoritative Terrain structural reports
Documentation
| Start here | Purpose |
|---|---|
| Getting started | Install, run, query, restart, back up, and troubleshoot |
| Python | Install the wheel, embed a database, bind parameters, and consume results |
| The Blackthorn Ruby | Interactive detective story and full Query Studio/Terrain showcase |
| Traqula | Language and query reference |
| Cookbook | Worked modeling and maintenance recipes |
| Operations | Durability, recovery, limits, and deployment posture |
| Core model | Identity, literal, temporal, and snapshot semantics |
| Storage | Append-only format contract |
| Transfer | Backup, export, import, and identity remapping |
| Terrain | Structural report and visualization contract |
| Theory | Philosophical foundations |
| Roadmap | Remaining and post-beta work |
The documentation index also links compatibility decisions, benchmarks, and maintainer specifications. The original paper, Modeling Conflicting, Unreliable, and Varying Information, provides additional background.
Development checks
The repository pins the stable Rust toolchain and runs native checks on Linux, macOS, and Windows plus a browser WASM suite.
cargo fmt --all -- --check
cargo clippy --all-targets --all-features -- -D warnings
cargo test --all-targets --all-features --no-fail-fast
cargo test --all-targets --no-default-features --no-fail-fast
node tests/terrain_client.test.js
See Extending Traqula before changing the language or synchronized editor grammar.
License
Dual-licensed under Apache 2.0 or MIT, at your option.
SPDX-License-Identifier: Apache-2.0 OR MIT
Metadata
Release files for positorium 0.1.4b2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | |
|---|---|---|---|---|
| positorium-0.1.4b2.tar.gz | 676.0 kB | With provenance | Details |
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| positorium-0.1.4b2-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details |
| positorium-0.1.4b2-cp39-abi3-musllinux_1_2_x86_64.whl | CPython 3.9 | abi3 | Linux musl 1.2+ x86-64 | Details |
| positorium-0.1.4b2-cp39-abi3-musllinux_1_2_aarch64.whl | CPython 3.9 | abi3 | Linux musl 1.2+ ARM64 | Details |
| positorium-0.1.4b2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ x86-64 | Details |
| positorium-0.1.4b2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl | CPython 3.9 | abi3 | Linux glibc 2.17+ ARM64 | Details |
| positorium-0.1.4b2-cp39-abi3-macosx_11_0_arm64.whl | CPython 3.9 | abi3 | macOS 11.0+ ARM64 | Details |
| positorium-0.1.4b2-cp39-abi3-macosx_10_12_x86_64.whl | CPython 3.9 | abi3 | macOS 10.12+ x86-64 | Details |
Total release size: 7.5 MB
Release files / positorium-0.1.4b2.tar.gz
| Download URL | positorium-0.1.4b2.tar.gz |
|---|---|
| Size | 676.0 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ec9fa3671afd36e2602500b3b2637e4c9ce3898590405df27687e6a7639fd10a
|
|
BLAKE2b-256 checksum How to use checksums |
27afb0c06d44d28722f9000a815f7bc23eedbf01a8805d20d2f68b99b206caf9
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logRelease files / positorium-0.1.4b2-cp39-abi3-win_amd64.whl
| Download URL | positorium-0.1.4b2-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 889.9 kB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
fca1697c1abedf3dd3b8e636488524c3ff90566044551679ca4fcb8ecc10eb33
|
|
BLAKE2b-256 checksum How to use checksums |
70e77ac0137ab524ff0e56ab75bc63689167f1be489a593a9c9c2d647ebd680f
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logRelease files / positorium-0.1.4b2-cp39-abi3-musllinux_1_2_x86_64.whl
| Download URL | positorium-0.1.4b2-cp39-abi3-musllinux_1_2_x86_64.whl |
|---|---|
| Size | 1.2 MB |
| Tags | CPython 3.9 Linux musl 1.2+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
5df16f612ccb7d8a4f47025d631a36f2ff36ac2301a6cd5f89c277a806822b88
|
|
BLAKE2b-256 checksum How to use checksums |
6699ef30269e4842bc50d32df610d56fe18cf172a23dafa83e557a0c844d9aa1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logRelease files / positorium-0.1.4b2-cp39-abi3-musllinux_1_2_aarch64.whl
| Download URL | positorium-0.1.4b2-cp39-abi3-musllinux_1_2_aarch64.whl |
|---|---|
| Size | 1.1 MB |
| Tags | CPython 3.9 Linux musl 1.2+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
fc44504e7330af16c949e309befa25bb442e4524d56f0c24af7e919ea8237f5a
|
|
BLAKE2b-256 checksum How to use checksums |
3c56143df2742459c962d4dd5ecc3884b60022615efa2bb9d830568f0f665374
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logRelease files / positorium-0.1.4b2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
| Download URL | positorium-0.1.4b2-cp39-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl |
|---|---|
| Size | 968.8 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
7fe3d25fea8b748b6d8fb5c6c03b901b976cd9a614c03e49a19cf36000023cae
|
|
BLAKE2b-256 checksum How to use checksums |
b989102b75f6da26d85ef67721a0291ca4f926e886903116b160096da4da29d4
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logRelease files / positorium-0.1.4b2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
| Download URL | positorium-0.1.4b2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl |
|---|---|
| Size | 900.0 kB |
| Tags | CPython 3.9 Linux glibc 2.17+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
1c37b40ad3effb807e8e6748da8974bf0ed35698eb70abb907ed6977fc8b6034
|
|
BLAKE2b-256 checksum How to use checksums |
7e340f10ae470a5648684db06fc34671dbf8356f9dbf4f3b736ae2f276f89b51
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logRelease files / positorium-0.1.4b2-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | positorium-0.1.4b2-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 874.0 kB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
5db2d4ea4a4e06314e4b1db33b0b4a588affb07cdb014fc99a2197b6f6a79e6e
|
|
BLAKE2b-256 checksum How to use checksums |
7f395df891bf140249ca31e80f9b49a14472e2ac6bd9b2ff79760e05b7458d55
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logRelease files / positorium-0.1.4b2-cp39-abi3-macosx_10_12_x86_64.whl
| Download URL | positorium-0.1.4b2-cp39-abi3-macosx_10_12_x86_64.whl |
|---|---|
| Size | 929.6 kB |
| Tags | CPython 3.9 abi3 macOS 10.12+ x86-64 |
|
SHA-256 checksum How to use checksums |
de2504666196c412d7d44c55fd720259067f930add8fb4c165a8c7f4ce10950f
|
|
BLAKE2b-256 checksum How to use checksums |
793b7723dbf50326277853d199fa1368a84e047cdc0073b53b42e62191f9d12a
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/7.0.0 CPython/3.13.14
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logSecurity for positorium 0.1.4b2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
Full provenance
All 8 files in this release have been uploaded with provenance metadata.
Attestation for positorium-0.1.4b2.tar.gz
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on Sep 1, 2026.
Transparency logA note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.