Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
14 changes: 7 additions & 7 deletions requirements-dev.txt
Original file line number Diff line number Diff line change
@@ -1,9 +1,9 @@
setuptools==80.9.0
pytest==8.3.5
setuptools==82.0.1
pytest==9.0.2
Comment on lines +1 to +2
Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ Potential issue | 🔴 Critical

🧩 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
done

Repository: 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 -5

Repository: 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 -20

Repository: 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:


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:

  1. Upgrade python_requires to >=3.10 in setup.py, or
  2. 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.

respx==0.22.0
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.13.4
datasets==4.8.3
ultralytics==8.4.25
Loading