LangGraph Checkpoint Greenplum
Greenplum/MPP-optimized checkpoint savers for LangGraph. This package provides drop-in replacements for PostgresSaver and AsyncPostgresSaver that use a CTE-based list query instead of correlated subqueries, avoiding Broadcast Motion in Greenplum's MPP execution engine.
Why use this?
On Greenplum (and similar MPP databases), the default list query in langgraph-checkpoint-postgres uses correlated subqueries. The planner may broadcast the full inner tables to every segment, so list operations can be very slow on large datasets. The Greenplum savers use a CTE + JOIN pattern so the planner uses Redistribute Motion instead, often yielding orders-of-magnitude speedups for list() / alist().
Installation
Install the library and its dependency:
pip install langgraph-checkpoint-greenplum
This will pull in langgraph-checkpoint-postgres as well.
Usage
Use AsyncGreenplumSaver or GreenplumSaver exactly like the Postgres savers. Call .setup() the first time to create tables.
Async
from langgraph.checkpoint.greenplum import AsyncGreenplumSaver
DB_URI = "postgres://user:pass@host:5432/dbname"
async with AsyncGreenplumSaver.from_conn_string(DB_URI) as checkpointer:
await checkpointer.setup()
# use as a drop-in replacement for AsyncPostgresSaver
Sync
from langgraph.checkpoint.greenplum import GreenplumSaver
DB_URI = "postgres://user:pass@host:5432/dbname"
with GreenplumSaver.from_conn_string(DB_URI) as checkpointer:
checkpointer.setup()
# use as a drop-in replacement for PostgresSaver
Requirements
- Greenplum 6+ (or PostgreSQL 9.3+) for the CTE query (uses
CROSS JOIN LATERAL). langgraph-checkpoint-postgres(and thuspsycopgandlanggraph-checkpoint) are installed automatically.
Release to PyPI (GitHub Actions)
This repository includes a publish workflow at .github/workflows/publish-pypi.yml.
One-time setup
- In PyPI, configure a Trusted Publisher for this project:
- Owner:
StarJourneyMingsing - Repository:
langgraph-checkpoint-greenplum - Workflow name:
publish-pypi.yml - Environment name:
pypi
- Owner:
- In GitHub, create environment
pypiin repository settings (optional protection rules can be added).
Publish a new version
- Update
versioninpyproject.toml. - Commit and push changes.
- Create and push a version tag:
git tag v0.1.1
git push origin v0.1.1
The workflow will verify that tag version matches pyproject.toml, build distributions, and publish to PyPI.
License
MIT
Metadata
Release files for langgraph-checkpoint-greenplum 0.1.3
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| langgraph_checkpoint_greenplum-0.1.3.tar.gz | 96.3 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| langgraph_checkpoint_greenplum-0.1.3-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 102.6 kB
Release files / langgraph_checkpoint_greenplum-0.1.3.tar.gz
| Download URL | langgraph_checkpoint_greenplum-0.1.3.tar.gz |
|---|---|
| Size | 96.3 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
7d74a765cf8960bd69b267f330fcf23d9d91aae7bc784cc2e171e02550a82bf4
|
|
BLAKE2b-256 checksum How to use checksums |
1dbb81672f4262710b0d085c19f2579bb90ce0e5d2f1322f8bc84c8f425fd2f5
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 2, 2026.
Transparency logRelease files / langgraph_checkpoint_greenplum-0.1.3-py3-none-any.whl
| Download URL | langgraph_checkpoint_greenplum-0.1.3-py3-none-any.whl |
|---|---|
| Size | 6.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
44991af88886ae3238c971ad1ae26e84f8fccc928638fb646583e685b844a2d0
|
|
BLAKE2b-256 checksum How to use checksums |
71064be5c5cd0bb3c9324a608604a2a0139acd451b40ec49610e75fd5ff0ed1d
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.7
|
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 Mar 2, 2026.
Transparency log