Skip to content

Run Epistemic Graph locally

The release wheel contains the Python package, the Rust server binary, and the in-process engine binding. Start with the embedded binding when you want to evaluate the graph API without configuring a service.

Install and create a graph

python -m pip install epistemic-graph
python - <<'PY'
import msgpack
from epistemic_graph.engine import Engine

engine = Engine(persist_dir=":memory:")
engine.create_graph("demo")
engine.add_node(
    "demo",
    "node:alice",
    msgpack.packb({"kind": "Person", "name": "Alice"}, use_bin_type=True),
)

properties = msgpack.unpackb(
    engine.get_node_properties("demo", "node:alice"),
    raw=False,
)
print(properties)
print("nodes:", engine.node_count("demo"))
PY

The command prints:

{'kind': 'Person', 'name': 'Alice'}
nodes: 1

persist_dir=":memory:" is an explicit ephemeral mode: the process owns the engine and its contents disappear when the process exits. It is the smallest way to verify the installed engine and learn the local API.

Choose the runtime shape

Need Runtime shape Next page
Explore the native API in one Python process Embedded, in memory This page
Run one durable database on a host Server over a local Unix socket Standalone deployment
Connect applications across hosts Server over authenticated TLS Deployment reference
Replicate and partition durable state Cluster build Cluster deployment

The service paths require explicit persistence, identity, policy, and request authority. Those settings belong in deployment configuration, so the local example stays short without weakening the network boundary.

Continue