Epistemic Graph
A durable graph database and reasoning engine for connected, evidence-rich data.
Property graph · SQL · RDF/OWL · vectors · time · provenance · multimodal records
Documentation · Capabilities · Interfaces · Status
Overview
Epistemic Graph is a Rust-native database and compute engine for teams building knowledge systems, evidence-led applications, analytics, and agent memory. It stores and queries connected graph records, relational data, RDF/OWL knowledge, vectors, time-series, events, documents, and media through one engine.
Claims can retain their evidence, provenance, confidence, and time of validity, so applications can inspect why information is present and how it changes. Use Epistemic Graph directly through its clients and query interfaces, or as the durable knowledge layer beneath Graph OS and Agent Utilities. Epistemic Graph is the database; agent execution and connector runtimes live in their respective ecosystem projects.
Key capabilities
| Capability | What it provides |
|---|---|
| One multi-model engine | Property graph, relational tables, RDF, vectors, time-series, events, blobs, and media |
| Query across interfaces | UQL, SQL, SPARQL, Cypher/Bolt, GraphQL, and typed native clients |
| Semantic constraints | OWL reasoning, SHACL validation, and ShEx shape validation |
| Evidence-aware knowledge | Claims, provenance, confidence, contradiction handling, and bitemporal validity |
| Durable operation | Commit-before-ack persistence, audit, change data capture, tenant isolation, and observability |
| Distributed deployment | Single-node operation and an optional cluster build with replication and coordinated placement |
Check the capability matrix and generated method ledger for the current behavior of each operation.
Packages
This repository publishes two PyPI packages and one container image, all at the same version.
| Artifact | Contents | Install |
|---|---|---|
epistemic-graph |
The Python client, the in-process engine module and the numeric kernel. Carries no executable. | pip install epistemic-graph |
epistemic-graph-server |
The native epistemic-graph-server executable (Linux x86_64 and aarch64) and epistemic_graph_server.binary_path(). Source in packaging/epistemic-graph-server. |
pip install epistemic-graph-server |
epistemic-graph[server] |
The client plus the server package pinned to the same version. | pip install "epistemic-graph[server]" |
epistemic-graph-server image |
The server binary on a slim base, one tag for linux/amd64 and linux/arm64, built from the server wheel. |
docker pull <registry-user>/epistemic-graph-server:<version> |
Documentation
- Start here for a guided engine tour.
- Interfaces explains UQL, SQL, SPARQL, Cypher, GraphQL, vectors, time-series, and clients.
- Architecture covers query execution, reasoning, storage, and distribution.
- Deploy Epistemic Graph covers durable server, TLS, containers, and clusters.
- Operations covers day-two procedures and recovery.
Architecture
People use the Agent Web UI, Agent Terminal UI (through the Graph OS REST API), Geniusbot, or the messaging services hosted by Graph OS. External applications and agents connect through Graph OS using MCP, REST, or A2A. Graph OS governs the runtime boundary, Agent Utilities coordinates agents and workflows, and Epistemic Graph stores and reasons over their durable knowledge. Source systems enter through Agent Connector SDK, which commits typed source data to the graph.
| This repository owns | Ecosystem projects own |
|---|---|
| Durable graph and multimodal state, query planning, semantic reasoning, transaction behavior, and engine authorization | Graph OS owns MCP/REST/A2A entrypoints, runtime policy, messaging services, and frontend hosting |
| Generated engine contracts and capability truth | Agent Utilities owns agents, workflows, skills, evaluation, and the agent control plane |
| Source-ingestion admission, schema validation, evidence, and provenance commits | Agent Connector SDK owns connector execution and source-system adapters |
| Database and compute execution | Agent Web UI, Agent Terminal UI, and Geniusbot provide user-facing clients |
Quick start
Install the release wheel and open an in-process graph. This mode is explicit, ephemeral, and needs no server or TLS configuration.
python -m pip install epistemic-graph
python -m epistemic_graph.cli status # no server is expected in embedded mode
python - <<'PY'
import msgpack
from epistemic_graph.engine import Engine
engine = Engine(persist_dir=":memory:")
engine.create_graph("demo")
engine.add_node(
"demo",
"node:hello",
msgpack.packb({"kind": "Greeting"}, use_bin_type=True),
)
print(engine.has_node("demo", "node:hello"), engine.node_count("demo"))
PY
Expected output:
Status: NOT RUNNING (no PID file)
True 1
For durable storage, authenticated clients, containers, TLS, or clustering, continue with Deploy Epistemic Graph.
Contributing
Issues and pull requests are welcome. See CONTRIBUTING.md for development setup and review gates. Architecture and implementation guidance for coding agents lives in AGENTS.md.
License
Licensed under the MIT License.
Metadata
Release files for epistemic-graph 2.27.1
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distributions (wheels)
| File | Reset | |||
|---|---|---|---|---|
| epistemic_graph-2.27.1-cp39-abi3-win_amd64.whl | CPython 3.9 | abi3 | Windows x86-64 | Details |
| epistemic_graph-2.27.1-cp39-abi3-manylinux_2_28_x86_64.whl | CPython 3.9 | abi3 | Linux glibc 2.28+ x86-64 | Details |
| epistemic_graph-2.27.1-cp39-abi3-manylinux_2_28_aarch64.whl | CPython 3.9 | abi3 | Linux glibc 2.28+ ARM64 | Details |
| epistemic_graph-2.27.1-cp39-abi3-macosx_11_0_arm64.whl | CPython 3.9 | abi3 | macOS 11.0+ ARM64 | Details |
Total release size: 32.6 MB
Release files / epistemic_graph-2.27.1-cp39-abi3-win_amd64.whl
| Download URL | epistemic_graph-2.27.1-cp39-abi3-win_amd64.whl |
|---|---|
| Size | 8.9 MB |
| Tags | CPython 3.9 Windows x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
8e7e5751acd295cfea31654e07b2fb2180467475410e9c1505c4150a8fbbb358
|
|
BLAKE2b-256 checksum How to use checksums |
8ef1bd74d1d56a879f352a52016043658d6211e6af6fcc2a316dbf3a7c30fb40
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|
Release files / epistemic_graph-2.27.1-cp39-abi3-manylinux_2_28_x86_64.whl
| Download URL | epistemic_graph-2.27.1-cp39-abi3-manylinux_2_28_x86_64.whl |
|---|---|
| Size | 8.4 MB |
| Tags | CPython 3.9 Linux glibc 2.28+ x86-64 abi3 |
|
SHA-256 checksum How to use checksums |
df997e55cb2c0ee73da3ac33fb96a723ce79529aac58bc41d05cb950bf15ba60
|
|
BLAKE2b-256 checksum How to use checksums |
c032a85902e5d893a1a8c401c7676d116c653e432dcb51928571a89b9501c81b
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / epistemic_graph-2.27.1-cp39-abi3-manylinux_2_28_aarch64.whl
| Download URL | epistemic_graph-2.27.1-cp39-abi3-manylinux_2_28_aarch64.whl |
|---|---|
| Size | 7.7 MB |
| Tags | CPython 3.9 Linux glibc 2.28+ ARM64 abi3 |
|
SHA-256 checksum How to use checksums |
e21eb5ba8094c38c53bc3b5aaba006dbe64fef98d0df25e17c8e3bad9d1d604f
|
|
BLAKE2b-256 checksum How to use checksums |
957b64e94ee7e36ba23fd361bce5551eafea91713e787c5cb624a1261421e304
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.15
|
Release files / epistemic_graph-2.27.1-cp39-abi3-macosx_11_0_arm64.whl
| Download URL | epistemic_graph-2.27.1-cp39-abi3-macosx_11_0_arm64.whl |
|---|---|
| Size | 7.6 MB |
| Tags | CPython 3.9 abi3 macOS 11.0+ ARM64 |
|
SHA-256 checksum How to use checksums |
501fa6457c16678365758f9fd75bc3dcb0a3b933008a140eec956ff7596bd33e
|
|
BLAKE2b-256 checksum How to use checksums |
ac9e93cbdebf7712eed211f6f723495b24cd0939a0194bafd2e4d5a94c8e08d6
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/7.0.0 CPython/3.12.10
|