Flumes – unified memory infrastructure SDK for AI agents (Python)
Project description
Flumes AI – Python SDK
Flumes AI is a unified memory infrastructure for LLM-powered agents and applications. This SDK lets any Python or LangChain stack plug into the Flumes Memory API in three lines of code.
👉 Learn more at https://www.flumes.ai/ – full docs at https://docs.flumes.ai/.
🚀 Installation
pip install flumes-ai # includes the OpenAI client by default
Python ≥3.8. No system packages or C-extensions required.
🔑 Configuration
Environment variables (preferred):
| Service | Variable | Example |
|---|---|---|
| Flumes | FLUMES_API_KEY |
export FLUMES_API_KEY=sk_live_… |
| OpenAI | OPENAI_API_KEY |
export OPENAI_API_KEY=sk-… |
You can also pass api_key="…" directly to MemoryClient.
⚡ Quick-start (entity-first; no summarize route)
from flumes import MemoryClient
client = MemoryClient(api_key="YOUR_KEY", agent_id="travel-bot")
u = client.for_entity("user_001", namespace="prod")
res = u.add("Planning a trip to France. Like wine, cheese and calm places.")
print(res.get("context", {}).get("summary"))
hits = u.search("trip recommendations", top_k=24)
print(len(hits.get("matches", [])))
Behind the scenes Flumes:
- Adds the fact to long-term memory (summarised + deduplicated).
- Retrieves relevant memories with semantic search.
- Injects them into the LLM prompt (OpenAI by default).
- Stores the assistant response for future context.
🛠️ Advanced (thin pass-through)
from flumes import MemoryClient
mc = MemoryClient(api_key="YOUR_KEY")
mc.search("wine", entity_id="user_42")
mc.get_all(entity_id="user_42", limit=50)
All endpoints map 1-to-1 with the REST reference.
✨ Key features
- Semantic search & vector similarity out-of-the-box.
- Automatic summarisation & deduplication (
infer=Trueby default). - Pluggable LLM backend – OpenAI today, Claude/Mistral coming.
- Structured logging – JSON events (
memory.add.request,llm.called) for easy observability. - Timeout & retry helpers – avoid first-call latency issues.
🗺 Roadmap
- Async transport with
httpx.AsyncClient - CLI:
flumes chat,flumes memories list - Policy plug-ins: custom summariser / retention strategies
- Local in-process transport (
flumes-core) for offline testing
🤝 Contributing
- Fork the repo and create a feature branch.
make install && make test- Open a PR – we ❤️ community help!
Please see LICENSE (MIT).
Made with 🧠 by the Flumes team – join us on the journey to give every agent a memory!
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
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 flumes_ai-0.2.3.tar.gz.
File metadata
- Download URL: flumes_ai-0.2.3.tar.gz
- Upload date:
- Size: 119.4 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b624cd528b5edd2fdf1d604d6ba67733cc5d7e5bff1057b617b3c069e3efffc0
|
|
| MD5 |
113d43045b341c3def3ee105308775ca
|
|
| BLAKE2b-256 |
dc2413a930eeb24bf8a1d2d47d69f7e916ac97b77d14d4108e5e92aa705d7ad4
|
File details
Details for the file flumes_ai-0.2.3-py3-none-any.whl.
File metadata
- Download URL: flumes_ai-0.2.3-py3-none-any.whl
- Upload date:
- Size: 16.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.10.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
e7ff1c408c7cc60443cbbdfc3213da3461a533b03f0cebf54818e0d6f5baeaca
|
|
| MD5 |
39b178c03531d1d7a651b9974cf3bb33
|
|
| BLAKE2b-256 |
9335ebd3bb595dfa631049664644718b84e4c929c2513e83fa1c009cbd023234
|