Official Python client for EidolonDB — self-managing memory for AI agents
Project description
eidolondb
Official Python client for EidolonDB.
Install
pip install eidolondb
Quick start
from eidolondb import EidolonDB
db = EidolonDB(url="http://localhost:3000", tenant="my-app")
# Store a memory
db.remember("User prefers dark mode", importance=0.9, tags=["preference"])
# Recall
context = db.recall("user preferences")
# Auto-extract from raw text
result = db.ingest("Today we decided on FastAPI for the backend. Port 8000.")
# Full search
results = db.memories.search("project decisions", k=5)
API reference
memories
db.memories.create(tier, content, **kwargs)
db.memories.get(memory_id)
db.memories.list(...)
db.memories.update(memory_id, **kwargs)
db.memories.delete(memory_id)
db.memories.search(text, **kwargs)
db.memories.record_access(memory_id)
db.memories.stats()
entities
db.entities.create(**kwargs)
db.entities.get(entity_id)
db.entities.list(...)
db.entities.update(entity_id, **kwargs)
db.entities.delete(entity_id)
artifacts
db.artifacts.create(**kwargs)
db.artifacts.get(artifact_id)
db.artifacts.delete(artifact_id)
relations
db.relations.create(**kwargs)
db.relations.list(...)
db.relations.get(relation_id)
db.relations.delete(relation_id)
db.relations.traverse(...)
events
db.events.create(**kwargs)
db.events.list(...)
db.events.get(event_id)
db.events.timeline(...)
context
db.context.build(current_input, **kwargs)
lifecycle
db.lifecycle.run(dry_run=False, triggered_by="manual")
db.lifecycle.list_runs(limit=20)
ingest + convenience helpers
db.ingest(content, source="chat", **kwargs)
db.search(query, **kwargs)
db.remember(content, importance=0.8, tags=None, tier="semantic")
db.recall(query, k=10)
feedback
db.feedback.mark_used(memory_id, query=None, retrieval_score=None, relevance=None, metadata=None)
db.feedback.retrieval_stats()
Error handling
All API failures raise EidolonDBError.
from eidolondb import EidolonDB, EidolonDBError
db = EidolonDB(url="http://localhost:3000", tenant="my-app")
try:
db.memories.get("missing-id")
except EidolonDBError as error:
print(error.status, error.message, error.body)
Python version
Requires Python >=3.9.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
eidolondb-0.1.0.tar.gz
(11.6 kB
view details)
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
eidolondb-0.1.0-py3-none-any.whl
(13.3 kB
view details)
File details
Details for the file eidolondb-0.1.0.tar.gz.
File metadata
- Download URL: eidolondb-0.1.0.tar.gz
- Upload date:
- Size: 11.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
289859e14d69b6274ad86ba66a6354c1ff4a805a28b5540b4d237b92a234f415
|
|
| MD5 |
2a2ed1db92a7477892282c2cc8488837
|
|
| BLAKE2b-256 |
87a108824c312daa784833a840280e96564f865b867fe588b9e9180c61c490d4
|
File details
Details for the file eidolondb-0.1.0-py3-none-any.whl.
File metadata
- Download URL: eidolondb-0.1.0-py3-none-any.whl
- Upload date:
- Size: 13.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.11.15
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1ea5fdc0d7c8d8a679f7b210649afa5178e132afbd0b2f32bc0c8e039e35d188
|
|
| MD5 |
feebf821afd2c34853c06020b352c077
|
|
| BLAKE2b-256 |
cfc914efb7a585eaaf1fb2105eac3ed7abaa79e2b969751f2a750487fdf09026
|