hgraph
HGraph is a functional-reactive time-series engine with a Python-first user
experience and a native C++ runtime. Most users author and test graphs with the
hgraph Python package; library authors can use the C++ API directly when they
need native integration or maximum performance. Both paths wire and execute
through the same runtime.
Python package
The C++-backed runtime is published under the hgraph distribution name:
python -m pip install hgraph
The distribution exposes the supported hgraph authoring package and its
private native _hgraph extension. The 0.8 line replaces the Python runtime
maintained on the release/0.5 branch while retaining Python as the primary
public API. One wheel per supported platform covers CPython 3.12 and later
through the CPython stable ABI. The supported Python and platform policy is
recorded in docs/source/developer_guide/release_readiness.rst.
Start with docs/source/getting_started.rst
and use docs/source/reference/ for the supported
Python types, decorators, operators and modules.
Build & test
cmake -S . -B build # configure (fmt + Catch2 fetched if absent)
cmake --build build -j # build hgraph_core + tests
ctest --test-dir build --output-on-failure
Requires a C++23 compiler and CMake >= 3.25. Python/nanobind are not needed
for the default build (bindings are opt-in via -DHGRAPH_BUILD_PYTHON_BINDINGS=ON).
First-party extensions
First-party extensions are co-developed in extensions/ but remain separate
native and Python distributions. Kafka is built in-tree for development with
-DHGRAPH_BUILD_KAFKA_EXTENSION=ON, or independently from
extensions/kafka/ against an installed hgraph SDK. Its wheel is selected
from the uv workspace after making that matching SDK discoverable:
CMAKE_PREFIX_PATH=/path/to/hgraph/sdk \
uv build --wheel --package hgraph-kafka --python 3.12
The core build does not enable the extension by default and does not acquire a Kafka or librdkafka dependency.
Documentation
Sphinx docs live under docs/source (uv sync --extra docs, then
uv run sphinx-build -W -b html docs/source docs/_build/html):
- Getting started —
docs/source/getting_started.rst: install the wheel and run a first graph in Python. - User guide —
docs/source/user_guide/: the concepts the runtime implements and the primary Python authoring track (python/: quick start, common tasks, tutorial, programming model). Native C++ authoring is an advanced section for library authors. - Python API reference —
docs/source/reference/: curated reference pages plus a generated inventory of wildcard exports, lazy operators and public submodules. - Specification —
docs/source/specification/: a language-neutral definition of HGraph semantics. - Developer guide — the authoritative design records
(
docs/source/developer_guide/): architecture, data structures, wiring, nested graphs, mesh, services, error handling, operators, roadmap.
The narrative documentation's Python examples are executable. They are checked
against a real runtime by sphinx-build -b doctest, which needs an importable
hgraph; CI runs both that and the warning-free HTML build.
Contributing / AI sessions
AGENTS.md— canonical project direction: goals, build philosophy, source layout, dependency policy, git hygiene.CLAUDE.md— the operational working guide: the enforced design-first workflow (docs change in the same commit as code), guardrails, architecture map, and current state.plugins/hgraph-development/— installable hgraph development skills for downstream Codex and Claude projects.
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distributions
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file hgraph-0.8.22.tar.gz.
File metadata
- Download URL: hgraph-0.8.22.tar.gz
- Upload date:
- Size: 5.3 MB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
11fa11b23b9661f1fdea3ea3974acc8dafa8d77008e54aa5c8f3c70c13d8e6e0
|
|
| MD5 |
93481f6bec78683af11acd43c551a499
|
|
| BLAKE2b-256 |
8f3097631cf52830cf329554872690db5f3f161e04799c455ad7917add0a3f7d
|
Provenance
The following attestation bundles were made for hgraph-0.8.22.tar.gz:
Publisher:
release-wheels.yml on hhenson/hgraph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hgraph-0.8.22.tar.gz -
Subject digest:
11fa11b23b9661f1fdea3ea3974acc8dafa8d77008e54aa5c8f3c70c13d8e6e0 - Sigstore transparency entry: 2684134496
- Sigstore integration time:
-
Permalink:
hhenson/hgraph@cd053a351ac7416fcec4fbccc464d92f03a3c000 -
Branch / Tag:
refs/tags/0.8.22 - Owner: https://github.com/hhenson
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-wheels.yml@cd053a351ac7416fcec4fbccc464d92f03a3c000 -
Trigger Event:
push
-
Statement type:
File details
Details for the file hgraph-0.8.22-cp312-abi3-win_amd64.whl.
File metadata
- Download URL: hgraph-0.8.22-cp312-abi3-win_amd64.whl
- Upload date:
- Size: 17.2 MB
- Tags: CPython 3.12+, Windows x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cc45e6cb2ee641f66f66c5a9aa7539d53b794492a3c1a814397dcd1fd60a09b2
|
|
| MD5 |
6fc34a371fd2d32781c3048a39bbe494
|
|
| BLAKE2b-256 |
36895c30c78379da88003a8a70850a383aac6b2d2a9cb9dc38a5fe0cd3f1c14c
|
Provenance
The following attestation bundles were made for hgraph-0.8.22-cp312-abi3-win_amd64.whl:
Publisher:
release-wheels.yml on hhenson/hgraph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hgraph-0.8.22-cp312-abi3-win_amd64.whl -
Subject digest:
cc45e6cb2ee641f66f66c5a9aa7539d53b794492a3c1a814397dcd1fd60a09b2 - Sigstore transparency entry: 2684134506
- Sigstore integration time:
-
Permalink:
hhenson/hgraph@cd053a351ac7416fcec4fbccc464d92f03a3c000 -
Branch / Tag:
refs/tags/0.8.22 - Owner: https://github.com/hhenson
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-wheels.yml@cd053a351ac7416fcec4fbccc464d92f03a3c000 -
Trigger Event:
push
-
Statement type:
File details
Details for the file hgraph-0.8.22-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl.
File metadata
- Download URL: hgraph-0.8.22-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl
- Upload date:
- Size: 8.6 MB
- Tags: CPython 3.12+, manylinux: glibc 2.27+ x86-64, manylinux: glibc 2.28+ x86-64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
5841cef7e401cf795f7b2008a7a9cbcec97e350ae92845e53091524ab9b6de26
|
|
| MD5 |
7e8ed3545d4c7ab035b0117784139a8f
|
|
| BLAKE2b-256 |
37390b9addd670bbea727cf566adf9f617f35a7d10fc96a3735ceede48e83a72
|
Provenance
The following attestation bundles were made for hgraph-0.8.22-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl:
Publisher:
release-wheels.yml on hhenson/hgraph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hgraph-0.8.22-cp312-abi3-manylinux_2_27_x86_64.manylinux_2_28_x86_64.whl -
Subject digest:
5841cef7e401cf795f7b2008a7a9cbcec97e350ae92845e53091524ab9b6de26 - Sigstore transparency entry: 2684134525
- Sigstore integration time:
-
Permalink:
hhenson/hgraph@cd053a351ac7416fcec4fbccc464d92f03a3c000 -
Branch / Tag:
refs/tags/0.8.22 - Owner: https://github.com/hhenson
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-wheels.yml@cd053a351ac7416fcec4fbccc464d92f03a3c000 -
Trigger Event:
push
-
Statement type:
File details
Details for the file hgraph-0.8.22-cp312-abi3-macosx_15_0_arm64.whl.
File metadata
- Download URL: hgraph-0.8.22-cp312-abi3-macosx_15_0_arm64.whl
- Upload date:
- Size: 8.1 MB
- Tags: CPython 3.12+, macOS 15.0+ ARM64
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
cf5044a3ed41a71c965202a9e937761cb16b23b0fe0ebe0b63581d8bf1d9be41
|
|
| MD5 |
e700a815357c393089f7ae137695c001
|
|
| BLAKE2b-256 |
50ab5859b0428481fdc4fd99d6ae13e22adc5a07ae747c5a06d6957c79410489
|
Provenance
The following attestation bundles were made for hgraph-0.8.22-cp312-abi3-macosx_15_0_arm64.whl:
Publisher:
release-wheels.yml on hhenson/hgraph
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
hgraph-0.8.22-cp312-abi3-macosx_15_0_arm64.whl -
Subject digest:
cf5044a3ed41a71c965202a9e937761cb16b23b0fe0ebe0b63581d8bf1d9be41 - Sigstore transparency entry: 2684134509
- Sigstore integration time:
-
Permalink:
hhenson/hgraph@cd053a351ac7416fcec4fbccc464d92f03a3c000 -
Branch / Tag:
refs/tags/0.8.22 - Owner: https://github.com/hhenson
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-wheels.yml@cd053a351ac7416fcec4fbccc464d92f03a3c000 -
Trigger Event:
push
-
Statement type: