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.
Metadata
Release files for lfx-bundles 1.1.18
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| lfx_bundles-1.1.18-py3-none-any.whl | Python 3 | none | any | Details |
Release files / lfx_bundles-1.1.18-py3-none-any.whl
| Download URL | lfx_bundles-1.1.18-py3-none-any.whl |
|---|---|
| Size | 461.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
9a3729457f7b4fbc5f45a4cc797cdf0f00a34a598e88118a91a8b8204a62d2ba
|
|
BLAKE2b-256 checksum How to use checksums |
f3bd6dbbea9330f5f6bb5c08609337475037759a06d68ceef603b3d000eec6f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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}
|