Skip to main content

langchain-cockroachdb

Tests PyPI version Python 3.10+ Downloads License

LangChain integration for CockroachDB with native vector support

Quick Start • Features • Documentation • Examples • Contributing


Overview

Build LLM applications with CockroachDB's distributed SQL database and native vector search capabilities. This integration provides:

  • 🎯 Native Vector Support - CockroachDB's VECTOR type
  • 🚀 C-SPANN Indexes - Distributed vector indexes optimized for scale
  • 🔄 Automatic Retries - Retries transient CockroachDB errors (40001, 40003, 08xxx, 57P01, 58C00, 58C01) on every operation
  • ⚡ Async & Sync APIs - Choose based on your use case
  • 🏗️ Distributed by Design - Built for CockroachDB's architecture

Quick Start

Installation

pip install langchain-cockroachdb

Basic Usage

import asyncio
from langchain_cockroachdb import AsyncCockroachDBVectorStore, CockroachDBEngine
from langchain_openai import OpenAIEmbeddings

async def main():
    # Initialize
    engine = CockroachDBEngine.from_connection_string(
        "cockroachdb://user:pass@host:26257/db"
    )
    
    await engine.ainit_vectorstore_table(
        table_name="documents",
        vector_dimension=1536,
    )
    
    vectorstore = AsyncCockroachDBVectorStore(
        engine=engine,
        embeddings=OpenAIEmbeddings(),
        collection_name="documents",
    )
    
    # Add documents
    await vectorstore.aadd_texts([
        "CockroachDB is a distributed SQL database",
        "LangChain makes building LLM apps easy",
    ])
    
    # Search
    results = await vectorstore.asimilarity_search(
        "Tell me about databases",
        k=2
    )
    
    for doc in results:
        print(doc.page_content)
    
    await engine.aclose()

asyncio.run(main())

Long-Term Memory for LangGraph

CockroachDBStore gives LangGraph agents memory that every thread can read, with semantic search and expiry:

from langchain_cockroachdb import CockroachDBStore
from langchain_openai import OpenAIEmbeddings

with CockroachDBStore.from_conn_string(
    "cockroachdb://user:pass@host:26257/db",
    pool_config={"max_size": 10},
    index={"dims": 1536, "embed": OpenAIEmbeddings(model="text-embedding-3-small")},
    ttl={"default_ttl": 60 * 24 * 30},  # minutes
) as store:
    store.setup()
    store.put(("user", "alice", "memories"), "seat", {"text": "Prefers window seats"})
    results = store.search(("user", "alice"), query="Where does Alice like to sit?")
    # Pass store=store to create_agent, StateGraph.compile or create_deep_agent

See the Long-Term Memory guide.

Features

Vector Store

  • Native VECTOR type support with C-SPANN indexes
  • Advanced metadata filtering ($and, $or, $gt, $in, etc.)
  • Hybrid search (full-text + vector similarity)
  • Multi-tenancy with namespace-based isolation and C-SPANN prefix columns

Chat History

  • Persistent conversation storage in CockroachDB
  • Session management by thread ID
  • Drop-in replacement for other LangChain chat history implementations

LangGraph Checkpointer

  • Short-term memory for multi-turn LangGraph agents
  • Human-in-the-loop with interrupt/resume support
  • Both CockroachDBSaver (sync) and AsyncCockroachDBSaver
  • Compatible with LangGraph's compile(checkpointer=...) interface

LangGraph Long-Term Memory Store

  • Memory that every thread can read, for LangGraph agents and Deep Agents
  • Both CockroachDBStore (sync) and AsyncCockroachDBStore, with the API of LangGraph's PostgresStore
  • Semantic search on a C-SPANN vector index, with metadata filters
  • Expiry through CockroachDB row-level TTL, with no sweeper thread
  • delete_namespace deletes a user's memories in one transaction

Reliability and Retries

  • Retries transient CockroachDB errors (40001, 40003, 08xxx, 57P01, 58C00, 58C01, 53300) on every operation
  • Configurable RetryPolicy with exponential backoff, jitter and optional hang guards
  • Idempotent writes (UPSERTs, ON CONFLICT DO NOTHING) for safe retries
  • Connection pooling with health checks and pre-ping
  • Works with both SERIALIZABLE (default, recommended) and READ COMMITTED isolation
  • See the Retries and Resilience guide

Developer Experience

  • Async-first design for high concurrency
  • Sync wrapper for simple scripts
  • Type-safe with full type hints
  • Comprehensive test suite (177 tests)

Documentation

📚 Complete Documentation

LangChain Official Integration Docs:

Getting Started:

Guides:

Examples

🔧 Working Examples

Development

Setup

# Clone repository
git clone https://github.com/cockroachdb/langchain-cockroachdb.git
cd langchain-cockroachdb

# Install dependencies
pip install -e ".[dev]"

# Start CockroachDB
docker-compose up -d

# Run tests
make test

Documentation

# Install docs dependencies
pip install -e ".[docs]"

# Serve documentation locally
mkdocs serve

# Open http://127.0.0.1:8000

Contributing

Contributions are welcome! Please see CONTRIBUTING.md for guidelines.

Why CockroachDB?

  • Distributed SQL - Scale horizontally across regions
  • Native Vector Support - First-class VECTOR type and C-SPANN indexes
  • Strong Consistency - SERIALIZABLE isolation by default, READ COMMITTED also supported
  • Cloud Native - Deploy anywhere (IBM, AWS, GCP, Azure, on-prem)
  • PostgreSQL Compatible - Familiar SQL with distributed superpowers

License

Apache License 2.0 - see LICENSE for details.

Acknowledgments

Built for the CockroachDB and LangChain communities.

Metadata

Release files for langchain-cockroachdb 0.5.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 langchain-cockroachdb 0.5.0
File Size Uploaded Provenance Actions
langchain_cockroachdb-0.5.0.tar.gz 578.3 kB With provenance Details for langchain_cockroachdb-0.5.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for langchain-cockroachdb 0.5.0
File Interpreter ABI Platform Actions
langchain_cockroachdb-0.5.0-py3-none-any.whl Python 3 none any Details for langchain_cockroachdb-0.5.0-py3-none-any.whl

Total release size: 699.1 kB

Release files / langchain_cockroachdb-0.5.0.tar.gz

Download URL langchain_cockroachdb-0.5.0.tar.gz
Size 578.3 kB
Tags Source
SHA-256 checksum
How to use checksums
b598d2b341f4735966cbfa202a6fb7b3c1144d33214497e75b72b0b5d5f803e0
BLAKE2b-256 checksum
How to use checksums
18c080059d8e15393a7b3115bc28be3de7767995a8b3ad1a6cb5b15e81d6b9cf
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 27, 2026.

Transparency log

Release files / langchain_cockroachdb-0.5.0-py3-none-any.whl

Download URL langchain_cockroachdb-0.5.0-py3-none-any.whl
Size 120.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
e90f37e035f490b2bb68442660f28a0acf672655f620235550c0e6ab5f41f5a1
BLAKE2b-256 checksum
How to use checksums
e349bc5cb34fc09e7199a0853d90c6daa0352a133b61120fec2c077ba850b9ec
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/7.0.0 CPython/3.13.16

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 Oct 27, 2026.

Transparency log

Security for langchain-cockroachdb 0.5.0

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.

Full provenance

Both files in this release have been uploaded with provenance metadata.

Select from 2 files

Attestation for langchain_cockroachdb-0.5.0.tar.gz

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 Oct 27, 2026.

Transparency log

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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