Skip to main content

Synap memory integration for LangGraph — BaseStore + BaseCheckpointSaver

Project description

synap-langgraph

Synap memory integration for LangGraph.

Install

pip install synap-langgraph

Requires langgraph>=1.0, maximem-synap>=0.2.0.

What's in the box

  • SynapStore — implements LangGraph's BaseStore for cross-thread long-term memory. Semantic search via store.search(namespace, query=...) routes to sdk.fetch(...), so your graph nodes get Synap-powered recall out of the box.

  • SynapCheckpointSaver — implements BaseCheckpointSaver with best-effort fuzzy retrieval. Checkpoint writes succeed durably; reads use sdk.fetch which is semantic-search shaped rather than exact KV. Use for observability/audit and demo flows. For production checkpoint durability, pair with SqliteSaver / PostgresSaver.

  • create_synap_node — re-exported from synap-langchain for users who discovered our LangGraph support through the LangChain package. This is the canonical home.

Quickstart

from langgraph.graph import StateGraph, START, END
from maximem_synap import MaximemSynapSDK
from synap_langgraph import SynapStore, SynapCheckpointSaver

sdk = MaximemSynapSDK(api_key="sk-...")

store = SynapStore(sdk, user_id="alice", customer_id="acme")
saver = SynapCheckpointSaver(sdk, user_id="alice", customer_id="acme")

graph = StateGraph(MyState)
# ... add nodes / edges ...
app = graph.compile(checkpointer=saver, store=store)

# Store usage inside a node:
async def remember(state, runtime):
    await runtime.store.aput(
        ("alice", "preferences"),
        "language",
        {"value": "English"},
    )

Error policy

  • Writes (SynapStore.put, SynapCheckpointSaver.put, put_writes) surface SDK failures as SynapIntegrationError. Silent drops would hide ingestion outages.
  • Reads (get, search, get_tuple, list) degrade gracefully — they log at ERROR and return None/[] rather than crashing the graph.
  • Deletes (SynapStore.delete, SynapCheckpointSaver.delete_thread) warn once and no-op — Synap has no public delete API.

When to use which checkpointer

Goal Saver
Durable thread checkpoints, exact restore LangGraph's SqliteSaver or PostgresSaver
Thread state surfaced in Synap for observability/audit/cross-thread analysis SynapCheckpointSaver
Both Use Sqlite/Postgres as primary; layer SynapCheckpointSaver for the Synap view

Cross-thread long-term memory (BaseStore) maps cleanly to Synap — use SynapStore as your default.

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

synap_langgraph_testing-0.1.0.tar.gz (9.7 kB view details)

Uploaded Source

Built Distribution

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

synap_langgraph_testing-0.1.0-py3-none-any.whl (10.5 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for synap_langgraph_testing-0.1.0.tar.gz
Algorithm Hash digest
SHA256 2968c2651b964df6e597de5be0b17784ce6a4131f925d2e0fb52e991b3ab3b7c
MD5 3808cbfd0e6fa73b85dbd8f0df8bb892
BLAKE2b-256 7c7236b6f06bbc8928a3d8ae393d348d7c41d8ccf8bb5f7a6bce752e30767e50

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for synap_langgraph_testing-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 21e8da045bf97e8982827e5aeed673a77d8b3591992fd2f5a5a5d7234ef92904
MD5 708171fe8f6eca54e3c09d72d1c69942
BLAKE2b-256 83ac50823d05f90f89b63a916d394aec200ff66ab829afe21273091402519a9e

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