chore: unconstrained lfx version for bundles (#13415)

This commit is contained in:
Eric Hare
2026-05-29 10:54:38 -07:00
committed by GitHub
parent dbe482c800
commit be7edcbda1
8 changed files with 27 additions and 17 deletions

View File

@ -23,15 +23,15 @@ from pathlib import Path
BASE_DIR = Path(__file__).parent.parent.parent
# Matches the lfx dep specifier inside a bundle pyproject's dependencies list.
# Accepts the bundle default ("lfx>=X.Y.Z,<A.B.C"), legacy ~=/==, and the
# already-rewritten "lfx-nightly==X.Y.Z" form (idempotent).
# Accepts the bundle default ("lfx>=X.Y.Z" with an optional upper bound),
# legacy ~=/==, and the already-rewritten "lfx-nightly==X.Y.Z" form (idempotent).
_LFX_DEP_PATTERN = re.compile(
r'"lfx(?:-nightly)?'
r"(?:"
r"(?:~=|==)[\d.]+(?:\.(?:post|dev|a|b|rc)\d+)*"
r"|"
r">=[\d.]+(?:\.(?:post|dev|a|b|rc)\d+)*"
r",\s*<[\d.]+(?:\.(?:post|dev|a|b|rc)\d+)*"
r"(?:,\s*<[\d.]+(?:\.(?:post|dev|a|b|rc)\d+)*)?"
r')"'
)

View File

@ -60,8 +60,8 @@ _BUNDLE_LFX_DEP_PATTERN = re.compile(r'"lfx(?:-nightly)?(?=[<>=!~])[^"]*"')
def update_lfx_dep_in_bundles(lfx_version: str) -> None:
"""Pin every bundle's `lfx` dep to the renamed `lfx-nightly==<version>`.
Each `src/bundles/*/pyproject.toml` declares an `lfx>=X.Y,<Z` style pin
against the published `lfx` package. During nightly builds the
Each `src/bundles/*/pyproject.toml` floors its `lfx` dep at `>=X.Y`
(no upper bound) against the published `lfx` package. During nightly builds the
workspace `lfx` package gets renamed to `lfx-nightly`, so those pins
no longer resolve against the workspace member — and PyPI may not yet
ship a matching `lfx` either. Rewrite each bundle's pin to

View File

@ -86,8 +86,11 @@ keywords = ["langflow", "lfx", "extension", "bundle", "{bundle}"]
# Runtime deps: lfx (the BUNDLE_API surface) plus any third-party imports
# the bundle's components rely on. REVIEW THIS LIST -- the script ports
# only ``lfx``; add any other deps the moved component(s) import.
# lfx is floored at >=0.5.0 (the release that introduced extension bundles)
# with no upper bound so bundles track the latest lfx; BUNDLE_API compat is
# enforced via extension.json's lfx.compat list, not an upper version cap.
dependencies = [
"lfx>=0.5.0,<0.6.0",
"lfx>=0.5.0",
]
[project.urls]