-
Notifications
You must be signed in to change notification settings - Fork 52.6k
fix(update): ignore shared deps when refreshing lazy backends #65744
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| Original file line number | Diff line number | Diff line change |
|---|---|---|
|
|
@@ -239,7 +239,7 @@ | |
| "starlette==1.0.1", # CVE-2026-48710 — keep in sync with pyproject [computer-use] | ||
| ), | ||
| # HF Agent Trace Viewer upload (hermes trace upload / /upload-trace). | ||
| "tool.trace_upload": ("huggingface-hub==1.2.3",), | ||
| "tool.trace_upload": ("huggingface-hub==1.23.0",), | ||
| } | ||
|
|
||
|
|
||
|
|
@@ -858,16 +858,18 @@ def feature_install_command(feature: str) -> Optional[str]: | |
| def active_features() -> list[str]: | ||
| """Return the list of features the user has ever lazy-installed. | ||
|
|
||
| A feature counts as "active" if at least one of its declared packages | ||
| is currently installed in the venv (presence check, ignoring version). | ||
| Features the user has never enabled stay quiet. | ||
| A feature counts as "active" when its primary package (the first spec in | ||
| :data:`LAZY_DEPS`) is currently installed in the venv, ignoring version. | ||
| Secondary specs are often shared core dependencies (for example aiohttp), | ||
| so treating any declared package as proof of activation causes unrelated | ||
| backends to be installed during every update. | ||
|
|
||
| Used by ``hermes update`` to figure out which lazy backends need a | ||
| refresh pass when pins move in :data:`LAZY_DEPS`. | ||
| """ | ||
| active = [] | ||
|
Collaborator
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This fixes shared-dependency false positives, but it also removes the existing partial-install recovery behavior documented by the prior test: if |
||
| for feature, specs in LAZY_DEPS.items(): | ||
| if any(_is_present(s) for s in specs): | ||
| if specs and _is_present(specs[0]): | ||
| active.append(feature) | ||
| return active | ||
|
|
||
|
|
||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please split this trace-upload dependency pin into a separate change. It is independent of lazy-feature activation, as the existing member comment also notes.