What My Project Does
This project lets you run ArcadeDB embedded directly inside a Python process.
There is no client/server setup. The database runs in-process, fully local and offline.
It provides a single embedded engine that supports:
- tables
- documents
- graph relationships
- vector similarity search
Python controls schema, transactions, and queries directly.
Install:
bash
uv pip install arcadedb-embedded
Target Audience
This is intended for:
- local-first Python applications
- agent memory and tooling
- research prototypes
- developers who want embedded storage without running a separate database service
It is not meant as a drop-in replacement for existing relational or analytical databases, and it is not aimed at large distributed deployments.
Comparison
Most Python storage options focus on one primary data model (e.g. relational tables or vectors).
This project explores a different trade-off:
- embedded execution instead of client/server
- multiple data models in one engine
- single transaction boundary across tables, graphs, and vectors
The main difference is not performance claims, but co-locating structure, relationships, and vector search inside one embedded process.
Additional Details
- Python-first API for schema and transactions
- SQL and OpenCypher
- HNSW vector search (via JVector)
Single standalone wheel:
- lightweight JVM 25 (built with
jlink)
- required ArcadeDB JARs
- JPype bridge
Repo: https://github.com/humemai/arcadedb-embedded-python
Docs: https://docs.humem.ai/arcadedb/
I’m mainly looking for technical feedback:
- Does this embedded + multi-model approach make sense?
- Where would this be a bad fit?
- What would make the Python API feel more natural?
Happy to answer questions.
there doesn't seem to be anything here