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.
Metadata
Release files for synap-langgraph-testing 0.1.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| synap_langgraph_testing-0.1.0.tar.gz | 9.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| synap_langgraph_testing-0.1.0-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 20.2 kB
Release files / synap_langgraph_testing-0.1.0.tar.gz
| Download URL | synap_langgraph_testing-0.1.0.tar.gz |
|---|---|
| Size | 9.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
2968c2651b964df6e597de5be0b17784ce6a4131f925d2e0fb52e991b3ab3b7c
|
|
BLAKE2b-256 checksum How to use checksums |
7c7236b6f06bbc8928a3d8ae393d348d7c41d8ccf8bb5f7a6bce752e30767e50
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|
Release files / synap_langgraph_testing-0.1.0-py3-none-any.whl
| Download URL | synap_langgraph_testing-0.1.0-py3-none-any.whl |
|---|---|
| Size | 10.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
21e8da045bf97e8982827e5aeed673a77d8b3591992fd2f5a5a5d7234ef92904
|
|
BLAKE2b-256 checksum How to use checksums |
83ac50823d05f90f89b63a916d394aec200ff66ab829afe21273091402519a9e
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
twine/6.2.0 CPython/3.14.2
|