docs: sorted by downloads [wip] (#28869)

This commit is contained in:
Erick Friis 2024-12-23 13:13:35 -08:00 committed by GitHub
parent 6352edf77f
commit 3726a944c0
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
3 changed files with 457 additions and 252 deletions

View File

@ -0,0 +1,71 @@
from datetime import datetime, timedelta, timezone
from pathlib import Path
import requests
from ruamel.yaml import YAML
from ruamel.yaml.comments import CommentedMap
yaml = YAML()
PACKAGE_YML = Path(__file__).parents[2] / "libs" / "packages.yml"
def _get_downloads(p: dict) -> int:
url = f"https://pypistats.org/api/packages/{p['name']}/recent?period=month"
r = requests.get(url)
r.raise_for_status()
return r.json()["data"]["last_month"]
current_datetime = datetime.now(timezone.utc)
yesterday = current_datetime - timedelta(days=1)
with open(PACKAGE_YML) as f:
data = yaml.load(f)
def _reorder_keys(p):
keys = p.keys()
key_order = [
"name",
"name_title",
"path",
"repo",
"type",
"provider_page",
"js",
"downloads",
"downloads_updated_at",
]
if set(keys) - set(key_order):
raise ValueError(f"Unexpected keys: {set(keys) - set(key_order)}")
return CommentedMap((k, p[k]) for k in key_order if k in p)
data["packages"] = [_reorder_keys(p) for p in data["packages"]]
seen = set()
for p in data["packages"]:
if p["name"] in seen:
raise ValueError(f"Duplicate package: {p['name']}")
seen.add(p["name"])
downloads_updated_at_str = p.get("downloads_updated_at")
downloads_updated_at = (
datetime.fromisoformat(downloads_updated_at_str)
if downloads_updated_at_str
else None
)
if downloads_updated_at is not None and downloads_updated_at > yesterday:
print(f"done: {p['name']}: {p['downloads']}")
continue
p["downloads"] = _get_downloads(p)
p["downloads_updated_at"] = current_datetime.isoformat()
with open(PACKAGE_YML, "w") as f:
yaml.dump(data, f)
print(f"{p['name']}: {p['downloads']}")
with open(PACKAGE_YML, "w") as f:
yaml.dump(data, f)

View File

@ -2,110 +2,106 @@ import glob
import sys import sys
from pathlib import Path from pathlib import Path
import requests
import yaml import yaml
#################
# CONFIGURATION #
#################
# packages to ignore / exclude from the table
IGNORE_PACKGAGES = {
# top-level packages
"langchain-core",
"langchain-text-splitters",
"langchain",
"langchain-community",
"langchain-experimental",
"langchain-cli",
"langchain-tests",
# integration packages that don't have a provider index
# do NOT add to these. These were merged before having a
# provider index was required
# can remove these once they have a provider index
"langchain-yt-dlp",
}
#####################
# END CONFIGURATION #
#####################
DOCS_DIR = Path(__file__).parents[1] DOCS_DIR = Path(__file__).parents[1]
PACKAGE_YML = Path(__file__).parents[2] / "libs" / "packages.yml" PACKAGE_YML = Path(__file__).parents[2] / "libs" / "packages.yml"
IGNORE_PACKGAGES = {"langchain-experimental"}
# for now, only include packages that are in the langchain-ai org # for now, only include packages that are in the langchain-ai org
# because we don't have a policy for inclusion in this table yet, # because we don't have a policy for inclusion in this table yet,
# and including all packages will make the list too long # and including all packages will make the list too long
def _get_type(package: dict) -> str:
if package["name"] in IGNORE_PACKGAGES:
return "ignore"
if package["repo"] == "langchain-ai/langchain":
return "B"
if package["repo"].startswith("langchain-ai/"):
return "C"
return "D"
def _enrich_package(p: dict) -> dict | None:
p["name_short"] = (
p["name"][10:] if p["name"].startswith("langchain-") else p["name"]
)
p["name_title"] = p.get("name_title") or p["name_short"].title().replace(
"-", " "
).replace("db", "DB").replace("Db", "DB").replace("ai", "AI").replace("Ai", "AI")
p["type"] = _get_type(p)
if p["type"] == "ignore":
return None
p["js_exists"] = bool(p.get("js"))
custom_provider_page = p.get("provider_page")
default_provider_page = f"/docs/integrations/providers/{p['name_short']}/"
default_provider_page_exists = bool(
glob.glob(str(DOCS_DIR / f"docs/integrations/providers/{p['name_short']}.*"))
)
p["provider_page"] = custom_provider_page or (
default_provider_page if default_provider_page_exists else None
)
if p["provider_page"] is None:
msg = (
f"Provider page not found for {p['name_short']}. "
f"Please add one at docs/integrations/providers/{p['name_short']}.{{mdx,ipynb}}"
)
raise ValueError(msg)
return p
with open(PACKAGE_YML) as f: with open(PACKAGE_YML) as f:
data = yaml.safe_load(f) data = yaml.safe_load(f)
EXTERNAL_PACKAGES = set(
p["name"][10:]
for p in data["packages"]
if p["repo"].startswith("langchain-ai/")
and p["repo"] != "langchain-ai/langchain"
and p["name"] not in IGNORE_PACKGAGES
)
IN_REPO_PACKAGES = set(
p["name"][10:]
for p in data["packages"]
if p["repo"] == "langchain-ai/langchain"
and p["path"].startswith("libs/partners")
and p["name"] not in IGNORE_PACKGAGES
)
JS_PACKAGES = { packages_n = [_enrich_package(p) for p in data["packages"]]
"google-gauth", packages = [p for p in packages_n if p is not None]
"openai",
"anthropic",
"google-genai",
"pinecone",
"aws",
"google-vertexai",
"qdrant",
"azure-dynamic-sessions",
"google-vertexai-web",
"redis",
"azure-openai",
"google-webauth",
"baidu-qianfan",
"groq",
"standard-tests",
"cloudflare",
"mistralai",
"textsplitters",
"cohere",
"mixedbread-ai",
"weaviate",
"mongodb",
"yandex",
"exa",
"nomic",
"google-common",
"ollama",
"ibm",
}
ALL_PACKAGES = IN_REPO_PACKAGES.union(EXTERNAL_PACKAGES) # sort by downloads
packages_sorted = sorted(packages, key=lambda p: p["downloads"], reverse=True)
CUSTOM_NAME = {
"google-genai": "Google Generative AI",
"aws": "AWS",
"ibm": "IBM",
}
CUSTOM_PROVIDER_PAGES = {
"azure-dynamic-sessions": "/docs/integrations/providers/microsoft/",
"prompty": "/docs/integrations/providers/microsoft/",
"sqlserver": "/docs/integrations/providers/microsoft/",
"google-community": "/docs/integrations/providers/google/",
"google-genai": "/docs/integrations/providers/google/",
"google-vertexai": "/docs/integrations/providers/google/",
"nvidia-ai-endpoints": "/docs/integrations/providers/nvidia/",
"exa": "/docs/integrations/providers/exa_search/",
"mongodb": "/docs/integrations/providers/mongodb_atlas/",
"sema4": "/docs/integrations/providers/robocorp/",
"postgres": "/docs/integrations/providers/pgvector/",
}
PROVIDER_PAGES = {
name: f"/docs/integrations/providers/{name}/"
for name in ALL_PACKAGES
if glob.glob(str(DOCS_DIR / f"docs/integrations/providers/{name}.*"))
}
PROVIDER_PAGES = {
**PROVIDER_PAGES,
**CUSTOM_PROVIDER_PAGES,
}
def package_row(name: str) -> str: def package_row(p: dict) -> str:
js = "" if name in JS_PACKAGES else "" js = "" if p["js_exists"] else ""
link = PROVIDER_PAGES.get(name) link = p["provider_page"]
title = CUSTOM_NAME.get(name) or name.title().replace("-", " ").replace( title = p["name_title"]
"db", "DB"
).replace("Db", "DB").replace("ai", "AI").replace("Ai", "AI")
provider = f"[{title}]({link})" if link else title provider = f"[{title}]({link})" if link else title
return f"| {provider} | [langchain-{name}](https://python.langchain.com/api_reference/{name.replace('-', '_')}/) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/langchain-{name}?style=flat-square&label=%20&color=blue) | ![PyPI - Version](https://img.shields.io/pypi/v/langchain-{name}?style=flat-square&label=%20&color=orange) | {js} |" return f"| {provider} | [{p['name']}](https://python.langchain.com/api_reference/{p['name_short'].replace('-', '_')}/) | ![PyPI - Downloads](https://img.shields.io/pypi/dm/{p['name']}?style=flat-square&label=%20&color=blue) | ![PyPI - Version](https://img.shields.io/pypi/v/{p['name']}?style=flat-square&label=%20&color=orange) | {js} |"
def table() -> str: def table() -> str:
header = """| Provider | Package | Downloads | Latest | [JS](https://js.langchain.com/docs/integrations/providers/) | header = """| Provider | Package | Downloads | Latest | [JS](https://js.langchain.com/docs/integrations/providers/) |
| :--- | :---: | :---: | :---: | :---: | | :--- | :---: | :---: | :---: | :---: |
""" """
return header + "\n".join(package_row(name) for name in sorted(ALL_PACKAGES)) return header + "\n".join(package_row(p) for p in packages_sorted)
def doc() -> str: def doc() -> str:

View File

@ -1,172 +1,310 @@
# this file is used to define the packages that are used in the project # this file is used to definet he packages that are used in the project
# it is EXPERIMENTAL and may be removed in the future # it is EXPERIMENTAL and may be removed in the future
packages: packages:
- name: langchain-core - name: langchain-core
repo: langchain-ai/langchain path: libs/core
path: libs/core repo: langchain-ai/langchain
- name: langchain-text-splitters downloads: 27728892
repo: langchain-ai/langchain downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
path: libs/text-splitters - name: langchain-text-splitters
- name: langchain path: libs/text-splitters
repo: langchain-ai/langchain repo: langchain-ai/langchain
path: libs/langchain downloads: 10343427
- name: langchain-community downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
repo: langchain-ai/langchain - name: langchain
path: libs/community path: libs/langchain
- name: langchain-experimental repo: langchain-ai/langchain
repo: langchain-ai/langchain-experimental downloads: 27515102
path: libs/experimental downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-cli - name: langchain-community
repo: langchain-ai/langchain path: libs/community
path: libs/cli repo: langchain-ai/langchain
- name: langchain-ai21 downloads: 17505668
repo: langchain-ai/langchain-ai21 downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
path: libs/ai21 - name: langchain-experimental
- name: langchain-anthropic path: libs/experimental
repo: langchain-ai/langchain repo: langchain-ai/langchain-experimental
path: libs/partners/anthropic downloads: 1710421
- name: langchain-chroma downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
repo: langchain-ai/langchain - name: langchain-cli
path: libs/partners/chroma path: libs/cli
- name: langchain-exa repo: langchain-ai/langchain
repo: langchain-ai/langchain downloads: 55505
path: libs/partners/exa downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-fireworks - name: langchain-ai21
repo: langchain-ai/langchain path: libs/ai21
path: libs/partners/fireworks repo: langchain-ai/langchain-ai21
- name: langchain-groq downloads: 3453
repo: langchain-ai/langchain downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
path: libs/partners/groq - name: langchain-anthropic
- name: langchain-huggingface path: libs/partners/anthropic
repo: langchain-ai/langchain repo: langchain-ai/langchain
path: libs/partners/huggingface js: '@langchain/anthropic'
- name: langchain-ibm downloads: 1163020
repo: langchain-ai/langchain-ibm downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
path: libs/ibm - name: langchain-chroma
- name: langchain-localai path: libs/partners/chroma
repo: mkhludnev/langchain-localai repo: langchain-ai/langchain
path: libs/localai downloads: 450092
- name: langchain-milvus downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
repo: langchain-ai/langchain-milvus - name: langchain-exa
path: libs/milvus path: libs/partners/exa
- name: langchain-mistralai repo: langchain-ai/langchain
repo: langchain-ai/langchain provider_page: exa_search
path: libs/partners/mistralai js: '@langchain/exa'
- name: langchain-mongodb downloads: 4560
repo: langchain-ai/langchain-mongodb downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
path: libs/mongodb - name: langchain-fireworks
- name: langchain-nomic path: libs/partners/fireworks
repo: langchain-ai/langchain repo: langchain-ai/langchain
path: libs/partners/nomic downloads: 73179
- name: langchain-openai downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
repo: langchain-ai/langchain - name: langchain-groq
path: libs/partners/openai path: libs/partners/groq
- name: langchain-pinecone repo: langchain-ai/langchain
repo: langchain-ai/langchain js: '@langchain/groq'
path: libs/partners/pinecone downloads: 370373
- name: langchain-prompty downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
repo: langchain-ai/langchain - name: langchain-huggingface
path: libs/partners/prompty path: libs/partners/huggingface
- name: langchain-qdrant repo: langchain-ai/langchain
repo: langchain-ai/langchain downloads: 375151
path: libs/partners/qdrant downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-scrapegraph - name: langchain-ibm
repo: ScrapeGraphAI/langchain-scrapegraph path: libs/ibm
path: . repo: langchain-ai/langchain-ibm
- name: langchain-sema4 js: '@langchain/ibm'
repo: langchain-ai/langchain-sema4 downloads: 261091
path: libs/sema4 downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-together - name: langchain-localai
repo: langchain-ai/langchain-together path: libs/localai
path: libs/together repo: mkhludnev/langchain-localai
- name: langchain-upstage downloads: 510
repo: langchain-ai/langchain-upstage downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
path: libs/upstage - name: langchain-milvus
- name: langchain-voyageai path: libs/milvus
repo: langchain-ai/langchain repo: langchain-ai/langchain-milvus
path: libs/partners/voyageai downloads: 111126
- name: langchain-aws downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
repo: langchain-ai/langchain-aws - name: langchain-mistralai
path: libs/aws path: libs/partners/mistralai
- name: langchain-astradb repo: langchain-ai/langchain
repo: langchain-ai/langchain-datastax js: '@langchain/mistralai'
path: libs/astradb downloads: 232463
- name: langchain-google-genai downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
repo: langchain-ai/langchain-google - name: langchain-mongodb
path: libs/genai path: libs/mongodb
- name: langchain-google-vertexai repo: langchain-ai/langchain-mongodb
repo: langchain-ai/langchain-google provider_page: mongodb_atlas
path: libs/vertexai js: '@langchain/mongodb'
- name: langchain-google-community downloads: 113328
repo: langchain-ai/langchain-google downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
path: libs/community - name: langchain-nomic
- name: langchain-weaviate path: libs/partners/nomic
repo: langchain-ai/langchain-weaviate repo: langchain-ai/langchain
path: libs/weaviate js: '@langchain/nomic'
- name: langchain-cohere downloads: 10175
repo: langchain-ai/langchain-cohere downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
path: libs/cohere - name: langchain-openai
- name: langchain-elasticsearch path: libs/partners/openai
repo: langchain-ai/langchain-elastic repo: langchain-ai/langchain
path: libs/elasticsearch js: '@langchain/openai'
- name: langchain-nvidia-ai-endpoints downloads: 7994138
repo: langchain-ai/langchain-nvidia downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
path: libs/ai-endpoints - name: langchain-pinecone
- name: langchain-postgres path: libs/partners/pinecone
repo: langchain-ai/langchain-postgres repo: langchain-ai/langchain
path: . js: '@langchain/pinecone'
- name: langchain-redis downloads: 345657
repo: langchain-ai/langchain-redis downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
path: libs/redis - name: langchain-prompty
- name: langchain-unstructured path: libs/partners/prompty
repo: langchain-ai/langchain-unstructured repo: langchain-ai/langchain
path: libs/unstructured provider_page: microsoft
- name: langchain-azure-dynamic-sessions downloads: 976
repo: langchain-ai/langchain-azure downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
path: libs/azure-dynamic-sessions - name: langchain-qdrant
- name: langchain-sqlserver path: libs/partners/qdrant
repo: langchain-ai/langchain-azure repo: langchain-ai/langchain
path: libs/sqlserver js: '@langchain/qdrant'
- name: langchain-cerebras downloads: 77743
repo: langchain-ai/langchain-cerebras downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
path: libs/cerebras - name: langchain-scrapegraph
- name: langchain-snowflake path: .
repo: langchain-ai/langchain-snowflake repo: ScrapeGraphAI/langchain-scrapegraph
path: libs/snowflake downloads: 907
- name: langchain-databricks downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
repo: langchain-ai/langchain-databricks - name: langchain-sema4
path: libs/databricks path: libs/sema4
- name: langchain-ibm repo: langchain-ai/langchain-sema4
repo: langchain-ai/langchain-ibm provider_page: robocorp
path: libs/ibm downloads: 987
- name: langchain-couchbase downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
repo: langchain-ai/langchain - name: langchain-together
path: libs/partners/couchbase path: libs/together
- name: langchain-cratedb repo: langchain-ai/langchain-together
repo: crate/langchain-cratedb downloads: 44887
path: . downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-ollama - name: langchain-upstage
repo: langchain-ai/langchain path: libs/upstage
path: libs/partners/ollama repo: langchain-ai/langchain-upstage
- name: langchain-box downloads: 20951
repo: langchain-ai/langchain-box downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
path: libs/box - name: langchain-voyageai
- name: langchain-tests path: libs/partners/voyageai
repo: langchain-ai/langchain repo: langchain-ai/langchain
path: libs/standard-tests downloads: 11253
- name: langchain-neo4j downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
repo: langchain-ai/langchain-neo4j - name: langchain-aws
path: libs/neo4j name_title: AWS
- name: langchain-linkup path: libs/aws
repo: LinkupPlatform/langchain-linkup repo: langchain-ai/langchain-aws
path: . js: '@langchain/aws'
- name: langchain-yt-dlp downloads: 1507701
repo: aqib0770/langchain-yt-dlp downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
path: . - name: langchain-astradb
- name: langchain-oceanbase path: libs/astradb
repo: oceanbase/langchain-oceanbase repo: langchain-ai/langchain-datastax
path: . downloads: 64185
- name: langchain-predictionguard downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
repo: predictionguard/langchain-predictionguard - name: langchain-google-genai
path: . name_title: Google Generative AI
path: libs/genai
repo: langchain-ai/langchain-google
provider_page: google
js: '@langchain/google-genai'
downloads: 732265
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-google-vertexai
path: libs/vertexai
repo: langchain-ai/langchain-google
provider_page: google
js: '@langchain/google-vertexai'
downloads: 7668881
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-google-community
path: libs/community
repo: langchain-ai/langchain-google
provider_page: google
downloads: 3055901
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-weaviate
path: libs/weaviate
repo: langchain-ai/langchain-weaviate
js: '@langchain/weaviate'
downloads: 26639
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-cohere
path: libs/cohere
repo: langchain-ai/langchain-cohere
js: '@langchain/cohere'
downloads: 513053
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-elasticsearch
path: libs/elasticsearch
repo: langchain-ai/langchain-elastic
downloads: 108874
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-nvidia-ai-endpoints
path: libs/ai-endpoints
repo: langchain-ai/langchain-nvidia
provider_page: nvidia
downloads: 129677
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-postgres
path: .
repo: langchain-ai/langchain-postgres
provider_page: pgvector
downloads: 293866
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-redis
path: libs/redis
repo: langchain-ai/langchain-redis
js: '@langchain/redis'
downloads: 17549
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-unstructured
path: libs/unstructured
repo: langchain-ai/langchain-unstructured
downloads: 88721
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-azure-dynamic-sessions
path: libs/azure-dynamic-sessions
repo: langchain-ai/langchain-azure
provider_page: microsoft
js: '@langchain/azure-dynamic-sessions'
downloads: 7285
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-sqlserver
path: libs/sqlserver
repo: langchain-ai/langchain-azure
provider_page: microsoft
downloads: 1489
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-cerebras
path: libs/cerebras
repo: langchain-ai/langchain-cerebras
downloads: 9426
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-snowflake
path: libs/snowflake
repo: langchain-ai/langchain-snowflake
downloads: 2374
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-databricks
path: libs/databricks
repo: langchain-ai/langchain-databricks
downloads: 35495
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-couchbase
path: libs/partners/couchbase
repo: langchain-ai/langchain
downloads: 347
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-ollama
path: libs/partners/ollama
repo: langchain-ai/langchain
js: '@langchain/ollama'
downloads: 310741
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-box
path: libs/box
repo: langchain-ai/langchain-box
downloads: 2749
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-tests
path: libs/standard-tests
repo: langchain-ai/langchain
downloads: 3691
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-neo4j
path: libs/neo4j
repo: langchain-ai/langchain-neo4j
downloads: 8871
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-linkup
path: .
repo: LinkupPlatform/langchain-linkup
downloads: 818
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-yt-dlp
path: .
repo: aqib0770/langchain-yt-dlp
downloads: 776
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-oceanbase
path: .
repo: oceanbase/langchain-oceanbase
downloads: 322
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-predictionguard
path: .
repo: predictionguard/langchain-predictionguard
downloads: 156
downloads_updated_at: '2024-12-23T20:10:11.816059+00:00'
- name: langchain-cratedb
path: .
repo: crate/langchain-cratedb
downloads: 362
downloads_updated_at: '2024-12-23T20:53:27.001852+00:00'