Labelings / Labeling

BSD 2-Clause "Simplified" License
4 stars 2 forks source link

Pillow<10 dependency prevents compatibility with Python 3.12+ #17

Closed ctrueden closed 2 days ago

ctrueden commented 1 month ago

Pillow is now on version 10.3.0, which includes support for Python 3.12.

From imagej/pyimagej#306

[Labeling] relies on pillow<10. This constrains installation to Pillow v9.5, which prevents compatibility with Python 3.12 as well as with other popular image handling libraries such as imageio, that also depend on Pillow.

@jdeschamps Would you have time to make a new release of this project with the dependencies fixed, so that PyImageJ can work with 3.12? Or do you think we should go with @BptGrm's idea of forking the Labeling code into pyimagej itself?

jdeschamps commented 1 month ago

Hi @ctrueden

We will look into it next week!

jdeschamps commented 1 month ago

Yes, I don't see any reason to constrain the dependencies here.

I relaxed them: https://github.com/Labelings/Labeling/commit/d160bc685199e44cf3bb52e27878ff718c71b2a9

jdeschamps commented 1 month ago

v0.1.14 released 🎉

elevans commented 3 weeks ago

Hi @jdeschamps,

I'm trying to cut a new release of PyImageJ and I'm running into CI failures when trying to pull in labeling version 0.1.14.

   └─ labeling [0.1.12|0.1.14] would require
      └─ pillow <10  with the potential options
         ├─ pillow [3.0.0|3.2.0|...|6.2.1] would require
         │  └─ python [2.7* |>=2.7,<2.8.0a0 ], which can be installed;
         ├─ pillow [3.0.0|3.2.0|...|5.3.0] would require
         │  └─ python [3.5* |>=3.5,<3.6.0a0 ], which can be installed;
         ├─ pillow [3.0.0|3.4.2|...|5.1.0] would require
         │  └─ python 3.6* , which can be installed;
         ├─ pillow 3.2.0 would require
         │  └─ freetype 2.5* , which does not exist (perhaps a missing channel);

When looking at the conda-forge/labeling-feedstock recipe I can see that pillow<10 is still pinned. Our builds are pulling labeling from conda-forge instead of pypi directly. Can you update this to no longer pin pillow <10?

ctrueden commented 3 weeks ago

Ah yes, the duplicate dependency management between conda-forge recipes and the project itself. Fun stuff. I filed conda-forge/labeling-feedstock#6 to hopefully help with this.

elevans commented 3 weeks ago

Doh :facepalm:! I should have done that. Thanks for filing that PR Curtis :).

elevans commented 3 days ago

This issue can be safely closed now with version 0.1.14 on conda-forge.