Skip to main content

Fast-LangGraph

CI PyPI License: MIT

High-performance Rust accelerators for LangGraph applications. Drop-in components that provide up to 700x speedups for checkpoint operations and 10-50x speedups for state management.

Why Fast-LangGraph?

LangGraph is great for building AI agents, but production workloads often hit performance bottlenecks:

  • Checkpoint serialization - Python's deepcopy is slow for complex state
  • State management at scale - High-frequency updates accumulate overhead
  • Repeated LLM calls - Identical prompts waste API costs

Fast-LangGraph solves these by reimplementing critical paths in Rust while maintaining full API compatibility.

Install

pip install fast-langgraph

or

uv add fast-langgraph

Acceleration Modes

Fast-LangGraph offers two types of acceleration:

Automatic Acceleration (via Shim)

Enable transparent acceleration with a single environment variable or function call. No code changes required to your existing LangGraph application.

# Option 1: Environment variable (recommended for production)
export FAST_LANGGRAPH_AUTO_PATCH=1
python your_app.py
# Option 2: Explicit patching at startup
import fast_langgraph
fast_langgraph.shim.patch_langgraph()

# Your existing LangGraph code runs faster automatically

What gets accelerated automatically:

Component Speedup Description
Executor Caching 2.3x Reuses ThreadPoolExecutor across invocations
apply_writes 1.2x Rust-based channel batch updates

Combined automatic speedup: ~2.8x for typical graph invocations.

Check acceleration status:

import fast_langgraph
fast_langgraph.shim.print_status()

Manual Acceleration (Explicit Usage)

For maximum performance, use Rust components directly. These require small code changes but provide the largest speedups.

from fast_langgraph import (
    RustSQLiteCheckpointer,  # 5-6x faster checkpointing
    cached,                   # LLM response caching
    langgraph_state_update,   # Fast state merging
)
Component Speedup When to Use
RustSQLiteCheckpointer 5-6x State persistence
@cached decorator 10x+ Repeated LLM calls (with 90% hit rate)
langgraph_state_update 13-46x High-frequency state updates

Quick Start

1. Automatic Acceleration (Easiest)

# At the top of your application
import fast_langgraph
fast_langgraph.shim.patch_langgraph()

# Rest of your code unchanged - runs 2-3x faster
from langgraph.graph import StateGraph
# ...

2. Fast Checkpointing (Biggest Impact)

Drop-in replacement for LangGraph's SQLite checkpointer:

from fast_langgraph import RustSQLiteCheckpointer

# 5-6x faster than the default checkpointer
checkpointer = RustSQLiteCheckpointer("state.db")
graph = graph.compile(checkpointer=checkpointer)

3. LLM Response Caching

Cache LLM responses to avoid redundant API calls:

from fast_langgraph import cached

@cached(max_size=1000)
def call_llm(prompt):
    return llm.invoke(prompt)

# First call: hits the API (~500ms)
response = call_llm("What is LangGraph?")

# Second identical call: returns from cache (~0.01ms)
response = call_llm("What is LangGraph?")

# Check cache statistics
print(call_llm.cache_stats())
# {'hits': 1, 'misses': 1, 'size': 1}

4. Optimized State Updates

Efficient state merging for high-frequency updates:

from fast_langgraph import langgraph_state_update

new_state = langgraph_state_update(
    current_state,
    {"messages": [new_message]},
    append_keys=["messages"]
)

5. Performance Profiling

Find bottlenecks with minimal overhead:

from fast_langgraph.profiler import GraphProfiler

profiler = GraphProfiler()

with profiler.profile_run():
    result = graph.invoke(input_data)

profiler.print_report()

Performance

Rust's Key Strengths

These are the operations where Rust provides the most dramatic improvements:

Operation Speedup Best Use Case
Checkpoint Serialization 43-737x State persistence (scales with state size)
Sustained State Updates 13-46x Long-running graphs with many steps
E2E Graph Execution 2-3x Production workloads with checkpointing

All Features

Feature Performance Use Case
Complex Checkpoint (250KB) 737x faster than deepcopy Large agent state
Complex Checkpoint (35KB) 178x faster Medium state
LLM Response Caching 10x speedup (90% hit rate) Repeated prompts, RAG
Function Caching 1.6x speedup Expensive computations
In-Memory Checkpoint 1.4 us/op Fast state snapshots
LangGraph State Update 1.4 us/op High-frequency updates

Note: Rust excels at complex state operations. For simple dict operations, Python's built-in dict (implemented in C) is already highly optimized. See BENCHMARK.md for detailed results.

Requirements

  • Python 3.9+
  • Works with any LangGraph version

Documentation

Authoritative docs live under documentation/docs/ and power the MkDocs site.

Project Metadata

Examples

See the examples/ directory for complete working examples:

  • function_cache_example.py - Caching patterns
  • profiler_example.py - Performance analysis
  • state_merge_example.py - State manipulation

Contributing

Contributions welcome! See documentation/docs/development/contributing.md for setup instructions.

License

MIT

Metadata

Release files for fast-langgraph 0.1.15

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

Source distribution (sdist)

Source distribution for fast-langgraph 0.1.15
File Size Uploaded
fast_langgraph-0.1.15.tar.gz 370.6 kB Details

Built distributions (wheels)

