Kronvex Python SDK
Persistent memory for AI agents. Three endpoints, one API key, production-ready.
Installation
pip install kronvex # core SDK
pip install "kronvex[langchain]" # + LangChain integration
pip install "kronvex[crewai]" # + CrewAI integration
pip install "kronvex[langgraph]" # + LangGraph integration
pip install "kronvex[openai-agents]" # + OpenAI Agents SDK integration
pip install "kronvex[autogen]" # + AutoGen integration
pip install "kronvex[all-integrations]" # all integrations at once
Quick start
from kronvex import Kronvex
kx = Kronvex("kv-your-api-key")
agent = kx.agent("your-agent-id")
# Store a memory
agent.remember("User prefers concise answers", memory_type="preference")
# Recall relevant memories
memories = agent.recall("what does the user prefer?", top_k=5)
for m in memories:
print(f"[{m['score']:.2f}] {m['content']}")
# Inject context into your prompt
context = agent.inject_context("How should I respond?")
# → "Relevant memories:\n- User prefers concise answers\n..."
Async support
import asyncio
from kronvex import AsyncKronvex
async def main():
async with AsyncKronvex("kv-your-api-key") as kx:
agent = kx.agent("your-agent-id")
await agent.remember("User is based in Paris", memory_type="semantic")
memories = await agent.recall("where is the user?")
asyncio.run(main())
Framework integrations
LangChain
pip install "kronvex[langchain]"
from kronvex.integrations.langchain import KronvexMemory
from langchain_openai import ChatOpenAI
from langchain.chains import ConversationChain
memory = KronvexMemory(api_key="kv-your-key", agent_id="your-agent-id")
chain = ConversationChain(llm=ChatOpenAI(), memory=memory)
chain.predict(input="I prefer concise answers.")
CrewAI
pip install "kronvex[crewai]"
import os
os.environ["KRONVEX_API_KEY"] = "kv-your-key"
os.environ["KRONVEX_AGENT_ID"] = "your-agent-id"
from kronvex.integrations.crewai import recall_memory, store_memory, get_context
from crewai import Agent
researcher = Agent(role="Researcher", goal="...", tools=[recall_memory, store_memory])
LangGraph
pip install "kronvex[langgraph]"
from kronvex.integrations.langgraph import make_recall_node, make_store_node
recall_node = make_recall_node("kv-your-key", "your-agent-id")
store_node = make_store_node("kv-your-key", "your-agent-id")
builder.add_node("recall", recall_node)
builder.add_node("store", store_node)
OpenAI Agents SDK
pip install "kronvex[openai-agents]"
from agents import Agent, Runner
from kronvex.integrations.openai_agents import KronvexHooks
hooks = KronvexHooks(api_key="kv-your-key", agent_id="your-agent-id", session_id="user-42")
result = await Runner.run(
agent,
messages=[{"role": "user", "content": "Hello"}],
hooks=hooks,
)
AutoGen
pip install "kronvex[autogen]"
from kronvex.integrations.autogen import KronvexMemory
mem = KronvexMemory(api_key="kv-your-key", agent_id="your-agent-id")
context = mem.inject_context(user_message)
system_msg = f"You are a helpful assistant.\n\n{context}"
mem.remember(f"User: {user_message}")
mem.remember(f"Assistant: {ai_response}")
API reference
Kronvex(api_key, *, base_url, timeout)
| Method | Description |
|---|---|
.agent(agent_id) |
Get an Agent handle |
.create_agent(name) |
Create a new agent |
.list_agents() |
List all agents |
Agent
| Method | Description |
|---|---|
.remember(content, *, memory_type, session_id, ttl_days, pinned, metadata) |
Store a memory |
.recall(query, *, top_k, memory_type, session_id, threshold) |
Semantic search |
.inject_context(message, *, top_k, session_id) |
Get prompt-ready context block |
.sessions() |
List session IDs |
.memories(*, session_id, memory_type, limit, offset) |
List stored memories |
.delete_memory(memory_id) |
Delete one memory |
.clear() |
Delete all memories |
Links
Metadata
Release files for kronvex 0.5.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | Provenance | Actions |
|---|---|---|---|---|
| kronvex-0.5.2.tar.gz | 11.7 kB | Without provenance | Details for kronvex-0.5.2.tar.gz |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Actions Reset |
|---|---|---|---|---|
| kronvex-0.5.2-py3-none-any.whl | Python 3 | none | any | Details for kronvex-0.5.2-py3-none-any.whl |
Total release size: 29.5 kB
Release files / kronvex-0.5.2.tar.gz
| Download URL | kronvex-0.5.2.tar.gz |
|---|---|
| Size | 11.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
9b13f8fab0eb194da67e88afd92ed0f8b1e5710bdb595d2e87a36696984bbe3a
|
|
BLAKE2b-256 checksum How to use checksums |
950fd4254e77120a1f9b344d263101dc7a9c6a65a5d0f50eff1bd295d3c6a67d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Release files / kronvex-0.5.2-py3-none-any.whl
| Download URL | kronvex-0.5.2-py3-none-any.whl |
|---|---|
| Size | 17.8 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
c8eadd05e6a4256a60992c962bade5ee4f20c908146d90de1b428d1236ca24aa
|
|
BLAKE2b-256 checksum How to use checksums |
2e764b70d98fa3152a4f17b1d81b4b2217d31d133f0eb0fde50e6e52a7700d08
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.12.13
|
Security for kronvex 0.5.2
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
No provenance found
None of the files in this release were uploaded with provenance metadata.
A note on package security
PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.
To learn more about protecting yourself from malicious actors, visit our package security documentation.