Skip to content

v0.9.0 — data-at-rest

Choose a tag to compare

@marc-chiesa marc-chiesa released this 31 May 02:05
· 23 commits to main since this release
037c2ac

protokit 0.9.0 — data-at-rest

BREAKING — the message differ's Difference.old_value/new_value are renamed to left_value/right_value (the two compared messages aren't a before/after pair). Read-only deprecation aliases are retained and removed at 1.0; constructing with the old kwargs raises. Pre-1.0, pin protokit~=0.9.0.

Added — data-at-rest

  • protokit.storage — schema-aware scan/filter engine for stored protobuf. scan(source, registry, *, predicate, on_error) routes each (stream_id, record_bytes) record to its stream's isolated descriptor pool and yields a tagged ScanRecord. Source accepts any iterable of (stream_id, bytes | memoryview); fail-loud by default with opt-in skip/collect/route tolerant modes.
  • protokit storage CLIscan / head / count over length-delimited files: the minimal --where grammar (path == scalar / != / has:path), --desc/--proto (+--proto-path) schema sources with --type, --format human|json, and --on-error raise|skip|warn. Exit 0/2 (+ count --quiet grep-like 1).
  • ProtoFileSchema (.proto→compile schema source, never SystemExit), on_error='route' + an error_sink callback on scan(), and the typed SchemaCompileError / WhereError exceptions.

Full details in CHANGELOG.md ## 0.9.0.