Skip to content

Conversation

@yann1cks
Copy link
Contributor

@yann1cks yann1cks commented Dec 31, 2025

Hello @raphaelvallat,

this PR adds "official" support for newer Python versions up to 3.14 and drops support for EOL versions.

I removed one unit test for **kwargs in logistic_regression, because multi_class is not supported in newer scikit-learn versions. There is another test for kwargs anyway.

Moreover I changed the max supported scikit-learn version to <1.8, because of changes to MinCovDet in scikit-learn/scikit-learn#23162. The results of skipped correlations do not match the Matlab implementation (at least based on the unit test). Currently the function returns incorrect results for all users that use scitkit-learn 1.8, so a quick update is needed. Alternatively we could add a check in the skipped function and raise an Exception if the sklearn-version is 1.8 or above.

Unfortunately I do not have access to Matlab to compare the results and do not have the time to look into the skipped correlation function in detail. It should be possible to fix it for newer sklearn versions and use different code paths.

Based on the my problems I suggest to add unit tests against mayor and minor versions (including release candidates) of essential dependencies (pandas, scikit-learn, statsmodels, numpy, scipy). The test suite is very fast so and additional weekly run of wide test suite might help to catch similar problems early.

@codecov
Copy link

codecov bot commented Dec 31, 2025

Codecov Report

✅ All modified and coverable lines are covered by tests.
✅ Project coverage is 98.54%. Comparing base (cfaa5db) to head (15f6f60).

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #480   +/-   ##
=======================================
  Coverage   98.54%   98.54%           
=======================================
  Files          19       19           
  Lines        3362     3363    +1     
  Branches      493      493           
=======================================
+ Hits         3313     3314    +1     
  Misses         26       26           
  Partials       23       23           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • ❄️ Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

Copy link
Owner

@raphaelvallat raphaelvallat left a comment

Choose a reason for hiding this comment

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

Thank you @yann1cks, appreciate your help in keeping Pingouin up to date!

Alternatively we could add a check in the skipped function and raise an Exception if the sklearn-version is 1.8 or above.

I think this is my preferred option for now until we have time to fix the output (I also no longer have access to Matlab, so this might be a bit challenging). Could you please add this to the PR?

Based on the my problems I suggest to add unit tests against mayor and minor versions (including release candidates) of essential dependencies (pandas, scikit-learn, statsmodels, numpy, scipy). The test suite is very fast so and additional weekly run of wide test suite might help to catch similar problems early.

Agreed. Feel free to implement in this PR as well if you'd like.

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

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants