Skip to main content

LangGraph Tigris Checkpoint

Implementation of a LangGraph BaseCheckpointSaver that persists agent state in Tigris globally-distributed object storage over the S3 API (sync and async), plus a zero-copy bucket-fork helper for instant branching of an entire thread's checkpoint lineage.

Why Tigris

  • Durable, global, cheap state — checkpoints live in globally-replicated object storage with no egress fees.
  • Instant branching — fork() creates a zero-copy fork of the bucket, so an agent's entire checkpoint history can be branched in O(1) for parallel experiments, evals, or what-if exploration. Writes to the fork are isolated from the source.
  • Pure object store — no separate database to operate. "Latest checkpoint" is found via a sorted list under strong consistency; conditional writes are available for idempotency/CAS.

Bucket requirement

Use a Single-region or Multi-region Tigris bucket. These provide strong, globally consistent reads, lists, and conditional operations, which this saver relies on. Global and Dual-region buckets give only eventual cross-region consistency and can return stale "latest" results.

Install

pip install langgraph-checkpoint-tigris

Usage

from langgraph.checkpoint.tigris import TigrisSaver

# Credentials from the standard AWS env chain
# (AWS_ACCESS_KEY_ID / AWS_SECRET_ACCESS_KEY), endpoint defaults to Tigris.
with TigrisSaver.from_conn_string("my-bucket") as checkpointer:
    checkpointer.setup()
    graph = builder.compile(checkpointer=checkpointer)
    graph.invoke({"messages": [...]}, {"configurable": {"thread_id": "1"}})

Async:

from langgraph.checkpoint.tigris.aio import AsyncTigrisSaver

async with AsyncTigrisSaver.from_conn_string("my-bucket") as checkpointer:
    await checkpointer.setup()
    graph = builder.compile(checkpointer=checkpointer)
    await graph.ainvoke({"messages": [...]}, {"configurable": {"thread_id": "1"}})

Instant branching with forks

with TigrisSaver.from_conn_string("prod-agent-state") as checkpointer:
    # Branch the ENTIRE bucket (all threads/checkpoints) instantly.
    experiment = checkpointer.fork("experiment-run-42")
    # `experiment` is an isolated TigrisSaver; writes here never touch prod.

Object layout

{prefix}checkpoints/{thread}/{ns}/{checkpoint_id}/manifest.json
{prefix}checkpoints/{thread}/{ns}/{checkpoint_id}/checkpoint.bin
{prefix}checkpoints/{thread}/{ns}/{checkpoint_id}/writes/{task_id}/{idx}.bin

Checkpoints are immutable and uniquely keyed; checkpoint_ids are time-sortable so the latest is max(...) of a prefix listing — no mutable HEAD pointer.

Development

cd libs/checkpoint-tigris
uv sync
make format && make lint && make test         # unit tests run without creds

# Full suite (conformance + integration + fork) needs a live Tigris bucket:
TIGRIS_TEST_BUCKET=my-bucket \
AWS_ACCESS_KEY_ID=... AWS_SECRET_ACCESS_KEY=... \
make test

Integration, conformance, and fork tests are skipped automatically when those environment variables are absent. The pure key-layout unit tests (tests/test_keys.py) always run.

Status

The synchronous and asynchronous savers, the copy_thread/acopy_thread branching capability, and the zero-copy fork() helper are implemented and pass the LangGraph checkpointer conformance suite (langgraph-checkpoint-conformance) against a live Tigris bucket. The pure key-layout and manifest logic are additionally unit-tested offline.

Release files for langgraph-checkpoint-tigris 0.1.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for langgraph-checkpoint-tigris 0.1.0
File Size Uploaded
langgraph_checkpoint_tigris-0.1.0.tar.gz 183.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for langgraph-checkpoint-tigris 0.1.0
File Interpreter ABI Platform
langgraph_checkpoint_tigris-0.1.0-py3-none-any.whl Python 3 none any Details

Total release size: 199.7 kB

Release files / langgraph_checkpoint_tigris-0.1.0.tar.gz

Download URL langgraph_checkpoint_tigris-0.1.0.tar.gz
Size 183.3 kB
Tags Source
SHA-256 checksum
How to use checksums
d6ee266a2f82ce6b94d826081c864aed6f02c9b726f5f278e76880326c1dd63f
BLAKE2b-256 checksum
How to use checksums
5a0b54dc8e6c0ca3fc0058e213529a5f48f29ed1271c6afcb4124a583d089f49
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 23, 2026.

Transparency log

Release files / langgraph_checkpoint_tigris-0.1.0-py3-none-any.whl

Download URL langgraph_checkpoint_tigris-0.1.0-py3-none-any.whl
Size 16.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e434082eec038843c2fd23b84a2709d85811e296263eced8c97bcbcafeb805c1
BLAKE2b-256 checksum
How to use checksums
4345b738b906031e975c68138c6121d7886299805996ca548c0c72827f448a8f
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.13.12

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

PyPI Publish Attestation

PyPI verified that this artifact, at this checksum, originated from the publisher listed below.

Signed by GitHub Actions, verified by PyPI on Jun 23, 2026.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page