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
│ └── starter_projects/
│ └── *.json # Optional templates owned by this provider
└── ...
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 # server + default partner bundles
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[qdrant]); the
generated all extra pulls every provider's deps for users who explicitly
install lfx[bundles] or lfx-bundles[all].
Deprecated extras for graduated providers may remain as compatibility aliases.
For example, lfx-bundles[google], lfx-bundles[azure], and
lfx-bundles[ollama] now install their standalone bundles, but are excluded
from the generated aggregate extras because Langflow installs them directly.
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).
Starter projects that require a provider belong in that provider's
starter_projects/ directory. Langflow discovers them only after the
manifest-less provider loads, then applies the normal component-availability
filter before seeding them.
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.1.8-py3-none-any.whl.
File metadata
- Download URL: lfx_bundles-1.1.8-py3-none-any.whl
- Upload date:
- Size: 444.7 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via:
uv/0.12.3 {"installer":{"name":"uv","version":"0.12.3","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 |
026463148a7b2582731529c655344d07887c1201c2aaee358b38812ca50722c1
|
|
| MD5 |
94defef66fd36240a9f508211e2f87eb
|
|
| BLAKE2b-256 |
3972b4fbb178dc11f32605ba7bfea546e4f273d73172e8cb3f9fb4b47b13ca01
|