Skip to content

Conversation

@scikit-learn-bot
Copy link
Contributor

Update lock files.

Note

If the CI tasks fail, create a new branch based on this PR and add the required fixes to that branch.

@github-actions
Copy link

github-actions bot commented Nov 3, 2025

✔️ Linting Passed

All linting checks passed. Your pull request is in excellent shape! ☀️

Generated for commit: 7348077. Link to the linter CI: here

@lesteve
Copy link
Member

lesteve commented Nov 3, 2025

Hmmm maybe an OpenML issue/glitch or mismatch with CircleCI locally cached file build log:

    Unexpected failing examples (2):
    
        ../examples/miscellaneous/plot_display_object_visualization.py failed leaving traceback:
    
        Traceback (most recent call last):
          File "/home/circleci/project/examples/miscellaneous/plot_display_object_visualization.py", line 35, in <module>
            X, y = fetch_openml(data_id=1464, return_X_y=True)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/home/circleci/project/sklearn/utils/_param_validation.py", line 218, in wrapper
            return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^
          File "/home/circleci/project/sklearn/datasets/_openml.py", line 1033, in fetch_openml
            data_description = _get_data_description_by_id(data_id, data_home)
                               ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/home/circleci/project/sklearn/datasets/_openml.py", line 368, in _get_data_description_by_id
            json_data = _get_json_content_from_openml_api(
                        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/home/circleci/project/sklearn/datasets/_openml.py", line 259, in _get_json_content_from_openml_api
            raise OpenMLError(error_message)
        sklearn.datasets._openml.OpenMLError: Dataset with data_id 1464 not found.
    
        ../examples/model_selection/plot_tuned_decision_threshold.py failed leaving traceback:
    
        Traceback (most recent call last):
          File "/home/circleci/project/examples/model_selection/plot_tuned_decision_threshold.py", line 29, in <module>
            diabetes = fetch_openml(data_id=37, as_frame=True, parser="pandas")
                       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
          File "/home/circleci/project/sklearn/utils/_param_validation.py", line 218, in wrapper
            return func(*args, **kwargs)
                   ^^^^^^^^^^^^^^^^^^^^^
          File "/home/circleci/project/sklearn/datasets/_openml.py", line 1135, in fetch_openml
            bunch = _download_data_to_bunch(
                    ^^^^^^^^^^^^^^^^^^^^^^^^
          File "/home/circleci/project/sklearn/datasets/_openml.py", line 689, in _download_data_to_bunch
            X, y, frame, categories = _retry_with_clean_cache(
                                      ^^^^^^^^^^^^^^^^^^^^^^^^
          File "/home/circleci/project/sklearn/datasets/_openml.py", line 78, in wrapper
            return f(*args, **kw)
                   ^^^^^^^^^^^^^^
          File "/home/circleci/project/sklearn/datasets/_openml.py", line 532, in _load_arff_response
            raise ValueError(
        ValueError: md5 checksum of local file for https://api.openml.org/data/v1/download/37/diabetes.arff does not match description: expected: 3cbaa3e54586aa88cf6aacb4033e4470 but got 87899c4863968a25a3dcd6f241ee91c3. Downloaded file could have been modified / corrupted, clean cache and retry...
    
    -------------------------------------------------------------------------------

I can not reproduce locally.

@lesteve
Copy link
Member

lesteve commented Nov 4, 2025

Oh well there is a conflict now since another PR updating the lock-files was merged. I guess we can leave this open and the PR will be updated next Monday.

@scikit-learn-bot scikit-learn-bot force-pushed the auto-update-lock-files-main branch from a8866a9 to 7348077 Compare November 10, 2025 05:06
@lesteve
Copy link
Member

lesteve commented Nov 10, 2025

Hmmm it looks like a thing in pytest 9.0 with raise unittest.case.SkipTest pytest-dev/pytest#13895.

@betatim
Copy link
Member

betatim commented Nov 10, 2025

Looks like pytest-dev/pytest#13912 will restore this functionality. This would be nice for us. Maybe we should look into moving to using pytest.skip() everywhere to allow pytest to remove nose related stuff?

@lesteve
Copy link
Member

lesteve commented Nov 10, 2025

Given the number of projects that were affected, I guess it makes sense if pytest end up reverting the change. I guess we'll see what their plan is afterwards ...

Note that some of our non-test code should not depend on pytest so we could need to do something like the following in our non-test code (also in sklearn/utils/tests/test_estimator_checks.py which should run without pytest):

def skip_test(msg):
    pytest = sys.modules['pytest']
    if pytest is not None:
        pytest.skip(msg)
    else:
        raise SkipTest(msg)    

@betatim
Copy link
Member

betatim commented Nov 11, 2025

Good point about the "pytest isn't a requirement" angle.

@adrinjalali
Copy link
Member

So are we waiting for another week for another round of the bot on this PR?

@lesteve
Copy link
Member

lesteve commented Nov 12, 2025

So are we waiting for another week for another round of the bot on this PR?

I am reading disappointment in your comment @adrinjalali 😝. Pytest 9.0.1 has been released 2 hours ago which should fix it. I tried to re-trigger the update lock file workflow manually to see what this would do 🤞.

@lesteve
Copy link
Member

lesteve commented Nov 12, 2025

So it updated all the other lock-file PR but not this one (i.e. the main CI one), apparently the latest pip and pip-tools version are not compatible 🙄 jazzband/pip-tools#2252. As many things, not hard to work-around but I'll stop here for today 😉.

Details

stderr:
Traceback (most recent call last):
  File "/usr/share/miniconda/envs/pip-tools-python3.12.5/bin/pip-compile", line 10, in <module>
    sys.exit(cli())
             ^^^^^
  File "/usr/share/miniconda/envs/pip-tools-python3.12.5/lib/python3.12/site-packages/click/core.py", line 1462, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/miniconda/envs/pip-tools-python3.12.5/lib/python3.12/site-packages/click/core.py", line 1383, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/usr/share/miniconda/envs/pip-tools-python3.12.5/lib/python3.12/site-packages/click/core.py", line 1246, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/miniconda/envs/pip-tools-python3.12.5/lib/python3.12/site-packages/click/core.py", line 814, in invoke
    return callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/miniconda/envs/pip-tools-python3.12.5/lib/python3.12/site-packages/click/decorators.py", line 34, in new_func
    return f(get_current_context(), *args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/miniconda/envs/pip-tools-python3.12.5/lib/python3.12/site-packages/piptools/scripts/compile.py", line 392, in cli
    constraints.extend(
  File "/usr/share/miniconda/envs/pip-tools-python3.12.5/lib/python3.12/site-packages/piptools/_compat/pip_compat.py", line 115, in parse_requirements
    install_req = copy_install_requirement(install_req)
                  ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/share/miniconda/envs/pip-tools-python3.12.5/lib/python3.12/site-packages/piptools/utils.py", line 503, in copy_install_requirement
    "use_pep517": template.use_pep517,
                  ^^^^^^^^^^^^^^^^^^^
AttributeError: 'InstallRequirement' object has no attribute 'use_pep517'

@webknjaz
Copy link

You can use v7.5.2 now.

@lesteve
Copy link
Member

lesteve commented Nov 13, 2025

You can use v7.5.2 now.

Nice thanks for the heads-up 🙏!

For completeness, we will also need that pytest 9.0.1 is available in conda-forge. The automated PR conda-forge/pytest-feedstock#194 was opened a few hours ago.

@lesteve
Copy link
Member

lesteve commented Nov 14, 2025

Just double-checked and pytest 9.0.1 is available in conda-forge now, so we will see on Monday what happens with the lock-file update 🤞

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Projects

None yet

Development

Successfully merging this pull request may close these issues.

6 participants