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.17.0rc8

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.17.0rc8
File Size Uploaded Provenance Actions
langgraph_api-0.17.0rc8.tar.gz 886.1 kB Without provenance Details for langgraph_api-0.17.0rc8.tar.gz

Built distribution (wheel)

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

Total release size: 1.5 MB

Release files / langgraph_api-0.17.0rc8.tar.gz

Download URL langgraph_api-0.17.0rc8.tar.gz
Size 886.1 kB
Tags Source
SHA-256 checksum
How to use checksums
d02663948948736873c40e82a646aeaeaebcfc5be60abb261617f4d085159113
BLAKE2b-256 checksum
How to use checksums
53f7f554a8e64cbea245407ec0e26718216f1d8eefb07e54a21228e5549f1d38
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.17.0rc8-py3-none-any.whl

Download URL langgraph_api-0.17.0rc8-py3-none-any.whl
Size 663.1 kB
Tags Python 3
SHA-256 checksum
How to use checksums
3988cde2ffc73a389fe09390449d9337204366981b63ef7f9f72fe7004d01b84
BLAKE2b-256 checksum
How to use checksums
b036fc6787b552e282122a1d62f6a296018c8eeded9a43e43e6cde499789a47a
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.17.0rc8

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