Python SDK for Aether decentralized RAG
Project description
aether-ai
Python SDK for the Aether decentralized RAG API.
Installation
pip install aether-ai
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} (distance: {r.distance:.3f})")
# 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 |
|---|---|
| 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
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
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
File details
Details for the file aether_ai-0.1.1.tar.gz.
File metadata
- Download URL: aether_ai-0.1.1.tar.gz
- Upload date:
- Size: 25.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
863f7df31e6307a58813fae4a278e64092544ede4bf155dad897cfe38fa11b4d
|
|
| MD5 |
70625c47f8095f56c6c55aded93b71d2
|
|
| BLAKE2b-256 |
cce6131680b94f578421c6c9642a51b82cd95b7f1f1b470e7632039edabe1bef
|
Provenance
The following attestation bundles were made for aether_ai-0.1.1.tar.gz:
Publisher:
release.yml on Quintessence-Group/aether-sdk-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aether_ai-0.1.1.tar.gz -
Subject digest:
863f7df31e6307a58813fae4a278e64092544ede4bf155dad897cfe38fa11b4d - Sigstore transparency entry: 1785275411
- Sigstore integration time:
-
Permalink:
Quintessence-Group/aether-sdk-python@f7d96a3f5d9859f7bbaf91b0c6762a46d59a4fcd -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/Quintessence-Group
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f7d96a3f5d9859f7bbaf91b0c6762a46d59a4fcd -
Trigger Event:
push
-
Statement type:
File details
Details for the file aether_ai-0.1.1-py3-none-any.whl.
File metadata
- Download URL: aether_ai-0.1.1-py3-none-any.whl
- Upload date:
- Size: 24.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.13.12
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1e499bbb1686ba80e05bd32c1be39a71a11b9d7f48cc7fec66bb281160b5a005
|
|
| MD5 |
a703a7f3fa07daf404ceda9ed377e756
|
|
| BLAKE2b-256 |
181cfd032892f2b75362b22ee4ac1a7af3b1a541fa6a513ddbe39191e92f51a1
|
Provenance
The following attestation bundles were made for aether_ai-0.1.1-py3-none-any.whl:
Publisher:
release.yml on Quintessence-Group/aether-sdk-python
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
aether_ai-0.1.1-py3-none-any.whl -
Subject digest:
1e499bbb1686ba80e05bd32c1be39a71a11b9d7f48cc7fec66bb281160b5a005 - Sigstore transparency entry: 1785275680
- Sigstore integration time:
-
Permalink:
Quintessence-Group/aether-sdk-python@f7d96a3f5d9859f7bbaf91b0c6762a46d59a4fcd -
Branch / Tag:
refs/tags/v0.1.1 - Owner: https://github.com/Quintessence-Group
-
Access:
private
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release.yml@f7d96a3f5d9859f7bbaf91b0c6762a46d59a4fcd -
Trigger Event:
push
-
Statement type: