Skip to content

Commit 3a0609b

Browse files
dweindlclaude
andcommitted
Constrain pysb>=1.17.0 to avoid a broken legacy build path
uv resolves one consistent dependency graph across all declared extras/groups, even ones not requested for a given sync - so the CI unit-test job (extras: tests, reports, combine, vis) pulled in pysb via the unrelated `doc` extra's requirement. The resolver picked pysb 1.16.0, whose `ez_setup.py` bootstrap tries to download setuptools from a defunct pypi.python.org URL and fails to build, both locally and on GitHub Actions runners. pysb>=1.17.0 builds cleanly; constrain the resolver to it without changing the public dependency ranges declared in the `tests`/`doc` extras. Verified: `uv sync --extra tests --extra reports --extra combine --extra vis --group ci` now resolves and installs successfully, and the full test suite passes (378 passed, 4 skipped) via the same recipe CI uses. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
1 parent 3796674 commit 3a0609b

1 file changed

Lines changed: 5 additions & 0 deletions

File tree

pyproject.toml

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -90,6 +90,11 @@ ci = [
9090
"benchmark_models_petab @ git+https://github.com/Benchmarking-Initiative/Benchmark-Models-PEtab.git@master#subdirectory=src/python",
9191
]
9292

93+
[tool.uv]
94+
# pysb<1.17 fails to build: its legacy `ez_setup.py` bootstrap downloads
95+
# setuptools from a defunct pypi.python.org URL.
96+
constraint-dependencies = ["pysb>=1.17.0"]
97+
9398
[tool.setuptools.packages.find]
9499
include = ["petab", "petab.*"]
95100
namespaces = false

0 commit comments

Comments
 (0)