Skip to main content
Pre-release

This release is a pre-release and may not be stable for production use.

LangGraph API

This package implements the LangGraph API for rapid development and testing. Build and iterate on LangGraph agents with a tight feedback loop. The server is backed by a predominently in-memory data store that is persisted to local disk when the server is restarted.

For production use, see the various deployment options for the LangGraph API, which are backed by a production-grade database.

Installation

Install the langgraph-cli package with the inmem extra. Your CLI version must be no lower than 0.1.55.

pip install -U "langgraph-cli[inmem]"

Quickstart

  1. (Optional) Clone a starter template:

    langgraph new --template new-langgraph-project-python ./my-project
    cd my-project
    

    (Recommended) Use a virtual environment and install dependencies:

    python -m venv .venv
    source .venv/bin/activate
    python -m pip install .
    
  2. Start the development server:

    langgraph dev --config ./langgraph.json
    
  3. The server will launch, opening a browser window with the graph UI. Interact with your graph or make code edits; the server automatically reloads on changes.

Usage

Start the development server:

langgraph dev

Your agent's state (threads, runs, assistants) persists in memory while the server is running - perfect for development and testing. Each run's state is tracked and can be inspected, making it easy to debug and improve your agent's behavior.

A2A task history scope

An A2A context can contain multiple tasks. By default, SendMessage, GetTask, and ListTasks return the full context history. Set historyScope to task to return only messages that belong to the requested task.

For SendMessage, set it in configuration:

{
  "jsonrpc": "2.0",
  "id": "1",
  "method": "SendMessage",
  "params": {
    "message": {
      "role": "ROLE_USER",
      "parts": [{"text": "Second request"}],
      "messageId": "message-2",
      "contextId": "8b1f0e5c-9a3d-4f27-b0c8-2e6a5d4c1b7a"
    },
    "configuration": {"historyScope": "task"}
  }
}

For GetTask and ListTasks, set it directly in params. If changing the request body is not possible, send LangGraph-A2A-History-Scope: task instead. An explicit request value takes precedence over the header.

{
  "jsonrpc": "2.0",
  "id": "2",
  "method": "GetTask",
  "params": {"id": "<taskId>", "historyScope": "task"}
}
{
  "jsonrpc": "2.0",
  "id": "3",
  "method": "ListTasks",
  "params": {"contextId": "<contextId>", "historyScope": "task"}
}

The agent card advertises support through the https://langchain.com/a2a/extensions/history-scope/v1 extension.

How-To

Attaching a debugger

Debug mode lets you attach your IDE's debugger to the LangGraph API server to set breakpoints and step through your code line-by-line.

  1. Install debugpy:

    pip install debugpy
    
  2. Start the server in debug mode:

    langgraph dev --debug-port 5678
    
  3. Configure your IDE:

    • VS Code: Add this launch configuration:
      {
        "name": "Attach to LangGraph",
        "type": "debugpy",
        "request": "attach",
        "connect": {
                 "host": "0.0.0.0",
                 "port": 5678
             },
      }
      
    • PyCharm: Use "Attach to Process" and select the langgraph process
  4. Set breakpoints in your graph code and start debugging.

CLI options

langgraph dev [OPTIONS]
Options:
  --debug-port INTEGER         Enable remote debugging on specified port
  --no-browser                 Skip opening browser on startup
  --n-jobs-per-worker INTEGER  Maximum concurrent jobs per worker process
  --config PATH               Custom configuration file path
  --no-reload                 Disable code hot reloading
  --port INTEGER              HTTP server port (default: 8000)
  --host TEXT                 HTTP server host (default: localhost)

License

This project is licensed under the Elastic License 2.0 - see the LICENSE file for details.

Metadata

Release files for langgraph-api 0.18.0rc1

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

Source distribution (sdist)

Source distribution for langgraph-api 0.18.0rc1
File Size Uploaded Provenance Actions
langgraph_api-0.18.0rc1.tar.gz 943.5 kB Without provenance Details for langgraph_api-0.18.0rc1.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for langgraph-api 0.18.0rc1
File Interpreter ABI Platform Actions
langgraph_api-0.18.0rc1-py3-none-any.whl Python 3 none any Details for langgraph_api-0.18.0rc1-py3-none-any.whl

Total release size: 1.6 MB

Release files / langgraph_api-0.18.0rc1.tar.gz

Download URL langgraph_api-0.18.0rc1.tar.gz
Size 943.5 kB
Tags Source
SHA-256 checksum
How to use checksums
96b2ef67f4be72dca17806fac66961dda36ddda84fd0088a95d8a06bd67e6b08
BLAKE2b-256 checksum
How to use checksums
0f61cdab38a6db2a242316dea0a4d9a438b3e1c4c663f2568400e5606e3f99ff
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Release files / langgraph_api-0.18.0rc1-py3-none-any.whl

Download URL langgraph_api-0.18.0rc1-py3-none-any.whl
Size 704.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6989cf2b37fb1f127a64ed0553521628201c81347558f79cd8ecd13d5f4e73b7
BLAKE2b-256 checksum
How to use checksums
41ddb5d246a8782c45c3edc139a07336e64a4653a562ca2188e8eed4f105748a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.13

Security for langgraph-api 0.18.0rc1

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.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release
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