Repository navigation
Remove the numpy<2.4 cap from runtime requirements - #519
Conversation
|
Review the following changes in direct dependencies. Learn more about Socket for GitHub.
|
The mypy override for numpy in pyproject.toml and current mypy releases type-check the package with NumPy 2.5 under python_version 3.10, so the dev extra no longer needs a NumPy upper bound. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
d51ad88 to
d642b54
Compare
|
Hi @iurisilvio and @digaobarbosa, a friendly ping on this one. Since 1.4.0, I rebased the PR onto current The "Test WorkFlow" run is waiting for maintainer approval ( If you have a minute, #520 is a similarly small fix: it lets Thanks for maintaining the SDK! |
Summary
requirements.txt:numpy>=1.18.5,<2.4→numpy>=1.18.5, and drop the comment that explains the capMotivation
setup.pypublishesrequirements.txtasinstall_requires, so every release since 1.4.0 carries the cap as a runtime requirement. For users this means:roboflow>=1.4cannot be installed together with NumPy 2.4 or newer; pip and uv report a conflict.roboflowsilently resolves to an older release instead, 1.3.13 next to NumPy 2.4 and 1.3.10 next to NumPy 2.5 (checked withuv pip compile), so users lose everything added since 1.4.The cap exists only for the type check: mypy runs with
python_version = "3.10"and could not parse the PEP 695typestatements in NumPy's newer stubs (#498). #499 proposed a cap in thedevextra only, but the cap landed inrequirements.txtvia #495 and #496. Since then,pyproject.tomlhas gained a mypy override fornumpy(follow_imports = "skip"), which solves the type-check problem on its own, so the cap is not needed anywhere, not even in thedevextra. (An earlier revision of this PR moved the cap to thedevextra; after rebasing onto currentmainthat is no longer necessary.)Test plan
On current
main(7faa0dd) plus this PR, with Python 3.13, NumPy 2.5.3 and mypy 2.4.0:make check_code_quality(ruff format, ruff check, mypy over 78 source files) passespython -m unittest: 1209 tests OK (1 skipped)Requires-Dist: numpy>=1.18.5, and resolvingroboflow[dev]from it picks NumPy 2.5.3