DistrictDataLabs / yellowbrick

Visual analysis and diagnostic tools to facilitate machine learning model selection.
http://www.scikit-yb.org/
Apache License 2.0
4.3k stars 559 forks source link

Allow Numpy 1.20+ #1184

Closed akx closed 3 years ago

akx commented 3 years ago

This follows up on #1176 to also allow Numpy 1.20+ for end users of the library.

The end user problem is that Pip's new dependency resolver can get very ornery when an user attempts to install a new Numpy alongside Yellowbrick; if one is unlucky, it'll spend a long time trying to find a constellation of (various data science) packages that would accept Numpy < 1.20 to satisfy the pin in Yellowbrick's requirements.

This places the onus of properly locking dependency versions (with e.g. pip-tools or poetry) on the end user, as it should be.

I have made the following changes:

  1. Removed the <1.20 numpy pin from the requirements.txt files that had been untouched by #1176.

I've elided editing the changelog here, since it looks like there have been several other changes since 1.3.post1 anyway, and those need to be edited in too...

codecov-commenter commented 3 years ago

Codecov Report

Merging #1184 (4b501d3) into develop (783069e) will increase coverage by 0.01%. The diff coverage is n/a.

Impacted file tree graph

@@             Coverage Diff             @@
##           develop    #1184      +/-   ##
===========================================
+ Coverage    90.42%   90.44%   +0.01%     
===========================================
  Files           90       90              
  Lines         5076     5076              
===========================================
+ Hits          4590     4591       +1     
+ Misses         486      485       -1     
Impacted Files Coverage Δ
yellowbrick/classifier/class_prediction_error.py 92.85% <0.00%> (+1.78%) :arrow_up:

Continue to review full report at Codecov.

Legend - Click here to learn more Δ = absolute <relative> (impact), ø = not affected, ? = missing data Powered by Codecov. Last update 783069e...4b501d3. Read the comment docs.

bbengfort commented 3 years ago

Hi @akx thanks for the PR - I can't remember why we had numpy pinned this way; there was some issue that was causing the YB tests to fail. I've bumped the YB tests up to numpy 1.21 to see if the issue has been resolved; I'll run those tests locally then check if I can update your branch with the changes; if the tests work, we can merge this PR. Thanks for contributing to Yellowbrick!

akx commented 3 years ago

@bbengfort Anytime! This actually came up with a @valohai customer who was having trouble with a requirements file pip's new dependency resolver was taking forever to solve :)

hosungs commented 2 years ago

Hello, I'm wondering when this change will be released and available at the pypi repo? Should I file an issue for that?

@craigcitro FYI

--- Edited ---

I filed #1214 requesting a new release for this fix.