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'sBaseStorefor cross-thread long-term memory. Semantic search viastore.search(namespace, query=...)routes tosdk.fetch(...), so your graph nodes get Synap-powered recall out of the box. -
SynapCheckpointSaver— implementsBaseCheckpointSaverwith best-effort fuzzy retrieval. Checkpoint writes succeed durably; reads usesdk.fetchwhich is semantic-search shaped rather than exact KV. Use for observability/audit and demo flows. For production checkpoint durability, pair withSqliteSaver/PostgresSaver. -
create_synap_node— re-exported fromsynap-langchainfor 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 asSynapIntegrationError. Silent drops would hide ingestion outages. - Reads (
get,search,get_tuple,list) degrade gracefully — they log atERRORand returnNone/[]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
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 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2968c2651b964df6e597de5be0b17784ce6a4131f925d2e0fb52e991b3ab3b7c
|
|
| MD5 |
3808cbfd0e6fa73b85dbd8f0df8bb892
|
|
| BLAKE2b-256 |
7c7236b6f06bbc8928a3d8ae393d348d7c41d8ccf8bb5f7a6bce752e30767e50
|
File details
Details for the file synap_langgraph_testing-0.1.0-py3-none-any.whl.
File metadata
- Download URL: synap_langgraph_testing-0.1.0-py3-none-any.whl
- Upload date:
- Size: 10.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.2
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
21e8da045bf97e8982827e5aeed673a77d8b3591992fd2f5a5a5d7234ef92904
|
|
| MD5 |
708171fe8f6eca54e3c09d72d1c69942
|
|
| BLAKE2b-256 |
83ac50823d05f90f89b63a916d394aec200ff66ab829afe21273091402519a9e
|