Skip to main content

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


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)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

eidolondb-0.2.1-py3-none-any.whl (15.1 kB view details)

Uploaded Python 3

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

Hashes for eidolondb-0.2.1.tar.gz
Algorithm Hash digest
SHA256 5130bec24061d3fcacfcfd0784ae9f65fe27ee7aaa94d5c2cd2dbe7eb865392e
MD5 821210817ce5e36e59e1eeec46d57a91
BLAKE2b-256 07876f2282742a6302198fc1953e6ae5b5f03fdbd3889534454e6612ef1ab82b

See more details on using hashes here.

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

Hashes for eidolondb-0.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 d2b45439d87264d1091614534cbea3c6d624b4d3244ae9bb32a34c29e0ae71cb
MD5 6762bbcfb79785247465dcb152adc21e
BLAKE2b-256 2fe110cbbcc69393933c08503562d936689f4ac41fa8cc0d590de6ace7090c31

See more details on using hashes here.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page