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
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 | πŸ—οΈ Heavy lift

🧩 Analysis chain

🏁 Script executed:

#!/bin/bash
# Description: Verify pytest version and check its changelog for breaking changes

# Verify version exists
echo "Verifying pytest 9.0.3 exists:"
curl -s https://pypi.org/pypi/pytest/json | jq -r '.releases | keys[]' | grep "9.0.3"

# Check for security advisories
echo -e "\n\nChecking for pytest security advisories:"
gh api graphql -f query='
{
  securityVulnerabilities(first: 10, ecosystem: PIP, package: "pytest") {
    nodes {
      advisory {
        summary
        severity
        publishedAt
      }
      vulnerableVersionRange
      firstPatchedVersion {
        identifier
      }
    }
  }
}'

# Search for pytest configuration and usage patterns that might be affected
echo -e "\n\nSearching for pytest configuration files:"
fd -t f 'pytest.ini|pyproject.toml|setup.cfg|tox.ini'

echo -e "\n\nSearching for pytest plugin usage that might be affected:"
rg -n --type=py 'pytest\.(mark|fixture|raises|warns|deprecated_call)' -C2 | head -50

Repository: DagsHub/client

Length of output: 2736


🏁 Script executed:

# Check pytest changelog for breaking changes in version 9.0
# Also check if there's any CI configuration that runs tests

fd -t f '.github/workflows' -o 'tox.ini' -o '.travis.yml' -o '.gitlab-ci.yml' -o 'Makefile' | head -20

Repository: DagsHub/client

Length of output: 192


🌐 Web query:

pytest 9.0.0 breaking changes migration guide

πŸ’‘ Result:

pytest 9.0.0 was released on 2025-11-05.[1][2] There is no separate migration guide; all breaking changes and deprecation information is in the official Changelog[3][2][4] and Deprecations and Removals page.[5][6] Key breaking changes in pytest 9.0.0:[3][2][4] - #12083: Fixed overlapping/duplicate path arguments (e.g., pytest a/ a/b now runs only a/ prefix; pytest x.py x.py runs once). Use --keep-duplicates to retain old behavior.[3][2] - #13719: Dropped Python 3.9 support.[3][2] - #13766: CI mode now requires $CI or $BUILD_NUMBER to be non-empty (not just defined).[3][2] - #13779: PytestRemovedIn9Warning deprecations are now errors by default (features removed in 9.1). Temporarily revert in pytest.ini: filterwarnings = ignore::pytest.PytestRemovedIn9Warning. Full list in deprecations docs.[3][2][4][5] - config.args now only accepts strings (not pathlib.Path).[3][2] PytestRemovedIn9Warnings cover previously deprecated features now erroring, e.g., certain fixture usages, marks on fixtures, yield tests, etc. Consult https://docs.pytest.org/en/stable/deprecations.html for complete list and migration steps.[5][6] Other notes: Users reported fixture issues with third-party libs like responses (not core pytest breaking change).[7] Upgrade via: pip install -U pytest[1]

Citations:


🏁 Script executed:

# Check Python version requirements
cat pyproject.toml | head -50

Repository: DagsHub/client

Length of output: 89


🏁 Script executed:

# Search for yield-based tests (deprecated in pytest 9.0)
rg -n 'yield' tests/ --type=py -A2 | grep -E 'yield|def test_' | head -30

Repository: DagsHub/client

Length of output: 1476


🏁 Script executed:

# Check for any CI configuration that would show if tests are run
fd -type f '\.(yml|yaml)$' .github/ -o 'workflows'

Repository: DagsHub/client

Length of output: 229


🏁 Script executed:

# Get full pyproject.toml to check Python requirements
cat pyproject.toml

Repository: DagsHub/client

Length of output: 89


🏁 Script executed:

# Search for yield in actual test functions (deprecated pattern)
# Yield in fixtures is normal, but yield in test_ functions is deprecated
rg -n 'def test_.*:' tests/ --type=py -A5 | grep -B2 'yield' | head -40

Repository: DagsHub/client

Length of output: 249


🏁 Script executed:

# Find CI configuration files
find .github/workflows -type f -name '*.yml' -o -name '*.yaml' 2>/dev/null | head -10

Repository: DagsHub/client

Length of output: 240


🏁 Script executed:

# Get full pyproject.toml content (use head with larger number)
head -100 pyproject.toml

Repository: DagsHub/client

Length of output: 89


🏁 Script executed:

# Check the test CI workflow
cat .github/workflows/python-package.yml

Repository: DagsHub/client

Length of output: 1410


🏁 Script executed:

# Check if there's a python_requires constraint
grep -r "python_requires\|python_version" . --include="*.py" --include="*.toml" --include="*.cfg" --include="*.txt" | grep -v '.git' | head -20

Repository: DagsHub/client

Length of output: 98


🏁 Script executed:

# Verify Python 3.9 behavior with pytest 9.0.3
# Check pytest documentation or version info
rg -n "3.9|3.10|3.11|3.12|3.13" . --include="*.md" --include="*.rst" --include="*.txt" | head -20

Repository: DagsHub/client

Length of output: 500


pytest 9.0.3 drops Python 3.9 supportβ€”incompatible with project requirements.

This upgrade drops Python 3.9 support, but your project explicitly supports Python 3.9 (python_requires=">=3.9" in setup.py) and tests it in CI. This will cause test failures on Python 3.9 runners. Either upgrade the minimum Python version to 3.10+, or pin pytest to a version supporting Python 3.9 (e.g., 8.3.5).

On the positive side, pytest 9.0.3 fixes a MODERATE security vulnerability (tmpdir handling), so upgrading is desiredβ€”just resolve the Python version constraint first.

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.48
Loading