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

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

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for langgraph_checkpoint_postgres-1.0.0.tar.gz
Algorithm Hash digest
SHA256 1ba3ed4706c236b79bb9b096a9bf38fbccdd72ad8bc599c518196debe82131b4
MD5 cce6135bb8d7480b04dc2e7d06a35eba
BLAKE2b-256 7f05caf9dcc9a6f890035308e8e987fe971f4faad301a831b9ad2e317e6c3b23

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for langgraph_checkpoint_postgres-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 2b7bc9edca167a80db9d7af22059f1e9348c131b967d91fb46d746e81a4033d6
MD5 5d4f5205d564d6040372cad3152f1ba2
BLAKE2b-256 5cf305c02ed0379906b639a8b1fa533cf0d0358e6e1e927fd41db3c44e271321

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