Scheduled weekly dependency update for week 12#677
Conversation
📝 WalkthroughWalkthroughUpdated version pins for seven development dependencies in Changes
Estimated code review effort🎯 1 (Trivial) | ⏱️ ~2 minutes Poem
🚥 Pre-merge checks | ✅ 2✅ Passed checks (2 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. Comment |
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (1)
requirements-dev.txt (1)
7-9: These ML/data packages are heavily integrated into the data_engine; bundle-validate the upgrade or gate with compatibility checks.
fiftyone,datasets(HuggingFace), andultralyticsare core imports across voxel visualization and annotation pipelines. Theultralyticsversion jump (8.3.237 → 8.4.25) is confirmed as significant. While most imports use defensive patterns (lazy-loading), transitive dependency impacts could not be fully assessed in the sandbox environment. Consider splitting these into a dedicated PR with explicit torch/vision stack compatibility validation, or add CI gates to catch transitive issues early.
ℹ️ Review info
⚙️ Run configuration
Configuration used: Organization UI
Review profile: CHILL
Plan: Pro
Run ID: 4ff3f3e4-de56-4ea9-8b49-40cd3daedd41
📒 Files selected for processing (1)
requirements-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). (4)
- GitHub Check: build (3.13)
- GitHub Check: build (3.11)
- GitHub Check: build (3.10)
- GitHub Check: build (3.12)
| setuptools==82.0.1 | ||
| pytest==9.0.2 |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
set -euo pipefail
echo "== Package metadata compatibility check =="
python - <<'PY'
import json, urllib.request
pkgs = [
("pytest", "9.0.2"),
("pytest-env", "1.6.0"),
("pytest-mock", "3.15.1"),
("pytest-git", "1.8.0"),
("respx", "0.22.0"),
("setuptools", "82.0.1"),
]
for name, ver in pkgs:
url = f"https://pypi.org/pypi/{name}/{ver}/json"
with urllib.request.urlopen(url, timeout=20) as r:
data = json.load(r)
info = data["info"]
print(f"\n{name}=={ver}")
print(" requires_python:", info.get("requires_python"))
reqs = info.get("requires_dist") or []
for dep in reqs:
if "pytest" in dep.lower() or "pluggy" in dep.lower() or "python" in dep.lower():
print(" requires_dist:", dep)
print("\nDone.")
PY
echo
echo "== Repository Python version declarations (if present) =="
fd -HI 'pyproject.toml|setup.cfg|setup.py|tox.ini|.python-version' | while read -r f; do
echo "--- $f"
rg -n "python_requires|requires-python|envlist|basepython|3\\.[0-9]+" "$f" || true
doneRepository: DagsHub/client
Length of output: 2700
🏁 Script executed:
# Inspect the actual requirements-dev.txt file
cat requirements-dev.txt
# Check repository Python version constraints
echo "=== Checking Python version constraints ==="
fd -HI 'pyproject.toml|setup.py|setup.cfg|tox.ini|.python-version' -x cat {} \; 2>/dev/null | head -100
# Look for CI/CD configurations
echo "=== Checking CI configurations ==="
find .github -name "*.yml" -o -name "*.yaml" 2>/dev/null | xargs grep -l "python-version" 2>/dev/null | head -5Repository: DagsHub/client
Length of output: 2667
🏁 Script executed:
# Check CI Python versions
echo "=== CI Python versions ==="
grep -r "python-version" .github/workflows/ 2>/dev/null | head -20Repository: DagsHub/client
Length of output: 567
🌐 Web query:
pytest 9.0.2 compatibility python 3.9 python 3.10 breaking changes
💡 Result:
pytest 9.0.2 is not compatible with Python 3.9; it requires Python 3.10+. Support for Python 3.9 was dropped in pytest 9.0.0 following its end-of-life. It is fully compatible with Python 3.10. Key breaking changes in pytest 9.0 (affecting 9.0.2 as a patch release): - Dropped Python 3.9 support (#13719, #13724). - Changes to test collection for overlapping/duplicated arguments (e.g., pytest a/ a/b now runs tests once; use --keep-duplicates to retain old behavior) (#12083). - CI mode detection now requires non-empty $CI or $BUILD_NUMBER (#13766). - config.args no longer accepts pathlib.Path (#13766). - PytestRemovedIn9Warning deprecations are now errors by default (#13779); set pytest.warnings.filterwarnings = "ignore::pytest.PytestRemovedIn9Warning" in pyproject.toml to revert. - config.inicfg private attribute breaking change in 9.0.0, shimmed back in 9.0.2 (#13946), to be deprecated in 9.1. - Other: subtests support added, terminal progress disabled by default except Windows (#13896), etc. Full details in official changelog. Users on Python 3.9 must stay on pytest 8.x or upgrade Python.
Citations:
- 1: https://docs.pytest.org/en/stable/changelog.html
- 2: https://pypi.org/project/pytest/9.0.2/
- 3: https://github.com/pytest-dev/pytest/releases
- 4: https://docs.pytest.org/en/stable/backwards-compatibility.html
- 5: pytest 9.0 release planning pytest-dev/pytest#13719
- 6: https://pytest.org/en/stable/changelog.html
- 7: Remove support for Python 3.9 pytest-dev/pytest#13724
- 8: https://pypi.org/project/pytest/9.0.0/
- 9: https://github.com/pytest-dev/pytest/blob/main/pyproject.toml
pytest 9.0.2 is incompatible with Python 3.9 and will break CI.
The repository declares python_requires=">=3.9" and tests against Python 3.9–3.13 in CI, but pytest 9.0.2 requires Python 3.10+ (dropped Python 3.9 support in 9.0.0). Installation will fail on Python 3.9 before tests even run.
Either:
- Upgrade
python_requiresto>=3.10in setup.py, or - Downgrade pytest to 8.x for Python 3.9 compatibility.
Additionally, pytest 9.0 introduces breaking changes (config.args no longer accepts pathlib.Path, PytestRemovedIn9Warning is now an error by default, CI mode detection changes). Verify plugin compatibility and test thoroughly before merge.
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.2.
Changelog
9.0.2
9.0.1
9.0.0
8.4.2
8.4.1
8.4.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.13.4.
Changelog
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.3.
Changelog
4.8.3
4.8.2
4.8.1
4.8.0
4.7.0
4.6.0
4.5.2
4.5.0
4.4.0