Skip to main content

aether-ai

Python SDK for the Aether decentralized RAG API.

Installation

pip install aether-ai

Memory — the fastest way to build agent memory

For per-user or per-agent memory, reach for the Memory facade. Construct it once with an entity id and every call is automatically scoped to that entity — no tags or filters to manage:

from aether import Memory

mem = Memory("patient-john", api_key="aether_your_key_here")

# Store a memory
mem.remember("Anxious about flying; uses 4-7-8 breathing")

# Recall the most relevant memories for this entity
for item in mem.recall("anxiety coping"):
    print(item.score, item.text)

# Newest-first history, or wipe the slate
mem.list(limit=20)
mem.forget_all()
  • recall(query, k=5, recency_weight=0.0, since=..., until=...) blends relevance (a calibrated score, 0–100) with optional exponential recency decay.
  • remember(text, metadata={...}) stores the memory and writes metadata as searchable key:value tags.
  • AsyncMemory mirrors the same surface with await on every call.

The raw AetherClient below is the lower-level API — use it when you need direct control over documents, search, and batch operations rather than entity-scoped memory.

Quick Start

from aether import AetherClient

client = AetherClient(api_key="aether_your_key_here")

# Insert a file — content type is auto-detected from the extension
doc = client.insert("report.pdf")
print(f"Inserted: {doc.doc_id}")

# Insert raw text
doc = client.insert_text("Some text content to index")

# Search
results = client.search("machine learning", k=5)
for r in results:
    print(f"  {r.doc_id} (score: {r.score}) - {r.passage}")

# List documents
for doc in client.list():
    print(f"  {doc.doc_id}: {doc.title}")

Supported File Formats

Aether automatically extracts clean text from binary documents before embedding. No need to specify content_type -- it's guessed from the file extension.

Format Extensions
PDF .pdf
Word .docx, .doc
PowerPoint .pptx, .ppt
Excel .xlsx, .xls
HTML .html, .htm
CSV .csv
Plain text .txt, .md, .json, .xml

Binary-format parsing is handled automatically server-side — no setup required.

RAG Quick Start

Use retrieve() to search and get document content in a single call -- ready to pass into any LLM:

from aether import AetherClient

client = AetherClient(api_key="your_key")

# Insert documents (PDF, DOCX, XLSX — all auto-detected)
client.insert("company-handbook.pdf")
client.insert("benefits-guide.docx")
client.insert_text("Remote work is allowed 3 days per week...")

# Retrieve relevant documents with content
results = client.retrieve("How much PTO do I get?", k=3)
for r in results:
    print(f"{r.title}: {r.content[:100]}...")

For complete RAG examples with Anthropic, OpenAI, Azure, and more, see examples/.

Async Processing

For large files or frontend integrations that need progress feedback, use the async REST endpoint:

import httpx, time

resp = httpx.post(
    "https://api.aetherdb.ai/documents/async?filename=report.pdf",
    content=open("report.pdf", "rb").read(),
    headers={"Authorization": "Bearer aether_..."},
)
job = resp.json()  # {"job_id": "...", "poll_url": "/documents/jobs/..."}

while True:
    status = httpx.get(
        f"https://api.aetherdb.ai{job['poll_url']}",
        headers={"Authorization": "Bearer aether_..."},
    ).json()
    print(f"{status['progress']:.0%} - {status['message']}")
    if status["status"] in ("completed", "failed"):
        break
    time.sleep(0.5)

CLI

aether-py status
aether-py insert document.pdf
aether-py search "your query"
aether-py list

License

MIT

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aether_ai-0.3.2.tar.gz (43.6 kB view details)

Uploaded Source

Built Distribution

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

aether_ai-0.3.2-py3-none-any.whl (35.0 kB view details)

Uploaded Python 3

File details

Details for the file aether_ai-0.3.2.tar.gz.

File metadata

  • Download URL: aether_ai-0.3.2.tar.gz
  • Upload date:
  • Size: 43.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aether_ai-0.3.2.tar.gz
Algorithm Hash digest
SHA256 342ef4a991b441871d5428834d81703f38304e102aa5bc9ee4d8c511bbc236c3
MD5 be72e66e5d64da0742ba3eff07813cd8
BLAKE2b-256 a22b60484cdfe7de0f7e0adae53537424f892e2c64fc00b288f64bcc6027b4b9

See more details on using hashes here.

Provenance

The following attestation bundles were made for aether_ai-0.3.2.tar.gz:

Publisher: release.yml on Quintessence-Group/aether-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aether_ai-0.3.2-py3-none-any.whl.

File metadata

  • Download URL: aether_ai-0.3.2-py3-none-any.whl
  • Upload date:
  • Size: 35.0 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.12

File hashes

Hashes for aether_ai-0.3.2-py3-none-any.whl
Algorithm Hash digest
SHA256 733399e87ff4e082701d73b5f1697e5b8dd03f232acd6e6068328eecf6f1b45b
MD5 651bff2a5c6a4e7ecd2b67de0d1cf86b
BLAKE2b-256 a5df5e3eef417c8e7ebcf2765c78baf22656c53fe0fd1ac4c93ae6898ad8de6a

See more details on using hashes here.

Provenance

The following attestation bundles were made for aether_ai-0.3.2-py3-none-any.whl:

Publisher: release.yml on Quintessence-Group/aether-sdk-python

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

0.5.0

2 files

0.4.0

2 files

This release

0.3.2 This release

2 files

0.3.1

2 files

0.3.0

2 files

0.2.1

2 files

0.2.0

2 files

0.1.1

2 files

0.1.0

2 files

Supported by

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