matthewwithanm / pilkit

Utilities and processors built for, and on top of PIL
BSD 3-Clause "New" or "Revised" License
196 stars 54 forks source link

Drop support for python < 3.7 #63

Open dvzrv opened 1 year ago

dvzrv commented 1 year ago

Hi! I package this project for Arch Linux.

I would like to ask, whehter it would be possible to drop support for Python versions that are no longer supported by upstream. Currently that's anything below 3.7: https://www.python.org/downloads/

Personally, I do not believe it is worth maintaining support for such old versions, as it introduces a lot of workarounds for maintaining compatibility. As a plus: Issues like #54 will be much easier to solve.

dvzrv commented 1 year ago

@vstoykov @matthewwithanm ping

vstoykov commented 1 year ago

hey @dvzrv in #69 python versions for which we are testing is changed. It is still Python 3.6+ for compatibility reasons. The Python 2 and Python3.5 are removed from the classifiers, but the changes will not make the code stop working there. Simply we no longer test against these versions and in future commits braking changes can be safely introduced.

I know that at this moment even Python 3.7 is out of official support, but still the code is not using some fancy new features and is compatible.

Is this making any problems in packaging the app for Arch Linux even after #54 is fixed?

dvzrv commented 1 year ago

We will be able to drop mock from the test suite for this package finally! We only support latest stable Python on Arch Linux, FWIW. Hence a release also targeting the current versions would be more than appreciated.

vstoykov commented 1 year ago

There is new release on PyPi with official support for till 3.11. I tested it with 3.12 locally but because it's still pre-release I did not added it to the test matrix in the CI. The new version also now has fixes to work with Pillow 10. In the test matrix now different versions of Pillow will also be tested because Pillow is now more active from changing the API than back in the days.

Also I did not explicitly dropped support for older versions of Python but new contributions can eventually break something because we are not testing older versions (<3.6).