Skip to main content

Library with a DuckDB implementation of LangGraph checkpoint saver.

Project description

LangGraph Checkpoint DuckDB

Implementation of LangGraph CheckpointSaver that uses DuckDB.

Usage

[!IMPORTANT] When using DuckDB checkpointers for the first time, make sure to call .setup() method on them to create required tables. See example below.

from langgraph.checkpoint.duckdb import DuckDBSaver

write_config = {"configurable": {"thread_id": "1", "checkpoint_ns": ""}}
read_config = {"configurable": {"thread_id": "1"}}

with DuckDBSaver.from_conn_string(":memory:") as checkpointer:
    # call .setup() the first time you're using the checkpointer
    checkpointer.setup()
    checkpoint = {
        "v": 1,
        "ts": "2024-07-31T20:14:19.804150+00:00",
        "id": "1ef4f797-8335-6428-8001-8a1503f9b875",
        "channel_values": {
            "my_key": "meow",
            "node": "node"
        },
        "channel_versions": {
            "__start__": 2,
            "my_key": 3,
            "start:node": 3,
            "node": 3
        },
        "versions_seen": {
            "__input__": {},
            "__start__": {
            "__start__": 1
            },
            "node": {
            "start:node": 2
            }
        },
        "pending_sends": [],
    }

    # store checkpoint
    checkpointer.put(write_config, checkpoint, {}, {})

    # load checkpoint
    checkpointer.get(read_config)

    # list checkpoints
    list(checkpointer.list(read_config))

Async

from langgraph.checkpoint.duckdb.aio import AsyncDuckDBSaver

async with AsyncDuckDBSaver.from_conn_string(":memory:") as checkpointer:
    checkpoint = {
        "v": 1,
        "ts": "2024-07-31T20:14:19.804150+00:00",
        "id": "1ef4f797-8335-6428-8001-8a1503f9b875",
        "channel_values": {
            "my_key": "meow",
            "node": "node"
        },
        "channel_versions": {
            "__start__": 2,
            "my_key": 3,
            "start:node": 3,
            "node": 3
        },
        "versions_seen": {
            "__input__": {},
            "__start__": {
            "__start__": 1
            },
            "node": {
            "start:node": 2
            }
        },
        "pending_sends": [],
    }

    # store checkpoint
    await checkpointer.aput(write_config, checkpoint, {}, {})

    # load checkpoint
    await checkpointer.aget(read_config)

    # list checkpoints
    [c async for c in checkpointer.alist(read_config)]

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

langgraph_checkpoint_duckdb-2.0.1.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file langgraph_checkpoint_duckdb-2.0.1.tar.gz.

File metadata

File hashes

Hashes for langgraph_checkpoint_duckdb-2.0.1.tar.gz
Algorithm Hash digest
SHA256 cbde9e0d96be87d35917b092617502a1420b6b5140c46097a11019652d3231f9
MD5 144d05471e3602e3483ba023977d382f
BLAKE2b-256 8e78fd275d50f50a511e9c463cdcafc220ef83af44d5547221ccbf2cb776379f

See more details on using hashes here.

File details

Details for the file langgraph_checkpoint_duckdb-2.0.1-py3-none-any.whl.

File metadata

File hashes

Hashes for langgraph_checkpoint_duckdb-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f3a9ca0e72fd43414ef264059fe2d0752d836ad0da9d0994ec55d2ffbcf49787
MD5 db81942f867176f10d4eda50f7547206
BLAKE2b-256 19fa8ad990f0f1de903b07dee6738cabe7fcf2440a1d489020864233debe603a

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page