Scheduled weekly dependency update for week 18#691
Conversation
📝 WalkthroughWalkthroughTwo documentation and development dependency packages are updated: ChangesDocumentation Requirements Update
Development Requirements Update
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~3 minutes Poem
🚥 Pre-merge checks | ✅ 4✅ Passed checks (4 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Thanks for using CodeRabbit! It's free for OSS, and your support helps us grow. If you like it, consider giving us a shout-out. Review rate limit: 0/1 reviews remaining, refill in 60 minutes.Comment |
There was a problem hiding this comment.
Actionable comments posted: 2
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 474e0690-59ba-4057-9d07-a61745f0e1f5
📒 Files selected for processing (2)
docs/requirements-docs.txtrequirements-dev.txt
📜 Review details
⏰ Context from checks skipped due to timeout of 90000ms. You can increase the timeout in your CodeRabbit configuration to a maximum of 15 minutes (900000ms). (5)
- GitHub Check: build (3.13)
- GitHub Check: build (3.11)
- GitHub Check: check-licenses
- GitHub Check: build (3.12)
- GitHub Check: build (3.10)
🔇 Additional comments (2)
docs/requirements-docs.txt (1)
7-7: Configuration is compatible with sphinx-autodoc-typehints 3.10.2—no action needed.The extension is loaded in
conf.pywith a single standard configuration option (typehints_use_signature_return = True). Version 3.10.2 is a bugfix-only release (single fix for malformed:ivarfields) with no breaking changes, so the bump is safe.requirements-dev.txt (1)
2-6: This review comment does not apply to the codebase.The primary concerns—deprecated hook signatures in custom conftest hooks and custom pytest plugins—do not exist. Search confirmed: no
conftest.pyfiles and no custom pytest hooks present in the repository. The pytest configuration inpytest.iniis minimal (onlyenvvariables andlog_cli = true), and neither option is deprecated in pytest 9.x.While pytest 9.0 does include breaking changes (e.g., PytestRemovedIn9Warning becomes errors by default), the specific risks flagged in this comment are not present in this codebase.
> Likely an incorrect or invalid review comment.
| setuptools==82.0.1 | ||
| pytest==9.0.3 | ||
| respx==0.23.1 | ||
| pytest-git==1.8.0 | ||
| pytest-env==1.1.5 | ||
| pytest-mock==3.14.0 | ||
| fiftyone==1.5.2 | ||
| datasets==3.6.0 | ||
| ultralytics==8.3.237 | ||
| pytest-env==1.6.0 | ||
| pytest-mock==3.15.1 | ||
| fiftyone==1.15.0 | ||
| datasets==4.8.5 | ||
| ultralytics==8.4.46 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Repo-supported Python versions (best-effort search) =="
rg -n --hidden --glob '!.git/**' \
'(python-version:|tox.*envlist|PYTHON_VERSION|Programming Language :: Python|min-version|requires-python)' .
echo
echo "== PyPI requires_python for updated pins =="
python - <<'PY'
import json, urllib.request
pins = [
("setuptools", "82.0.1"),
("pytest", "9.0.3"),
("respx", "0.23.1"),
("pytest-env", "1.6.0"),
("pytest-mock", "3.15.1"),
("fiftyone", "1.15.0"),
("datasets", "4.8.5"),
("ultralytics", "8.4.46"),
]
def fetch_requires_python(name, version):
url = f"https://pypi.org/pypi/{name}/{version}/json"
with urllib.request.urlopen(url, timeout=20) as r:
data = json.load(r)
# "requires_python" is typically in info dict
return data.get("info", {}).get("requires_python")
for name, version in pins:
rp = fetch_requires_python(name, version)
print(f"{name}=={version}\trequires_python={rp}")
PYRepository: DagsHub/client
Length of output: 3291
🌐 Web query:
pytest 9.0.3 requires-python minimum version compatibility
💡 Result:
Pytest 9.0.3 requires Python >=3.10.
Citations:
- 1: https://pypi.org/project/pytest/
- 2: https://docs.pytest.org/en/stable/backwards-compatibility.html
- 3: https://github.com/pytest-dev/pytest/blob/master/pyproject.toml
🌐 Web query:
fiftyone 1.15.0 python version support requirements
💡 Result:
FiftyOne version 1.15.0 requires Python >= 3.9, specifically supporting Python 3.9, 3.10, 3.11, and 3.12.
Citations:
- 1: https://github.com/voxel51/fiftyone/blob/develop/setup.py
- 2: https://docs.dev.voxel51.com/installation/index.html
- 3: https://pypi.org/project/fiftyone/1.10.0/
- 4: https://docs.dev.voxel51.com/installation/troubleshooting.html
🌐 Web query:
datasets 4.8.5 python version requirements
💡 Result:
For 🤗 Hugging Face Datasets 4.8.5, the minimum supported Python version is 3.10. Evidence: the PyPI metadata for the project specifies the Python requirement as “>=3.10.0”, and the package’s setup.py sets python_requires=">=3.10.0". The Datasets documentation likewise states it is tested on Python 3.10+. Practical takeaway: on 2026-05-04, use Python 3.10, 3.11, 3.12, 3.13, or 3.14 to install datasets==4.8.5; Python 3.9 or older is not supported.
Citations:
- 1: https://pypi.org/project/datasets/
- 2: https://huggingface.co/docs/datasets/installation
- 3: https://github.com/huggingface/datasets/blob/main/setup.py
🌐 Web query:
ultralytics 8.4.46 python version support
💡 Result:
Ultralytics v8.4.46 supports Python 3.8 and newer (minimum Python >= 3.8). Evidence: - The Ultralytics package metadata for v8.4.46 lists the Python requirement as Python>=3.8. - Ultralytics’ project metadata (requires-python) is defined as >=3.8. So, for 8.4.46 you should use Python 3.8+; older Pythons (<=3.7) are not supported.
Citations:
- 1: https://pypi.org/project/ultralytics/8.4.46/
- 2: https://github.com/ultralytics/ultralytics/blob/main/pyproject.toml
🏁 Script executed:
grep -r "requirements-dev" .github/workflows/ --include="*.yml" --include="*.yaml"Repository: DagsHub/client
Length of output: 149
🏁 Script executed:
cat -n setup.py | head -100Repository: DagsHub/client
Length of output: 2782
🏁 Script executed:
cat pyproject.toml 2>/dev/null | head -50Repository: DagsHub/client
Length of output: 89
Python 3.9 CI will fail: pytest 9.0.3 and datasets 4.8.5 require Python ≥3.10.
The repo declares python_requires=">=3.9" and tests against Python 3.9–3.13 in CI, but:
- pytest 9.0.3 requires Python ≥3.10 (breaks Python 3.9 CI jobs)
- datasets 4.8.5 requires Python ≥3.10 (breaks Python 3.9 CI jobs)
- fiftyone 1.15.0 claims Python ≥3.9 support but is only documented for 3.9–3.12 (unclear if 3.13 is tested)
Since requirements-dev.txt is installed in the CI pipeline, the Python 3.9 matrix job will fail. Either separate dev-only pins into a CI-specific requirements file (with Python ≥3.10 gate), drop Python 3.9 from setup.py, or downgrade pytest and datasets to versions supporting 3.9.
| pytest-mock==3.15.1 | ||
| fiftyone==1.15.0 | ||
| datasets==4.8.5 | ||
| ultralytics==8.4.46 |
There was a problem hiding this comment.
Minor: ultralytics bump is present but not reflected in PR objective list.
requirements-dev.txt Line 9 pins ultralytics==8.4.46. The PR objective description doesn’t list it (though the commit log summary mentions it). Consider ensuring the PR description/objectives list includes this change so reviewers aren’t surprised by an unlisted dependency bump.
Update sphinx-autodoc-typehints from 3.9.9 to 3.10.2.
Changelog
3.10.2
3.10.1
3.10.0
3.9.11
3.9.10
Links
Update setuptools from 80.9.0 to 82.0.1.
Changelog
82.0.1
82.0.0
81.0.0
80.10.2
80.10.1
80.10.0
Links
Update pytest from 8.3.5 to 9.0.3.
Changelog
9.0.3
9.0.2
9.0.1
9.0.0
8.4.2
8.4.1
8.4.0
Links
Update respx from 0.22.0 to 0.23.1.
Changelog
0.23.1
0.23.0
Links
Update pytest-env from 1.1.5 to 1.6.0.
The bot wasn't able to find a changelog for this release. Got an idea?
Links
Update pytest-mock from 3.14.0 to 3.15.1.
Changelog
3.15.1
3.15.0
3.14.1
Links
Update fiftyone from 1.5.2 to 1.15.0.
Changelog
1.15.0
1.14.2
1.14.1
1.14.0
1.13.5
1.13.4
1.13.3
1.13.2
1.13.1
1.13.0
1.12.0
1.11.1
1.11.0
1.10.0
1.9.0
1.8.1
1.8.0
1.7.2
1.7.1
1.7.0
1.6.0
Links
Update datasets from 3.6.0 to 4.8.5.
Changelog
4.8.3
4.8.2
4.8.1
4.8.0
4.7.0