mittagessen / kraken

OCR engine for all the languages
http://kraken.re
Apache License 2.0
724 stars 130 forks source link

Python 3.8 support #537

Closed bertsky closed 1 year ago

bertsky commented 1 year ago

You just dropped 3.8 support, which broke when you required scipy 1.11, which in turn dropped Py38 due to Numpy's rather restrictive version support windows.

Since in OCR-D we rely on Py38 (as it is also the last release for which Nvidia provides Tensorflow 1.x wheels) and had a hard time recently deconflicting dependencies for that version already – is there a hard reason for Kraken to require scipy 1.11 and Python 3.8?

mittagessen commented 1 year ago

is there a hard reason for Kraken to require scipy 1.11 and Python 3.8?

The thing is that scikit-image doesn't pin their scipy dependencies while at the same time not going out of their way to ensure compatibility. So they're now pinned to versions I know that work. I can go back to pinning scipy 1.10 + scikit-image 0.19.x but we'd be stuck there, as I can't define multiple valid combinations. IIRC 1.10/0.19.x also breaks python 3.11 compatibility.

bertsky commented 1 year ago

Understood. Wow, what a(nother) nightmare.

Ok, so Flucht nach vorne is the best solution, I agree.

Next best alternative would be to maintain multiple branches of Kraken (each with their own pinned scipy/skimage versions) which would obviously be overkill.

So be it, thanks for clarifying!

mittagessen commented 1 year ago

Yeah, it's a bit annoying. I'm somewhat keen to get rid of shapely and scikit-image entirely because of these recurrent issues but that's probably only going to happen with the next iteration of the segmenter.