Skip to main content

june-langgraph

Give your LangGraph agent a June memory. If your agent saves conversations with a LangGraph checkpointer (SQLite or Postgres), this connects that history to Junê — so you can search every conversation, ask questions about them ("what did we decide about pricing?") and get grounded, cited answers, and give the agent itself memory of past sessions.

No code changes required. Three commands:

pip install "june-langgraph[sqlite]"     # [postgres] / [mysql] for server DBs
june-langgraph connect                   # one-time setup — it finds everything
june-langgraph watch                     # keeps June updated while your agent runs

connect is a small wizard: it looks for June on your computer (it finds the Junê desktop app automatically), looks for your agent's chat database in the current folder, checks the whole path works, and saves the setup. watch then quietly mirrors every new message into a June canvas as your agent runs. Run june-langgraph sync once to bring in the history you already have.

your LangGraph app ──▶ checkpointer DB ──▶ june-langgraph ──▶ June canvas
     (unchanged)         (unchanged)        (watch/sync)    (search · ask · cite)

Your checkpoint database is never modified — it is only read, and always through LangGraph's own deserializer, so what June sees is exactly what your agent saved.

Why

LangGraph checkpointers are built for resuming a conversation, not for finding one. The history lives in serialized checkpoint blobs across several tables — fine for the framework, hopeless for "show me everything we said about the contract". June turns that history into a searchable, cited knowledge graph.

Everyday commands

command what it does
june-langgraph connect one-time setup wizard (safe to re-run any time)
june-langgraph sync one catch-up pass — brings existing history into June
june-langgraph watch keeps syncing while your agent runs (Ctrl+C to stop)
june-langgraph install-service make watch automatic — background service that survives reboots (Linux/macOS)
june-langgraph uninstall-service stop + remove the background service
june-langgraph status what's configured + how much has synced
june-langgraph doctor checks every part of the setup, PASS/FAIL per item

Want fully hands-off syncing? After connect, run june-langgraph install-service once: it writes your platform's native user-level service (systemd on Linux, launchd on macOS) and starts it. From then on new messages flow into June whenever your machine is on — no terminal to keep open. Logs: journalctl --user -u june-langgraph -f (Linux) or ~/Library/Logs/june-langgraph.log (macOS).

Everything is incremental: only new messages are sent, tracked per message in a small ledger, so re-running never duplicates. If June is offline, watch keeps trying quietly and catches up when it's back; your agent is never affected.

For developers: mirror in-process instead

If you'd rather not run a second process, wrap your checkpointer — one line:

from langgraph.checkpoint.sqlite import SqliteSaver
from june_langgraph import JuneSaver

with SqliteSaver.from_conn_string("checkpoints.sqlite") as inner:
    app = graph.compile(checkpointer=JuneSaver(
        inner,                                 # any BaseCheckpointSaver
        june_url="http://127.0.0.1:8799",      # the Junê app's local engine
        api_key="local",
        canvas="agent-chats",
        state_file=".june_pushed.json",        # dedupe ledger, survives restarts
    ))

LangGraph behaviour is untouched (resume, time travel, .list() — everything delegates to the inner saver). New messages mirror to June at save time, while they're still live objects — nothing is ever deserialized. Sync and async graphs both work. If June is down the agent keeps running and unpushed messages retry on the next save.

Pairs with june-mcp

Both packages speak the same env vars (JUNE_BASE_URL, JUNE_API_KEY, JUNE_CANVAS) and the same canvas semantics. Point june-mcp at the same canvas and Claude (Desktop or Code) can answer questions over your agent's entire chat history — june_answer with citations, june_search, june_enumerate — while june-langgraph watch keeps it current. Your LangGraph app can also read June at runtime (/v1/search, /v1/context) to give the agent long-term memory.

Which databases work

your checkpointer install --db looks like
SqliteSaver june-langgraph[sqlite] checkpoints.sqlite
PostgresSaver june-langgraph[postgres] postgresql://user:pw@host/db
PyMySQLSaver (community) june-langgraph[mysql] mysql://user:pw@host/db
anything else (Redis, Mongo, …) that saver's package its conn string + --saver

The --saver escape hatch accepts any BaseCheckpointSaver via a package.module:factory spec — the factory is called with your --db string:

june-langgraph sync --db "redis://localhost:6379" \
  --saver "langgraph.checkpoint.redis:RedisSaver.from_conn_string"

So new community checkpointers work the day they exist, without waiting for a june-langgraph release. (Custom savers always use the full-scan change detection; the metadata-only fast path is SQLite-specific.)

Configuration

connect writes ~/.june/langgraph.json (key-holding, chmod 600). Everything can be overridden per-run with flags (--db, --june-url, --june-key, --canvas) or the env vars above. JUNE_LANGGRAPH_HOME relocates the config directory. Custom state key? messages_key in the config file (default messages).

Troubleshooting

Run june-langgraph doctor. It checks, in order: configuration → June reachable → canvas resolves → database readable → ledger writable, and prints a mapped hint for each FAIL. Exits 0 only when everything passes.

License

MIT. The Junê engine itself is a separate, closed-source product — this connector is the open part, by design.

Metadata

Release files for june-langgraph 0.1.2

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for june-langgraph 0.1.2
File Size Uploaded
june_langgraph-0.1.2.tar.gz 29.1 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for june-langgraph 0.1.2
File Interpreter ABI Platform
june_langgraph-0.1.2-py3-none-any.whl Python 3 none any Details

Total release size: 54.4 kB

Release files / june_langgraph-0.1.2.tar.gz

Download URL june_langgraph-0.1.2.tar.gz
Size 29.1 kB
Tags Source
SHA-256 checksum
How to use checksums
93628689df8a34ca576d947a85f95e48c1684578fbef99b623c00fb50291c59b
BLAKE2b-256 checksum
How to use checksums
2c47cab402f9ae031bc21fdb48a1aad332f44a78b72a94a53a5ad6d6e23a148c
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.

Transparency log

Release files / june_langgraph-0.1.2-py3-none-any.whl

Download URL june_langgraph-0.1.2-py3-none-any.whl
Size 25.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
22bcdb3e12d34dc27d7e923d902ef838c81fec7bb2f4f53cb83e3ab3622d1279
BLAKE2b-256 checksum
How to use checksums
d2ae78b4d06f6ea5170e0a366f6e0937c0f7e32f4b5da5034be548bc1e6628b4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.14

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.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jul 31, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.2 This release

2 release files

0.1.1

2 release files

0.1.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page