Memgraph is an open-source, in-memory graph database with Cypher compatibility, built for GraphRAG, AI memory, and real-time graph analytics.
nowledge-co/hawdb
An embedded Rust database for AI agents that stores graph, relational, text and vector data in one crash-safe engine and returns bounded context.
- Stars
- 203
- Forks
- 13
- Open issues
- 138
- Last commit
- 7 hours ago
What is it?
HawDB is an embedded database for agents. It keeps entities, relationships, documents and events in one crash-safe process, and it is designed to hand back bounded context rather than unbounded result sets. Graph structure, relational rows, lexical search and vector search share a single engine, and a retrieval request runs through a fixed pipeline of search, filtering, authorized graph expansion, reranking and hydration from a pinned snapshot.
Agents query it with parameterized Cypher and PostgreSQL-dialect SQL. Every read has an explicit row and payload budget, and a request that exceeds it fails rather than returning a silently truncated answer. Copy-on-write branches let an agent work on its own durable copy of the data without copying the database, so a plan can be tried without disturbing the main branch or other agents.
The library is written in Rust under Apache-2.0, with Python bindings published as the hawdb package on PyPI. It is built for Nowledge Mem and is intended to be linked into any host that needs a durable context layer.
Key features
- 01Graph, relational, full-text and vector search share one embedded engine.
- 02Parameterized Cypher and PostgreSQL-dialect SQL on the same handle.
- 03Explicit row and payload budgets; over-budget reads fail instead of truncating.
- 04Copy-on-write branches for agents, created without copying the parent data.
- 05Crash recovery through a write-ahead log, with one writer process per database directory.
- 06Python bindings available on PyPI as hawdb.
Use cases
- Giving an AI agent a durable, queryable memory of entities and relationships.
- Letting an agent test a multi-step plan on an isolated branch before committing results.
- Embedding a context store with bounded retrieval into a Rust or Python application.
Quick start
- 1
Add the hawdb crate to Cargo.toml
- 2
Build the default library from a checkout
cargo build --locked -p hawdb
Things to know
- Rust library only; applications must integrate it through Rust or the in-tree Python bindings.
- Early-stage project (version 0.25) with 197 stars, and the README says it is in nightly integration for Nowledge Mem.
- A database directory can be owned by only one process at a time.
In collections
Topics
FAQ
- What is hawdb?
- An embedded Rust database for AI agents that stores graph, relational, text and vector data in one crash-safe engine and returns bounded context. HawDB is an embedded database for agents. It keeps entities, relationships, documents and events in one crash-safe process, and it is designed to hand back bounded context rather than unbounded result sets. Graph structure, relational rows, lexical search and vector search share a single engine, and a retrieval request runs through a fixed pipeline of search, filtering, authorized graph expansion, reranking and hydration from a pinned snapshot.
- Is hawdb free to use? What license does it have?
- hawdb is open source under the Apache-2.0 license. Check the license terms before using it in commercial products.
- Is hawdb still maintained?
- Actively maintained. The last commit to hawdb was on Nov 7, 2026.
- What can I use hawdb for?
- Giving an AI agent a durable, queryable memory of entities and relationships. Letting an agent test a multi-step plan on an isolated branch before committing results. Embedding a context store with bounded retrieval into a Rust or Python application.
- How do I install hawdb?
- Add the hawdb crate to Cargo.toml Build the default library from a checkout: cargo build --locked -p hawdb
- Where can I get hawdb?
- The source code and installation instructions are on GitHub: https://github.com/nowledge-co/hawdb
Summary generated by AI from the project's README. GitHub stats refresh daily.
Related projects
Official first-party Python package for building GraphRAG applications that combine Neo4j graph databases with LLMs and vector search.
Neo4j is a graph database that stores data as nodes and relationships and is queried with the Cypher language.
Python framework for building temporal knowledge graphs that track how facts change over time, used as memory and context for AI agents.
A distributed, horizontally scalable open-source graph database with OpenCypher-compatible queries and Raft-based consistency.
An open-source, self-building knowledge graph database where AI agents populate and maintain structured, typed data for process automation and decision making.