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 wire versions

Send A2A-Version: 1.0 on JSON-RPC requests to opt into v1 response shapes, including streaming responses. V1 responses omit legacy kind discriminators, use statusUpdate and artifactUpdate stream wrappers, emit UTC timestamps ending in Z, and encode file parts with url or raw, mediaType, and filename. Server-generated tool result data uses toolResults in this mode; arbitrary application data and extension payloads are not renamed.

Requests without the header, with an empty header, or with A2A-Version: 0.3, retain the existing response behavior, including tool_results. Surrounding whitespace is stripped, and numeric patch versions are ignored: 1.0.1 selects v1 output and 0.3.1 selects legacy output. Method names alone do not opt into v1 output. Unsupported major/minor versions and malformed header values return JSON-RPC error -32009. All requests accept url and raw file parts in addition to the existing inputs, independent of the response version header. This opt-in covers wire serialization, not full protocol conformance.

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.19.0.dev11

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.19.0.dev11
File Size Uploaded Provenance Actions
langgraph_api-0.19.0.dev11.tar.gz 990.0 kB Without provenance Details for langgraph_api-0.19.0.dev11.tar.gz

Built distribution (wheel)

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

Total release size: 1.7 MB

Release files / langgraph_api-0.19.0.dev11.tar.gz

Download URL langgraph_api-0.19.0.dev11.tar.gz
Size 990.0 kB
Tags Source
SHA-256 checksum
How to use checksums
f73d3e758411a0a70d5921f64ea3396dec649b68a08f735448bf92c37b644aeb
BLAKE2b-256 checksum
How to use checksums
57ef03b08850b6f2f9f27070bb84e7d84890e134ca3c6b303a5a36f4d8b78cf5
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Release files / langgraph_api-0.19.0.dev11-py3-none-any.whl

Download URL langgraph_api-0.19.0.dev11-py3-none-any.whl
Size 754.0 kB
Tags Python 3
SHA-256 checksum
How to use checksums
0f7c16725607dc83c6566eb7aec740514e9c5f694c9d7a2ae6e7db790b2061ad
BLAKE2b-256 checksum
How to use checksums
4fdb2f0ba1f01b51027f0f10967ff0082bfcfbb6120ce4d2ef25d7cf44e08e16
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

Security for langgraph-api 0.19.0.dev11

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