Skip to main content

Library with a Postgres implementation of LangGraph checkpoint saver.

Project description

LangGraph Checkpoint Postgres

Implementation of LangGraph CheckpointSaver that uses Postgres.

Usage

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

from langgraph.checkpoint.postgres import PostgresSaver

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

DB_URI = "postgres://postgres:postgres@localhost:5432/postgres?sslmode=disable"
with PostgresSaver.from_conn_string(DB_URI) 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": [],
        "current_tasks": {}
    }

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

    # load checkpoint
    checkpointer.get(read_config)

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

Async

from langgraph.checkpoint.postgres.aio import AsyncPostgresSaver

async with AsyncPostgresSaver.from_conn_string(DB_URI) 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": [],
        "current_tasks": {}
    }

    # 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_postgres-1.0.2.tar.gz (8.3 kB view details)

Uploaded Source

Built Distribution

File details

Details for the file langgraph_checkpoint_postgres-1.0.2.tar.gz.

File metadata

File hashes

Hashes for langgraph_checkpoint_postgres-1.0.2.tar.gz
Algorithm Hash digest
SHA256 62e2bade175bba5e66d44b8e0b863a04a65f618a29137ed4064d3c691746c663
MD5 f89f91e82344ebf7de825d28e4166c4d
BLAKE2b-256 2efd2e1cb0f6884ca5eb5542d4541e83d623b9394b776d193bd6a81863eee1bb

See more details on using hashes here.

File details

Details for the file langgraph_checkpoint_postgres-1.0.2-py3-none-any.whl.

File metadata

File hashes

Hashes for langgraph_checkpoint_postgres-1.0.2-py3-none-any.whl
Algorithm Hash digest
SHA256 a84259c1686690fad3c225c099e9e2fdb4d8dba2d93acf7cc6924eb1b00bf468
MD5 45a1f21f8f03ea4e67d0b46891e3342d
BLAKE2b-256 664c90ca4c601ba2ef0ee87da8cf4ec9b1fd3d2d87edd0765ea735cd5eacb07a

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