First public release on GitHub and PyPI. The repository will go public once
all M1–M4 milestones pass production-grade verification.
Public GitHub repository
PyPI package: pip install ciuf[postgres]
Full benchmark suite and verified latency numbers
Docs live at ciuf.io/docs
2026-05
M4 — Internal
Thread safety
New
RLock guards on all DAG nodes enable safe concurrent access from multiple
threads without data races or stale reads.
RLock per DAG node for read/write isolation
Stress-tested with concurrent reader + writer threads
Compatible with gevent and asyncio thread executors
2026-04
M3 — Internal
LRU/TTL eviction
New
Memory-bounded cache with configurable LRU eviction and per-query TTL.
LRU eviction: least-recently-used queries freed first under memory pressure
Per-query TTL: optional time-based expiry for volatile datasets
Configurable max memory ceiling at engine level
2026-03
M2 — Internal
Incremental engine
New
Core DAG propagation for insert, update, and delete deltas. Only affected
nodes are recomputed on each write — no full re-query.
engine.on_insert(table, row)
engine.on_update(table, new_row)
engine.on_delete(table, row)
SQLAlchemy session hook integration
2026-02
M1 — Internal
SQL parser → DAG
New
SQL queries are parsed with sqlglot
and compiled into an in-process DAG that mirrors the query's logical structure.
Supports SELECT, JOIN, WHERE, and GROUP BY.
sqlglot-based SQL parser
DAG node types: Scan, Filter, Join, Aggregate, Project
First-call hits the database; all subsequent calls served from the DAG