A clean-slate, C++-first implementation of the hgraph functional-reactive time-series runtime. The C++ runtime is the source of truth. Python provides wiring compatibility and supports Python-authored nodes running inside that runtime.
The C++-backed compatibility package is published under the hg_cpp
distribution name:
python -m pip install hg_cppThe distribution exposes the hgraph import package and the native _hgraph
extension. Install it in an isolated environment rather than alongside the
main hgraph distribution, since both provide the same Python import namespace.
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.
cmake -S . -B build # configure (fmt + Catch2 fetched if absent)
cmake --build build -j # build hgraph_core + tests
ctest --test-dir build --output-on-failureRequires 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).
Sphinx docs live under docs/source (uv sync --extra docs, then
uv run sphinx-build -W -b html docs/source docs/_build/html):
- User guide — start at
docs/source/user_guide/quick_start.rst, then the authoring/testing guides for nodes, graphs, and theeval_nodeharness. - Developer guide — the authoritative design records
(
docs/source/developer_guide/): architecture, data structures, wiring, nested graphs, mesh, services, error handling, operators, roadmap.
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.- The read-only
ext/maintree is the canonical Pythonhgraphreference.