Skip to main content

hgraph-persistence

Durable record/replay and frame storage for hgraph (RFC 0025): the FrameStore (memory / local filesystem / S3, Arrow IPC / Parquet), the frame-backed record/replay/compare overloads for the core operator markers, and the DataFrameStorage compatibility surface.

The public C++ ObjectStore is the durable metadata substrate shared by checkpoint/recovery and the versioned dataflow fabric. It provides:

  • immutable create-if-absent with distinct created, idempotent, and conflict outcomes;
  • typed absent reads carrying an opaque version token when present, with backend failures reported separately as ObjectStoreError;
  • deterministic lexicographic prefix paging;
  • compare/exchange for small named references; and
  • memory, local-filesystem, and S3 strategies behind one owning erased handle.

Local immutable publication uses atomic filesystem creation and reference CAS uses cross-process file locking plus atomic replacement. S3 conditional writes are sent with If-None-Match / If-Match and AWS Signature V4 through libcurl; they are not emulated with a read followed by an unconditional write. FrameStore immutable local and S3 writes use this same backend publication path after serialising the Frame. This requires one additional serialized-Frame-sized buffer for an immutable local or S3 write; mutable FrameStore writes retain their streaming path.

Wheel builds embed a pinned private curl for conditional S3 requests. A shared hgraph::persistence library carries that implementation itself; consumers of a static installed C++ library must provide CURL::libcurl version 7.75 or newer at the final link.

Installing and importing hgraph_persistence registers the "hgraph.persistence.frame" backend with the shared hgraph runtime; selecting that backend (set_record_replay_config) activates it from unchanged hgraph imports.

Runnable Python examples for direct record/replay, transparent component modes, and keyed time-series storage are in python/examples.

ComponentCheckpointStore stores a complete eligible component image under one immutable key. configure_component_recovery(store, component_id, checkpoint_key, restore_key=None, revision="1", global_state=state) selects the previous completed day and the next key before wiring. The runtime captures the component before stop and publishes only after a successful bounded run and successful teardown. Recovery quietly restores outputs, declared recorded state, and supported keyed map membership before new input is evaluated. Inputs must come directly from pull sources used exclusively by the component. Each run supplies future events for its interval; recovery restores the source endpoint baseline, while the caller remains responsible for its input cursor.

Each image is one Arrow cell holding core's canonical checkpoint image (RFC 0039) plus envelope metadata naming the format and the predecessor. Values use the binary value codec, so Frame, Series and non-finite floats are ordinary state. The whole image is encoded before the native store publishes it through its immutable object operation: a value the codec cannot represent fails before publication, every read verifies the image checksum, and write(..., verify=True) adds a decode-and-re-encode comparison. Images are compressed (RFC 0040: zstd where the Arrow build provides it, LZ4 otherwise); the envelope's format name describes the envelope, and the image carries its own version, currently 3. Version 1 images from hgraph 0.8.25-0.8.27 and version 2 images remain readable. There is no mutable latest pointer: applications select an exact predecessor and use a new key for every completed day. Filesystem and S3 durability follow the native object store's guarantees; this does not coordinate external sink transactions or external input acknowledgements.

The initial contract is deterministic simulation within a component, using declared RECORDABLE_STATE for semantic user-node state. Unsupported services, ordinary user STATE, captured Python closure state, schedulers, endpoint representations, and dynamic owners are refused explicitly. Error capture is also refused so a failed evaluation cannot be committed as a completed day. Python callback identity includes module, qualified name, input policy and scalar arguments. The application must change revision when its strategy code changes. Explicit __recordable_id__ values identify Python nodes inside a configured component and must be unique there.

See completed_days.py for a runnable example that restores day one in a new process and computes day two.

Metadata

Release files for hgraph-persistence 0.8.35

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for hgraph-persistence 0.8.35
File Size Uploaded Provenance
hgraph_persistence-0.8.35.tar.gz 162.5 kB With provenance Details

Built distributions (wheels)

Table of built distributions (wheels) for hgraph-persistence 0.8.35
File Interpreter ABI Platform
hgraph_persistence-0.8.35-cp312-abi3-win_amd64.whl CPython 3.12 abi3 Windows x86-64 Details
hgraph_persistence-0.8.35-cp312-abi3-manylinux_2_28_x86_64.whl CPython 3.12 abi3 Linux glibc 2.28+ x86-64 Details
hgraph_persistence-0.8.35-cp312-abi3-macosx_26_0_arm64.whl CPython 3.12 abi3 macOS 26.0+ ARM64 Details

Total release size: 3.8 MB

Release files / hgraph_persistence-0.8.35.tar.gz

Download URL hgraph_persistence-0.8.35.tar.gz
Size 162.5 kB
Tags Source
SHA-256 checksum
How to use checksums
28e1a1d24de58942755ec8dcf158d74ad8d11a1fc2afcbd0eff7f697f8feb949
BLAKE2b-256 checksum
How to use checksums
4c4bce96b9385d3f142fce5027274cbdd260b96eb0ce54f3f6a08ea7496c28c1
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 Oct 20, 2026.

Transparency log

Release files / hgraph_persistence-0.8.35-cp312-abi3-win_amd64.whl

Download URL hgraph_persistence-0.8.35-cp312-abi3-win_amd64.whl
Size 660.8 kB
Tags CPython 3.12 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
6075e538fcfaa3aaac363eef9ec29aa38ef583cb552797c0c17885440349707f
BLAKE2b-256 checksum
How to use checksums
26ae5439c4fcfac3681fdd352b7d280ed82cc2e47e14c14be9e1e323c97af555
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 Oct 20, 2026.

Transparency log

Release files / hgraph_persistence-0.8.35-cp312-abi3-manylinux_2_28_x86_64.whl

Download URL hgraph_persistence-0.8.35-cp312-abi3-manylinux_2_28_x86_64.whl
Size 2.7 MB
Tags CPython 3.12 Linux glibc 2.28+ x86-64 abi3
SHA-256 checksum
How to use checksums
e39220c6763591ce4388bd7a2e30f557f6406eb2305dd905d849b33461bbd6cd
BLAKE2b-256 checksum
How to use checksums
0f5d4640f0844ad155321a99eadec084a73a68cce15de5b825a83b410b6f5187
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 Oct 20, 2026.

Transparency log

Release files / hgraph_persistence-0.8.35-cp312-abi3-macosx_26_0_arm64.whl

Download URL hgraph_persistence-0.8.35-cp312-abi3-macosx_26_0_arm64.whl
Size 348.9 kB
Tags CPython 3.12 abi3 macOS 26.0+ ARM64
SHA-256 checksum
How to use checksums
4a1c99012175edf335ca4c7c000d39d05ea235ebc95bd8106cc5b92dab7e5fc3
BLAKE2b-256 checksum
How to use checksums
6b20e0b2b89d0475990c4abf0f6dd6d47ca63c550862f225eea1d74c501a2039
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 Oct 20, 2026.

Transparency log

Security for hgraph-persistence 0.8.35

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 4 files in this release have been uploaded with provenance metadata.

Select from 4 files

Attestation for hgraph_persistence-0.8.35.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 Oct 20, 2026.

Transparency log

A 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.

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page