Commit Graph
2521 Commits
Author SHA1 Message Date
vbarda efd33d860f update 2025-05-14 21:03:47 -04:00
vbarda 254a38560e langgraph: fix drawing graph with __root__ channel 2025-05-14 20:42:30 -04:00
vbarda b20130d4e4 langgraph: fix graph drawing for self-loops 2025-05-14 09:46:32 -04:00
William FHandGitHub bed5f80e2c Optionally use loop-safe asgi transport (#4668) 2025-05-12 19:31:44 -07:00
Lauren Hirata SinghandGitHub 280d612b2d Merge branch 'main' into clean 2025-05-12 17:26:17 -04:00
Ido SalomonandGitHub 9fce01f884 [Proposal] add gitmcp badge for simple LLM-accessible documentation (#4502)
[gitmcp.io](https://gitmcp.io/) provides easy access to the latest
langgraph docs through a remote, free, open-source MCP. It's supported
by all major clients (including the new claude.ai web client). It
enables two access points -
- Empower AI agents (e.g., Cursor) with live documentation context to
prevent hallucinations.
- Chat with the documentation in the browser via the embedded chat

This PR proposes adding a new badge to help users make the most of
Langgraph's documentation with GitMCP. The badge is
[customizable](https://github.com/idosal/git-mcp?tab=readme-ov-file#-gitmcp-badge).
The count is a live count of users accessing Langgraph's documentation
through GitMCP.

Example:

[![GitMCP](https://img.shields.io/endpoint?url=https://gitmcp.io/badge/langchain-ai/langgraph)](https://gitmcp.io/langchain-ai/langgraph)

You can see a demo with Langgraph's GitHub pages at gitmcp.io.

Please let us know what you think :)
2025-05-12 17:08:47 -04:00
Lauren Hirata Singh f5423783f7 Change LG Cloud > Platform 2025-05-12 12:44:50 -07:00
André MenezesandGitHub 3d394740ce Fix AsyncPostgresStore._cursor row type (#4623)
`AsyncPostgresStore._cursor` is expected to yield
`AsyncCursor[DictRow]`. In the `else` branch the `row_factory` was not
defined, meaning that it would yield `AsyncCursor[TupleRow]` (default).
This resulted in an error in
[langgraph/store/postgres/aio.py#L249](https://github.com/langchain-ai/langgraph/blob/main/libs/checkpoint-postgres/langgraph/store/postgres/aio.py#L249)
(`TypeError: tuple indices must be integers or slices, not str`).
2025-05-12 13:34:56 +00:00
Emmanuel FerdmanandGitHub 5ab6f77982 Fix invalid channels error message (#4357)
# PR Summary
This small PR resolves the error formatting in
`libs/langgraph/langgraph/pregel/algo.py` so the `proc.channels` will be
evaluated in the message.

Signed-off-by: Emmanuel Ferdman <emmanuelferdman@gmail.com>
2025-05-12 09:29:49 -04:00
Sydney RunkleandGitHub 347fbf1625 docs: remove unused annotation comments in readmes (#4656) 2025-05-12 07:45:22 -04:00
Lauren Hirata SinghandGitHub daf20b610b docs: General language cleanup (#4649)
- README updates based on feedback
- Auth tutorial cleanup
2025-05-12 06:11:08 +00:00
William FHandGitHub bb416eb39a feat: CLI: Add __main__.py (#4637) 2025-05-09 13:14:45 -07:00
+2 3055c4b9cc [docs] LangGraph / LangGraph Platform docs updates (#4479)
Main changes made:
- Add top level horizontal tabs
- Reorganize the sidenav
- Build out README/index page
- Consolidate how-tos under each section
- Remove duplicate content

---------

Signed-off-by: William Fu-Hinthorn <13333726+hinthornw@users.noreply.github.com>
Co-authored-by: Tat Dat Duong <david@duong.cz>
Co-authored-by: Sydney Runkle <sydneymarierunkle@gmail.com>
Co-authored-by: William Fu-Hinthorn <13333726+hinthornw@users.noreply.github.com>
Co-authored-by: Vadym Barda <vadym@langchain.dev>
Co-authored-by: Eugene Yurtsev <eyurtsev@gmail.com>
Co-authored-by: ccurme <chester.curme@gmail.com>
Co-authored-by: Andrew Nguonly <andrewnguonly@users.noreply.github.com>
Co-authored-by: David Asamu <david.asamu@langchain.dev>
Co-authored-by: infra <mukil@langchain.dev>
Co-authored-by: Arjun Natarajan <arjun@langchain.dev>
2025-05-09 16:09:43 -04:00
Nuno CamposandGitHub 909a4591a8 Port checkpointer/store fixtures in langgraph-prebuilt to idiomatic pattern (#4629) 2025-05-09 19:42:44 +00:00
Nuno CamposandGitHub fc1ef29df7 Extend all tests using InMemorySaver to use all available checkpointers (#4627) 2025-05-09 12:34:59 -07:00
Nuno CamposandGitHub 30a72ced06 Implement update_state for functional api (#4626) 2025-05-09 12:34:45 -07:00
Nuno CamposandGitHub 302ae69e60 More idiomatic sync/async checkpointer fixtures in pytest (#4624) 2025-05-09 12:34:34 -07:00
Nuno CamposandGitHub 6777b5274c More idiomatic sync/async store fixtures in pytest (#4617)
- Use a single fixture that returns the store, instead of list of names
2025-05-09 12:34:16 -07:00
Nuno CamposandGitHub c5283cac09 Cache nodes/tasks (#4486)
- BaseCache interface defines the base class for cache storage adapters
- FileCache implements BaseCache with filesystem-backed storage
- Provide default cache key implementation which hashes args with pickle
- Update PregelExecutableTask with cache_key property for tasks that
opt-in to caching
- Update PregelLoop, PregelRunner to get/set from cache as appropriate

TODO
- [x]  Call match_cached_writes in async PregelRunner
- [ ]  Implement RedisCache to use in LGP
- [x]  Add more tests
2025-05-09 12:34:04 -07:00
Nuno Campos 562d64bbb7 Lint 2025-05-09 12:07:59 -07:00
Nuno Campos 898f266f72 Overload clear method to delete all when called without args 2025-05-09 12:05:26 -07:00
Nuno Campos 331d5b07ce Limit depth 2025-05-09 12:00:08 -07:00
William FHandGitHub 62069439fc feat: support --base-image in langgraph dockerfile command (#4628) 2025-05-09 18:35:33 +00:00
Nuno Campos 0d9b664360 Extend all tests using InMemorySaver to use all available checkpointers 2025-05-09 11:11:04 -07:00
Nuno Campos e8cea06e7e Implement update_state for functional api 2025-05-09 10:54:26 -07:00
Nuno Campos ed7f038a19 Fix 2025-05-09 10:54:12 -07:00
William FHandGitHub e507f0b991 feat: Customize timeouts in get_client (#4622) 2025-05-09 10:07:35 -07:00
Nuno Campos af961e279b More idiomatic sync/async checkpointer fixtures in pytest 2025-05-09 09:59:43 -07:00
Nuno Campos dd55e5097b Move to sep file 2025-05-09 09:01:25 -07:00
Nuno Campos 92cc3f0e0e More idiomatic sync/async store fixtures in pytest
- Use a single fixture that returns the store, instead of list of names
2025-05-09 08:38:31 -07:00
Nuno Campos 6fc1df9013 Lint 2025-05-08 17:12:22 -07:00
Nuno Campos 7850c8d799 Lint 2025-05-08 17:08:47 -07:00
Nuno Campos 83d2f93566 Lint 2025-05-08 16:57:21 -07:00
Nuno Campos c937d5f048 Lint 2025-05-08 16:54:06 -07:00
Nuno Campos 1a6395fd07 Move FileCache to sqlite package, add InMemoryCache 2025-05-08 16:50:36 -07:00
Nuno Campos 6e0041529e Add clear cache methods 2025-05-08 16:50:24 -07:00
Nuno Campos d5d6fc0fee Remove refresh 2025-05-08 16:50:24 -07:00
Nuno Campos 31b135f75d Add namespace to cache keys 2025-05-08 16:50:24 -07:00
Nuno Campos bebb0e8164 Lint 2025-05-08 16:50:24 -07:00
Nuno Campos 4761eb7696 Lint 2025-05-08 16:50:24 -07:00
Nuno Campos f1c1eaf229 Lint 2025-05-08 16:50:24 -07:00
Nuno Campos 0211886bf5 Lint 2025-05-08 16:50:24 -07:00
Nuno Campos 0dd9fba0af Lint 2025-05-08 16:50:24 -07:00
Nuno Campos f5bf77b3eb Lint 2025-05-08 16:50:09 -07:00
Nuno Campos 7c9f9aa89d Lint 2025-05-08 16:49:38 -07:00
Nuno Campos d38303494c Lint 2025-05-08 16:49:38 -07:00
Nuno Campos c4deb2c621 Finish implementation, add tests 2025-05-08 16:49:38 -07:00
Nuno Campos 42d88a769a Lint 2025-05-08 16:49:38 -07:00
Nuno Campos 14b07d06fa Re-implement using sqlite 2025-05-08 16:49:38 -07:00
Nuno Campos d04570f178 Lint 2025-05-08 16:49:38 -07:00