Table of built distributions (wheels) for fast-langgraph 0.1.15
File
fast_langgraph-0.1.15-cp37-abi3-win_amd64.whl CPython 3.7 abi3 Windows x86-64 Details
fast_langgraph-0.1.15-cp37-abi3-musllinux_1_2_x86_64.whl CPython 3.7 abi3 Linux musl 1.2+ x86-64 Details
fast_langgraph-0.1.15-cp37-abi3-musllinux_1_2_aarch64.whl CPython 3.7 abi3 Linux musl 1.2+ ARM64 Details
fast_langgraph-0.1.15-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl CPython 3.7 abi3 Linux glibc 2.17+ x86-64 Details
fast_langgraph-0.1.15-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl CPython 3.7 abi3 Linux glibc 2.17+ ARM64 Details
fast_langgraph-0.1.15-cp37-abi3-macosx_11_0_arm64.whl CPython 3.7 abi3 macOS 11.0+ ARM64 Details
fast_langgraph-0.1.15-cp37-abi3-macosx_10_12_x86_64.whl CPython 3.7 abi3 macOS 10.12+ x86-64 Details

Total release size: 12.9 MB

Release files / fast_langgraph-0.1.15.tar.gz

Download URL fast_langgraph-0.1.15.tar.gz
Size 370.6 kB
Tags Source
SHA-256 checksum
How to use checksums
a93d18ee830e251180f955868845b936b7eb605c3bca3a1711337995d4d7fb96
BLAKE2b-256 checksum
How to use checksums
9e37fe3ab77734613077b2fd6507a579b74af746048dd9d1aec5d8814fa58ad2
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 6, 2026.

Transparency log

Release files / fast_langgraph-0.1.15-cp37-abi3-win_amd64.whl

Download URL fast_langgraph-0.1.15-cp37-abi3-win_amd64.whl
Size 1.6 MB
Tags CPython 3.7 Windows x86-64 abi3
SHA-256 checksum
How to use checksums
c1430f4685e9a4f9775452dda3e65a8f070c39730b7ed067fa6da7d32ac20a92
BLAKE2b-256 checksum
How to use checksums
bdabbf6401b7829bf914bee515a48c25f246fa276aba1fb130fa293f184b4256
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 6, 2026.

Transparency log

Release files / fast_langgraph-0.1.15-cp37-abi3-musllinux_1_2_x86_64.whl

Download URL fast_langgraph-0.1.15-cp37-abi3-musllinux_1_2_x86_64.whl
Size 2.1 MB
Tags CPython 3.7 Linux musl 1.2+ x86-64 abi3
SHA-256 checksum
How to use checksums
5a5d37089f55f58c619ec252b745c4ff2082c93f3a6ef7ad7889531fa69f95cb
BLAKE2b-256 checksum
How to use checksums
c27afb81c3953b3c1eb5cf33c2eada149a66d419b3f258593e390965bbf29e7b
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 6, 2026.

Transparency log

Release files / fast_langgraph-0.1.15-cp37-abi3-musllinux_1_2_aarch64.whl

Download URL fast_langgraph-0.1.15-cp37-abi3-musllinux_1_2_aarch64.whl
Size 2.0 MB
Tags CPython 3.7 Linux musl 1.2+ ARM64 abi3
SHA-256 checksum
How to use checksums
e883ce55521261e82683e09b8b23ed7859bf5e508a5ceaece7072c530d91683a
BLAKE2b-256 checksum
How to use checksums
b6426edbb55502a5b78db103468ded65056a607100b1258adc79482b287da181
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 6, 2026.

Transparency log

Release files / fast_langgraph-0.1.15-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl

Download URL fast_langgraph-0.1.15-cp37-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
Size 1.9 MB
Tags CPython 3.7 Linux glibc 2.17+ x86-64 abi3
SHA-256 checksum
How to use checksums
66a674552e7fb4a1bd97ca280a7786e83242626fccda213e092fb5345d200faf
BLAKE2b-256 checksum
How to use checksums
7a1db181ff492afdd3186862537e03de947a37354dc42ae85294d392c950c103
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 6, 2026.

Transparency log

Release files / fast_langgraph-0.1.15-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl

Download URL fast_langgraph-0.1.15-cp37-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
Size 1.7 MB
Tags CPython 3.7 Linux glibc 2.17+ ARM64 abi3
SHA-256 checksum
How to use checksums
febb3583741f439ed48a8b0a2105a60acd90c540741f6e71ceaa70e5ed3db8dd
BLAKE2b-256 checksum
How to use checksums
bdec51f3af26b531120fd6af1dc81e97aefc801194f127e017743396e26c03e1
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 6, 2026.

Transparency log

Release files / fast_langgraph-0.1.15-cp37-abi3-macosx_11_0_arm64.whl

Download URL fast_langgraph-0.1.15-cp37-abi3-macosx_11_0_arm64.whl
Size 1.6 MB
Tags CPython 3.7 abi3 macOS 11.0+ ARM64
SHA-256 checksum
How to use checksums
d9c3ee8363e4ca5945b9821fcf235301f183eddaf2631dafbe449a071b21a91e
BLAKE2b-256 checksum
How to use checksums
a78a99e603da931824d8f4f4eae353b43e7de4c6b65fec061d887d714f3082f4
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 6, 2026.

Transparency log

Release files / fast_langgraph-0.1.15-cp37-abi3-macosx_10_12_x86_64.whl

Download URL fast_langgraph-0.1.15-cp37-abi3-macosx_10_12_x86_64.whl
Size 1.7 MB
Tags CPython 3.7 abi3 macOS 10.12+ x86-64
SHA-256 checksum
How to use checksums
92bc11cbb5f7c4ce43312cb36e92d420032866bd9e62cde29710b9a3c9e21f62
BLAKE2b-256 checksum
How to use checksums
9121b9b1ed50b65dc1788d987a46b6087098a92836c8e586cd723fc0f16e4150
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

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 May 6, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.15 This release

8 release files

0.1.0

8 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