Skip to main content

langchain-lakefs

This package provides a LangChain integration with lakeFS, allowing you to load documents from lakeFS repositories into your LangChain workflows.

Features

  • Load documents from lakeFS repositories using the official lakeFS Python SDK
  • Support for user metadata retrieval
  • Configurable repository, reference, and path specifications
  • Integration with LangChain's document loading infrastructure

Installation

pip install -U langchain-lakefs

Configuration

You can configure the LakeFSLoader in three ways:

1. Direct Initialization

Provide the access key, secret key, and endpoint during initialization:

from langchain_lakefs.document_loaders import LakeFSLoader

lakefs_loader = LakeFSLoader(
    lakefs_access_key='your_access_key',
    lakefs_secret_key='your_secret_key',
    lakefs_endpoint='https://path-to.lakefs.com',
    repo='your_repo',
    ref='main',
    path='path/to/files'
)

2. Configuration File

The package will automatically read credentials from the ~/.lakectl.yaml file if available.

3. Environment Variables

Set the following environment variables to configure the loader:

export LAKECTL_CREDENTIALS_ACCESS_KEY_ID='your_access_key'
export LAKECTL_CREDENTIALS_SECRET_ACCESS_KEY='your_secret_key'
export LAKECTL_SERVER_ENDPOINT_URL='https://path-to.lakefs.com'

Usage

Document Loader

The LakeFSLoader class allows you to load documents from lakeFS. You need to specify:

  • The repository (repo)
  • The reference (ref) - branch, commit or tag
  • The path to the files you want to load

If you would like to load the metadata of the files, you can set the user_metadata parameter to True:

from langchain_lakefs.document_loaders import LakeFSLoader

# Initialize the loader
lakefs_loader = LakeFSLoader(
    lakefs_access_key='your_access_key',
    lakefs_secret_key='your_secret_key',
    lakefs_endpoint='https://path-to.lakefs.com',
    repo='your_repo',
    ref='main',
    path='path/to/files',
    user_metadata=True
)

# Load documents from lakeFS
documents = lakefs_loader.load()

# Process the documents
for doc in documents:
    print(f"Content: {doc.page_content}")
    print(f"Metadata: {doc.metadata}")

Modifying Loader Settings

You can modify the loader settings after initialization:

# Change the repository
lakefs_loader.set_repo("another-repo")

# Change the reference (branch or commit)
lakefs_loader.set_ref("feature-branch")

# Change the path
lakefs_loader.set_path("another/path")

# Toggle user metadata retrieval
lakefs_loader.set_user_metadata(True)

Examples

Loading Documents from a Specific Path

from langchain_lakefs.document_loaders import LakeFSLoader

loader = LakeFSLoader(
    lakefs_endpoint="https://example.my-lakefs.com",
    lakefs_access_key="your-access-key",
    lakefs_secret_key="your-secret-key",
    repo="my-repo",
    ref="main",
    path="data/documents"
)

documents = loader.load()

Metadata

Release files for langchain-lakefs 0.1.1

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-lakefs 0.1.1
File Size Uploaded
langchain_lakefs-0.1.1.tar.gz 13.3 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for langchain-lakefs 0.1.1
File Interpreter ABI Platform
langchain_lakefs-0.1.1-py3-none-any.whl Python 3 none any Details

Total release size: 30.3 kB

Release files / langchain_lakefs-0.1.1.tar.gz

Download URL langchain_lakefs-0.1.1.tar.gz
Size 13.3 kB
Tags Source
SHA-256 checksum
How to use checksums
29e50b6364aa5a976da583a1f049eb6c8dd4980055aac0a509c9bc88424ce658
BLAKE2b-256 checksum
How to use checksums
35df30b28aaa5ca514ba6db6a1e787981c55691e8d56045f53dfb93685c401fe
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Apr 1, 2025.

Transparency log

Release files / langchain_lakefs-0.1.1-py3-none-any.whl

Download URL langchain_lakefs-0.1.1-py3-none-any.whl
Size 16.9 kB
Tags Python 3
SHA-256 checksum
How to use checksums
b49aaae5ab0402622d51e30445744dff3df0710527c135b92bea82e9072e27ce
BLAKE2b-256 checksum
How to use checksums
ffbbdffb24ee1e0262e88b81b27cf8f7fd00059772790925d23b952c5902a862
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
Yes
Uploaded via twine/6.1.0 CPython/3.12.9

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 Apr 1, 2025.

Transparency log

Release history Release notifications | RSS feed

This release

0.1.1 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