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

Uploaded Source

Built Distribution

File details

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

File metadata

File hashes

Hashes for langgraph_checkpoint_postgres-1.0.1.tar.gz
Algorithm Hash digest
SHA256 d632c4bfcc90b8bdd49109bd402901cb669774b3288f1247c32c99ae671d0a47
MD5 cca6a8dfdf7a5735a7c0f395dff425ba
BLAKE2b-256 ce7dde6c80344f63006e44fd0336879edf99868446be5c055bd72374f1ac713b

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for langgraph_checkpoint_postgres-1.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 b158c8eadd0b00f007a169cb052712a3f0f6ba8303de59d717bef3efa96a06eb
MD5 978ad57fe8bc4eed095033f6d3e39783
BLAKE2b-256 c6f11a48a4ebbf0733a9533abc94e9c863e0ef416f3e5e65373979270ca828ec

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