-
Notifications
You must be signed in to change notification settings - Fork 31
Scheduled weekly dependency update for week 25 #699
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. Weβll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Changes from all commits
2ae6b76
54658dd
052a7fb
0f90e14
d0bb085
462f03a
4f45c32
854e4fd
8f93fd8
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
| 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.1.1 | ||
|
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. π§© Analysis chainπ Script executed: #!/bin/bash
# Description: Search for deprecated pytest patterns and APIs that may need updates.
echo "=== Checking for pytest.approx without kwargs argument (deprecated pattern) ==="
rg -nP --type=py 'pytest\.approx\s*\(\s*\)' || echo "No empty approx() calls found."
echo "=== Checking for pytest.warns() with class argument (potentially changed) ==="
rg -nP --type=py 'pytest\.warns\s*\(' | head -20 || echo "No warns() usage found."
echo "=== Checking for indirect parametrization patterns ==="
rg -nP --type=py '`@pytest`\.mark\.parametrize.*indirect' | head -10 || echo "No indirect parametrization found."Repository: DagsHub/client Length of output: 302 π Script executed: cat -n requirements-dev.txt | head -10Repository: DagsHub/client Length of output: 277 π Script executed: # Check for test files and their pytest usage patterns
fd -e py "test_" -o -e py "*_test.py" | head -5Repository: DagsHub/client Length of output: 175 π Script executed: # Search for pytest fixture definitions and usage
rg -nP --type=py 'pytest\.fixture|`@fixture`' | head -20Repository: DagsHub/client Length of output: 1126 π Script executed: # Check for deprecated pytest.deprecated_call usage
rg -nP --type=py 'pytest\.deprecated_call|assert.*deprecated|DeprecationWarning' | head -20Repository: DagsHub/client Length of output: 40 π Script executed: # Search for test files in the repository
find . -path ./node_modules -prune -o -name "test_*.py" -type f -print | head -20Repository: DagsHub/client Length of output: 961 π Script executed: # Search for pytest.mark.parametrize usage to check for patterns that may have changed
rg -nP --type=py '`@pytest`\.mark\.parametrize' | head -20Repository: DagsHub/client Length of output: 1625 π Web query:
π‘ Result: Moving from pytest 8.3.5 to 9.1.1 involves significant breaking changes because the transition crosses a major version boundary (from 8.x to 9.x) [1][2]. Key Breaking Changes and Compatibility Considerations: 1. Major Deprecation Policy: Pytest 9.0 introduced breaking changes and completed the removal of features that had been deprecated in earlier versions [3][4]. Most notably, warnings of type PytestRemovedIn9Warning, which were previously just warnings in the 8.x series, became errors by default in 9.0 [5][3]. This was intended to force the removal of legacy features before the 9.1 release [3]. 2. Feature Removals (9.0 and 9.1): - Pytest 9.0 removed support for several items, including: - Synchronous tests depending on async fixtures [4]. - Applying a mark to a fixture function [4]. - Using py.path.local arguments for hooks (replaced with pathlib.Path) [4]. - Pytest 9.1 further removed: - pytest.importorskip default behavior: It now only captures ModuleNotFoundError by default (previously it captured all ImportError) [4]. - The fspath argument for Node constructors (replaced with pathlib.Path) [4]. 3. Behavioral Changes: - Test Invocation: Pytest 9.0 introduced changes to how overlapping arguments and duplicates are handled in CLI invocations (e.g., pytest a/ a/b now treats the arguments differently than before) [5][3]. - CI Detection: The environment variable detection for CI/CD modes was tightened; now, variables like $CI or $BUILD_NUMBER must be set to a non-empty value to activate CI mode [5][3]. - Python Version: Pytest 9.x requires Python 3.10 or newer [6][7]. Recommendation: Because you are skipping multiple minor releases and moving across a major version, you should review the full Deprecations and Removals section of the official pytest documentation [4]. It is highly recommended to run your test suite against pytest 8.4 or the latest 8.x version first to resolve any remaining deprecation warnings before upgrading to 9.1.1, as these will likely manifest as hard errors in the 9.x series [5][3]. Citations:
Run full test suite with pytest 9.1.1 to verify compatibilityβmajor version bump includes breaking changes. Pytest 9.1.1 is a major version bump from 8.3.5 with documented breaking changes including removal of async fixture support, py.path.localβpathlib.Path conversions, and importorskip behavior changes. Scanning the codebase found no obvious deprecated API patterns (e.g., empty approx() calls, pytest.warns usage, or deprecated fixture marks). However, a full test run is needed to confirm the test suite executes without errors under pytest 9.1.1. |
||
| 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.17.0 | ||
| datasets==5.0.0 | ||
|
Comment on lines
+7
to
+8
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. π§© Analysis chainπ Script executed: #!/bin/bash
# Description: Search for fiftyone and datasets imports and usage.
echo "=== Searching for fiftyone imports ==="
rg -nP --type=py 'import fiftyone|from fiftyone' || echo "No fiftyone imports found."
echo "=== Searching for datasets imports ==="
rg -nP --type=py 'import datasets|from datasets' || echo "No datasets imports found."
echo "=== Checking for API-level usage patterns ==="
rg -nP --type=py 'fiftyone\.|datasets\.' | head -30 || echo "No API usage patterns found."Repository: DagsHub/client Length of output: 2536 π Script executed: # Check the current requirements-dev.txt and historical context
head -20 requirements-dev.txtRepository: DagsHub/client Length of output: 214 π Script executed: # Inspect actual API usage in the main files using fiftyone
head -80 dagshub/data_engine/annotation/voxel_conversion.pyRepository: DagsHub/client Length of output: 2795 π Script executed: # Check query_result.py for fiftyone and datasets usage
sed -n '60,100p' dagshub/data_engine/model/query_result.pyRepository: DagsHub/client Length of output: 987 π Web query:
π‘ Result: FiftyOne 1.17.0, released on June 8, 2026, introduces a primary breaking change regarding Python support [1][2]. Key Breaking Change: * Python 3.9 Support Removed: FiftyOne now requires Python 3.10 or later [1][2][3]. This change was the reason the release was elevated from a patch (1.16.1) to a minor version (1.17.0) [2][4]. Other Significant Changes and Fixes: * CORS Policy Update: The FiftyOne App server's CORS policy has been updated. The previous default, which used a permissive wildcard (Access-Control-Allow-Origin: *), has been removed in favor of a same-origin policy by default [1][5]. Cross-origin access is now opt-in via the FIFTYONE_ALLOWED_ORIGINS environment variable [5]. * Security Dependency Updates: Multiple dependencies were updated to resolve security vulnerabilities, including Pillow (>=12.2), strawberry-graphql (>=0.312.3), minimatch (9.0.7), protobufjs (>=7.6), and brace-expansion (>=5.0.6) [1][2]. * Bug Fixes: The release includes various fixes, such as resolving loading-screen flickering issues in the modal and 3D viewer rendering problems for grouped datasets [1]. * Performance Improvements: Improvements were made to image and mask decoding performance [1]. Citations:
π Web query:
π‘ Result: The release of huggingface/datasets version 5.0.0 (June 5, 2026) introduced one primary breaking change related to shuffling in streaming mode [1][2]. Breaking Change: Shuffling Mechanism The default shuffling mechanism for IterableDataset has been updated to use multiple input shards for the shuffle buffer [1][3]. Previously, shuffling typically operated on a single stream or shard basis; this change improves randomness and performance for streaming datasets. Migration: If you require the previous shuffling behavior, you must explicitly update your code to pass max_buffer_input_shards=1 to the IterableDataset.shuffle method [1][4]. Example: # Previous behavior (Default in < 5.0.0) dataset = dataset.shuffle(...) # Current behavior (Default in 5.0.0) dataset = dataset.shuffle(...) # Uses multiple input shards # To restore the old mechanism in 5.0.0+: dataset = dataset.shuffle(max_buffer_input_shards=1,...) Compatibility Notes: The library continues to support ds.state_dict and ds.load_state_dict for this new, improved shuffling mechanism, which also enables better dataset checkpointing [1][2]. Users should ensure their existing workflows do not rely on the specific (non-multi-shard) output order of the previous implementation unless they apply the migration fix mentioned above [1][3]. Citations:
π Script executed: # Check if datasets.shuffle is used anywhere in the codebase
rg -nP --type=py 'hf_ds\..*shuffle|datasets\..*shuffle|\.shuffle\(' | grep -E '(hf_ds|datasets)'Repository: DagsHub/client Length of output: 40 π Script executed: # Check Python version requirement in the project
fd -e 'setup.py' -e 'setup.cfg' -e 'pyproject.toml' -e '.python-version' | head -5Repository: DagsHub/client Length of output: 40 π Script executed: # Read pyproject.toml or setup.py to check Python version requirement
cat pyproject.toml 2>/dev/null | grep -A 5 'python' || cat setup.py 2>/dev/null | grep -i 'python_requires' || echo "Could not find version constraint"Repository: DagsHub/client Length of output: 87 FiftyOne 1.17.0 requires Python 3.10+, but the project supports Python 3.9+. The fiftyone upgrade introduces a breaking change: Python 3.9 support was removed and now requires Python 3.10 or later. This conflicts with the project's The datasets 5.0.0 upgrade (primary change: IterableDataset shuffle mechanism) does not affect this codebase, as no shuffle calls were found in the active code. |
||
| ultralytics==8.4.75 | ||
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
π§© Analysis chain
π Script executed:
Repository: DagsHub/client
Length of output: 316
π Script executed:
Repository: DagsHub/client
Length of output: 164
π Script executed:
Repository: DagsHub/client
Length of output: 289
π Script executed:
Repository: DagsHub/client
Length of output: 289
π Script executed:
Repository: DagsHub/client
Length of output: 89
π Script executed:
Repository: DagsHub/client
Length of output: 167
π Script executed:
Repository: DagsHub/client
Length of output: 229
π Script executed:
Repository: DagsHub/client
Length of output: 130
π Script executed:
# Read the full pyproject.toml cat pyproject.tomlRepository: DagsHub/client
Length of output: 89
π Script executed:
# Read the requirements-docs.txt file to see current dependencies cat docs/requirements-docs.txtRepository: DagsHub/client
Length of output: 217
π Script executed:
# Check the CI workflow for docs-related jobs cat .github/workflows/run-linters.yamlRepository: DagsHub/client
Length of output: 840
π Script executed:
Repository: DagsHub/client
Length of output: 853
π Script executed:
Repository: DagsHub/client
Length of output: 40
π Script executed:
Repository: DagsHub/client
Length of output: 379
π Script executed:
# Check if there are any version-specific configurations in sphinx config cat docs/source/conf.pyRepository: DagsHub/client
Length of output: 2897
π Script executed:
Repository: DagsHub/client
Length of output: 979
π Script executed:
Repository: DagsHub/client
Length of output: 217
π Script executed:
Repository: DagsHub/client
Length of output: 40
π Script executed:
# Look at the "Upgrade doc package versions" commit details git show e30a34b --statRepository: DagsHub/client
Length of output: 413
π Script executed:
# Show the full diff of the upgrade commit git show e30a34bRepository: DagsHub/client
Length of output: 2150
π Script executed:
Repository: DagsHub/client
Length of output: 479
π Script executed:
Repository: DagsHub/client
Length of output: 86
π Script executed:
# Check if the file was modified but not committed git status docs/requirements-docs.txtRepository: DagsHub/client
Length of output: 124
π Script executed:
# Check all commits between e30a34b and HEAD to find when 3.11.0 was introduced git log e30a34b..HEAD --all --oneline -- docs/requirements-docs.txtRepository: DagsHub/client
Length of output: 108
π Script executed:
# Show the current HEAD to see its relation to the commits git log -1 --onelineRepository: DagsHub/client
Length of output: 108
π Script executed:
Repository: DagsHub/client
Length of output: 40
Test the documentation build with sphinx-autodoc-typehints 3.11.0 before merge.
The version bump from 3.9.9 to 3.11.0 is minor, but the provided verification script only checks configuration and TODOsβit doesn't test the actual documentation build. The project has minimal sphinx_autodoc_typehints configuration (
typehints_use_signature_return = Trueonly), which reduces risk. However, the CI workflow currently does not run documentation builds, so compatibility should be validated locally by runningmake -C docs clean htmlormake -C docs serveto ensure no regressions in type hint rendering.