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.0.tar.gz (12.0 kB view details)

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for langgraph_checkpoint_duckdb-2.0.0.tar.gz
Algorithm Hash digest
SHA256 e3ce7b09d2b4ea86a857ee8cebc8fa08ddaa3a3487f0a44738b776b869e7d18f
MD5 b1a9e2a7d0512058f533d4f2115f5ea6
BLAKE2b-256 2fe72937fc8e05ac3ab286760ee3f2f04f02001dc097ab398f04367352a20132

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for langgraph_checkpoint_duckdb-2.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 cf9c36e57ed86a73c558590d08d5d60e5e3262bba3dbd7b7c7d2f67831ccb0d9
MD5 2184aaf9bc4cab1b32408229bfe138a5
BLAKE2b-256 21f6a217d34373c52c993e17b7412bb76766f513eba23b6b06cafa3e5a1b4003

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