Skip to content
Closed
Show file tree
Hide file tree
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
2 changes: 1 addition & 1 deletion docs/requirements-docs.txt
Original file line number Diff line number Diff line change
Expand Up @@ -4,4 +4,4 @@ sphinx-autobuild==2025.8.25
sphinx-copybutton==0.5.2
sphinx-sitemap==2.9.0
sphinx-click==6.2.0
sphinx-autodoc-typehints==3.9.9
sphinx-autodoc-typehints==3.10.2
16 changes: 8 additions & 8 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
respx==0.22.0
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
Comment on lines +1 to +9
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 | 🟠 Major

🧩 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}")
PY

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


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


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


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


🏁 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 -100

Repository: DagsHub/client

Length of output: 2782


🏁 Script executed:

cat pyproject.toml 2>/dev/null | head -50

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

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 | 🟑 Minor | ⚑ Quick win

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.

Loading