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.2.1.tar.gz
(13.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.2.1-py3-none-any.whl
(15.1 kB
view details)
File details
Details for the file eidolondb-0.2.1.tar.gz.
File metadata
- Download URL: eidolondb-0.2.1.tar.gz
- Upload date:
- Size: 13.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 |
5130bec24061d3fcacfcfd0784ae9f65fe27ee7aaa94d5c2cd2dbe7eb865392e
|
|
| MD5 |
821210817ce5e36e59e1eeec46d57a91
|
|
| BLAKE2b-256 |
07876f2282742a6302198fc1953e6ae5b5f03fdbd3889534454e6612ef1ab82b
|
File details
Details for the file eidolondb-0.2.1-py3-none-any.whl.
File metadata
- Download URL: eidolondb-0.2.1-py3-none-any.whl
- Upload date:
- Size: 15.1 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 |
d2b45439d87264d1091614534cbea3c6d624b4d3244ae9bb32a34c29e0ae71cb
|
|
| MD5 |
6762bbcfb79785247465dcb152adc21e
|
|
| BLAKE2b-256 |
2fe110cbbcc69393933c08503562d936689f4ac41fa8cc0d590de6ace7090c31
|