ciris-persist
Unified Rust persistence for the CIRIS federation — signed events, time-series, runtime state.
What it is and what it does
CIRISPersist is a Rust-backed storage layer for CIRIS federation nodes, exposing a unified Python API that abstracts away the choice between Postgres and SQLite backends. It manages multiple stateful substrates—signed reasoning traces, hash-chained audit logs, memory graphs, time-series telemetry, encrypted secrets, federation consensus state, fountain-coded content, and holonomic forever-memory tiers—all through one versioned interface. The package is designed as an in-process library (not a daemon), allowing a CIRIS agent or lens node to link it directly and avoid hand-rolling ~11 separate storage services.
The implementation enforces post-quantum cryptography (hybrid Ed25519 + ML-DSA-65) at federation tier, routes all signing and verification through ciris-verify to avoid crypto re-rolls, and aligns with the CIRIS Constitution 0.1.5 substrate clauses. Secrets are encrypted at rest using AES-256-GCM with hardware-backed master keys where available. The audit log uses RFC 6962 Merkle trees; the forever-memory substrate implements CEG §19 / §19.7 with signed manifests and authenticated partial reads. Both backends achieve 100% parity on every method, including observability queries and lens-derived schemas.
Use it for:
- Store signed reasoning traces and LLM-call logs for a CIRIS agent with cryptographic proof of event ordering.
- Maintain a hash-chained, per-tenant audit log compliant with RFC 6962 Merkle tree standards.
- Manage federated secrets with AES-256-GCM encryption and TPM/Keystore-backed master keys in a single API.
- Run a sovereign CIRIS node on resource-constrained hardware (Pi, iOS) using SQLite without second-class performance.
- Implement post-quantum-signed federation consensus state and holonomic memory tiers per CEG §19.
- Ingest and route divergence detection through quorum-merge logic without embedding a separate graph database.
Worth the install?
AI-flagged interpretation of the facts on this page — verify before relying
CIRISPersist provides unified, versioned storage for CIRIS federation nodes—handling signed event logs, audit trails, memory graphs, secrets, and telemetry—via a single Python API backed by Postgres or SQLite.
Yes, with conditions. Install if you are building a CIRIS federation node and need unified, constitution-aligned storage for signed events, audit logs, secrets, and telemetry. The active maintenance, zero known vulnerabilities, and Postgres/SQLite parity make it solid for federation use. Avoid if you require proprietary licensing (AGPLv3+ is restrictive) or horizontal sharding (library-only, not a service). The medium install friction (compiled Rust wheel) is typical for performance-critical storage layers.
Install
ciris-persist on PyPI
pip
pip install ciris-persistuv
uv add ciris-persistpoetry
poetry add ciris-persistInstalling ciris-persist
Before you install
Medium install friction due to compiled Rust extension (PyO3 wheel); actively maintained with recent release (15 days ago). Requires Python 3.10+. Single runtime dependency on ciris-verify.
License in practice
AGPLv3+ license requires derivative works and network-accessible modifications to be open-sourced; suitable for open federation infrastructure but restrictive for proprietary deployments.
Quickstart
import ciris_persist as cp
engine = cp.Engine(dsn="sqlite://./agent.db", signing_key_id="agent-ed25519")
engine.register_consumer("my-adapter", ["cirisgraph"])
summary = engine.receive_and_persist(request_body_bytes)
Requires Python 3.10+; ciris-verify v5.10.0 must be installed; Postgres or SQLite backend required.
Verify before relying
- Whether the PyO3 wheel covers all target platforms beyond macOS ARM64 (Linux, Windows availability unclear).
- Performance characteristics under high-concurrency workloads beyond the published benchmark suite.
- Compatibility guarantees between ciris-persist v22.0.1 and ciris-verify v5.10.0 across future releases.
Package facts
| License | AGPL-3.0-or-later (agpl) |
| Python support | supports the current Python release (>=3.10) |
| Install friction | medium — platform-specific wheel |
| Runtime dependencies | 1 — ciris-verify |
| Maintenance | actively maintained — 15 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 110,290/month — #12,472 on PyPI (30-day window, as of 2026-08-14) |
| Known vulnerabilities | none known (OSV.dev, checked 2026-08-14) |
Evidence: ciris_persist-22.0.1-cp310-abi3-macosx_11_0_arm64.whl
Tags
More Database packages
psycopg2-binary is a PostgreSQL database…
copyleft · top 1,000 on PyPI
redisPython client library for connecting to and…
permissive · top 1,000 on PyPI
ydbYDB Python SDK is the official client library…
permissive · top 1,000 on PyPI
snowflake-connector-pythonConnects Python applications to Snowflake data…
permissive · top 1,000 on PyPI
sqlparsesqlparse tokenizes SQL text into a tree of…
permissive · top 1,000 on PyPI
dbt-adaptersProvides base adapter protocols and shared…
permissive · top 1,000 on PyPI
ciris-edgeA Rust-based transport and replication layer…
agpl · top 15,000 on PyPI
ciris-serverEmbeds a Rust-based federation node that…
agpl · top 15,000 on PyPI
ciris-verifyProvides Python bindings to verify…
agpl · top 15,000 on PyPI
agent-framework-foundry-hostingIntegrates Agent Framework agents and workflows…
permissive · top 15,000 on PyPI
llama-index-storage-docstore-postgresProvides a Postgres-backed document store…
permissive · top 15,000 on PyPI
pycadfPyCADF implements the Cloud Auditing Data…
permissive · top 15,000 on PyPI
rpds-pyProvides Python bindings to Rust's persistent…
permissive · top 100 on PyPI
langgraph-checkpoint-postgresProvides a Postgres-backed checkpoint saver for…
permissive · top 5,000 on PyPI
django-crumDjango-CRUM stores the current request and user…
permissive · top 15,000 on PyPI
agent-governance-toolkit-coreProvides a unified runtime kernel and trust…
permissive · top 15,000 on PyPI