ENH: adopt xoscar 0.9.7 graceful #system_*# fallback - #5228
Merged
OliverBryant merged 3 commits intoJul 31, 2026
Merged
OliverBryant merged 3 commits into
OliverBryant merged 3 commits into
Conversation
2 tasks
Contributor
There was a problem hiding this comment.
Code Review
This pull request adds support for #system_pandas# as a system package placeholder in filter_virtualenv_packages_by_markers within xinference/core/utils.py. It also includes a corresponding unit test in xinference/core/tests/test_utils.py to verify that #system_pandas# is correctly handled when filtering virtual environment packages by markers. There are no review comments, and the changes look correct and well-tested, so I have no additional feedback to provide.
OliverBryant
force-pushed
the
fix/system-pandas-marker-whitelist
branch
from
July 28, 2026 04:29
a812666 to
2c61778
Compare
Model specs (e.g. audio) already use #system_pandas#, but filter_virtualenv_packages_by_markers only whitelisted the torch-family and numpy placeholders. Add pandas so all placeholders used in model specs are handled consistently.
xoscar 0.9.7 ships xorbitsai/xoscar#195: #system_*# placeholders now degrade gracefully when the host environment lacks the package (minimal-install hosts), markers are evaluated before placeholder resolution, and conflicting host-aligned pins are dropped on retry. Require it so model launch no longer hard-fails on hosts without numpy/torch/pandas.
OliverBryant
force-pushed
the
fix/system-pandas-marker-whitelist
branch
from
July 30, 2026 06:21
f5b195f to
fcaadb9
Compare
qinxuye
reviewed
Jul 30, 2026
Dockerfile.cpu installs xoscar from requirements_cpu-base.txt and then installs Xinference with --no-deps, so the pyproject.toml lower bound is not enforced for the CPU image.
qinxuye
approved these changes
Jul 31, 2026
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
What do these changes do?
Two related changes for minimal-install (3.0) hosts where numpy/torch/pandas may be absent from the main environment:
Require
xoscar>=0.9.7(pyproject.toml). xoscar 0.9.7 ships ENH: graceful fallback for #system_*# when host package is missing xoscar#195:#system_*#placeholders degrade gracefully when the host environment lacks the package (installed unpinned with a warning instead of raisingRuntimeErrorand failing the model launch), markers are evaluated before placeholder resolution, and host-aligned pins that conflict with other requirements (e.g. a model pinning a newer engine) are dropped on a one-shot retry — including inskip_installedmode.Add
#system_pandas#to the system marker whitelist infilter_virtualenv_packages_by_markers(xinference/core/utils.py). Model specs already use#system_pandas#(7 occurrences in the audio model spec), but the whitelist only covered the torch-family and numpy placeholders; the generic marker path it fell through to happens to produce an equivalent result today, but relies on incidental behavior. Adds a regression test.Check code requirements
xinference/core/tests/test_utils.py)black --check/isort --check-only