Skip to main content

Lightweight client + LangChain/LangGraph adapters for memnos — backend memory for AI agents.

Project description

memnos-sdk

Lightweight Python client for memnos — governed, vendor-neutral backend memory for AI agents. Use it directly, or as a LangChain retriever, a LangGraph long-term-memory store, or a LlamaIndex retriever.

httpx-only (no server deps). Talks to a running memnos server over REST.

pip install memnos-sdk                  # core client
pip install 'memnos-sdk[langchain]'     # + LangChain retriever
pip install 'memnos-sdk[langgraph]'     # + LangGraph BaseStore
pip install 'memnos-sdk[llamaindex]'    # + LlamaIndex retriever
pip install 'memnos-sdk[all]'           # everything

Core client (sync + async)

from memnos_sdk import MemnosClient

with MemnosClient(base_url="http://127.0.0.1:8900", token="mnk_...", namespace="org:acme") as mem:
    mem.remember("We chose PostgreSQL + pgvector for the memory store")
    ctx = mem.context("what database did we choose?")   # ready-to-inject; no LLM at query time
    rows = mem.recall("database decision")["memories"]   # ranked memories w/ scores + dates
from memnos_sdk import AsyncMemnosClient

async with AsyncMemnosClient(token="mnk_...", namespace="org:acme") as mem:
    await mem.remember("...")
    print(await mem.context("..."))

A token + namespace come from your memnos admin (memnos token <principal>, memnos grant <principal> <namespace>). Every call is namespace-scoped and audited server-side.

LangChain

from memnos_sdk import MemnosClient
from memnos_sdk.integrations.langchain import MemnosRetriever

retriever = MemnosRetriever(client=MemnosClient(token="mnk_...", namespace="org:acme"))
docs = retriever.invoke("auth token expiry policy")     # drop into any RAG chain
retriever.save("JWT tokens expire after 15 minutes in prod")

LangGraph (long-term memory)

from memnos_sdk import MemnosClient
from memnos_sdk.integrations.langgraph import MemnosStore

store = MemnosStore(MemnosClient(token="mnk_..."))
graph = builder.compile(store=store)
# in a node:  store.search(("org","acme"), query="...")  ·  store.put(("org","acme"), key, {"text": "..."})

memnos is semantic memory: put→remember, search→hybrid+reranked recall. Exact-key get is best-effort (use search).

LlamaIndex

from memnos_sdk import MemnosClient
from memnos_sdk.integrations.llamaindex import MemnosRetriever

retriever = MemnosRetriever(client=MemnosClient(token="mnk_...", namespace="org:acme"))
nodes = retriever.retrieve("auth token expiry policy")   # NodeWithScore[]; drop into a query engine
retriever.save("JWT tokens expire after 15 minutes in prod")

API surface

remember(text) · recall(query) -> {memories, context} · context(query) -> str · consolidate() · feedback(query, helpful) · healthy(). Async mirror on AsyncMemnosClient.

Apache-2.0.

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

memnos_sdk-0.1.0.tar.gz (9.8 kB view details)

Uploaded Source

Built Distribution

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

memnos_sdk-0.1.0-py3-none-any.whl (8.7 kB view details)

Uploaded Python 3

File details

Details for the file memnos_sdk-0.1.0.tar.gz.

File metadata

  • Download URL: memnos_sdk-0.1.0.tar.gz
  • Upload date:
  • Size: 9.8 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for memnos_sdk-0.1.0.tar.gz
Algorithm Hash digest
SHA256 a6fd857f3bf3291339615dba3f50435302c97c667846d820f9a42b2bf3a64f2b
MD5 c4ac3bd2e18d3a80bea2cc0793b29577
BLAKE2b-256 059ad31599d94e27c73a694599ef558cd9552393259dc4a1a96b5524d8722f74

See more details on using hashes here.

File details

Details for the file memnos_sdk-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: memnos_sdk-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 8.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.10.19

File hashes

Hashes for memnos_sdk-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 bb04cac5d693bb3ae2d3b665ad6445ed5beac8769ad3222472d0efa87bb34a79
MD5 37fe08b16a9a28c332feff5441afe26b
BLAKE2b-256 bdadfcebda6036fa41edf1c67dcde980cfafd4d1f7812d31db422879817298a7

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