MaartenGr / PolyFuzz

Fuzzy string matching, grouping, and evaluation.
https://maartengr.github.io/PolyFuzz/
MIT License
725 stars 68 forks source link

Error due to removal of `get_cmap` in matplotlib 3.9 #79

Open aecio opened 2 months ago

aecio commented 2 months ago

PolyFuzz is being installed as a transitive dependency, and I'm getting the following error due to the removal of matplotlib.cm.get_cmap in matplotlib 3.9.

 /opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/polyfuzz/__init__.py:1: in <module>
    from .polyfuzz import PolyFuzz
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/polyfuzz/polyfuzz.py:9: in <module>
    from polyfuzz.metrics import precision_recall_curve, visualize_precision_recall
/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/polyfuzz/metrics.py:8: in <module>
    from matplotlib.cm import get_cmap
E   ImportError: cannot import name 'get_cmap' from 'matplotlib.cm' (/opt/hostedtoolcache/Python/3.9.19/x64/lib/python3.9/site-packages/matplotlib/cm.py)

The removal is described in https://matplotlib.org/stable/api/prev_api_changes/api_changes_3.9.0.html#removals, and the suggested fix is as follows:

use matplotlib.colormaps[name] instead if you have a str. Use matplotlib.cm.ColormapRegistry.get_cmap if you have a str, None or a matplotlib.colors.Colormap object that you want to convert to a Colormap object.

MaartenGr commented 2 months ago

Thanks for sharing! There is already a PR open that considers this: https://github.com/MaartenGr/PolyFuzz/pull/78

As soon as some changes are made there, I'll make sure to up the version.