Langflow's long-tail provider bundles as a single manifest-less metapackage (the langchain-community model).
Project description
lfx-bundles
The long tail of Langflow's provider components as a single manifest-less
metapackage, modeled on langchain-community. This is the destination for
every vendor/third-party provider that does not warrant its own standalone
distribution; the curated partner providers (OpenAI, Anthropic, AWS,
DataStax, Cohere) ship as separate lfx-<provider> packages instead.
How it works
lfx-bundles declares the lfx.bundles entry point:
[project.entry-points."lfx.bundles"]
lfx_bundles = "lfx_bundles"
At startup, lfx resolves this package and folder-walks its immediate
subdirectories. Each subdirectory is one bundle, registered at the
@official slot under its directory name — no extension.json, no per-provider
manifest. Adding a provider is just adding a folder.
src/lfx_bundles/
├── __init__.py # bare namespace marker
├── <provider>/ # one bundle, e.g. tavily/, pinecone/, ...
│ └── *.py # Component subclasses
└── ...
A component's identity is its bundle name (ext:<provider>:<Class>@official),
which is stable whether the provider ships here or graduates to a standalone
lfx-<provider> package. Because a manifest-shipping package always shadows the
manifest-less metapackage, a provider can graduate with no lockstep release.
Installing
pip install langflow # everything (langflow pins lfx-bundles[all])
pip install lfx # engine only, no bundles
pip install "lfx[bundles]" # engine + this metapackage (deployment footnote)
pip install "lfx-bundles[<provider>]" # one provider's code + that provider's SDK deps
lfx-bundles itself depends only on lfx. Each provider's third-party SDKs are
optional extras (PEP 685-normalized keys, e.g. lfx-bundles[google]); the
generated all extra pulls every provider's deps and is what langflow depends
on, so pip install langflow is unchanged.
Adding a provider
Providers are moved here by scripts/migrate/consolidate_bundles.py, which also
maintains the per-provider extras and the generated all aggregate. Do not
hand-edit the extras block in pyproject.toml. Provider folder names must be
lowercase snake_case (a-z, 0-9, _, 2–64 chars).
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distributions
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file lfx_bundles-1.0.0-py3-none-any.whl.
File metadata
- Download URL: lfx_bundles-1.0.0-py3-none-any.whl
- Upload date:
- Size: 356.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: uv/0.11.24 {"installer":{"name":"uv","version":"0.11.24","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
a1359896577c82fb4f03fd08db3bda12c36b411878d065742c9c8839a3286263
|
|
| MD5 |
5af647aed2deaee948ec0de2c405b3f4
|
|
| BLAKE2b-256 |
00757b567d4890a4e908e14d315624ac0aa3900caef0b8dd6410e12dfbaca0f0
|