Python's built-in distutils module was removed in Python 3.12. Pysheds used distutils.LooseVersion to check pyproj versions. This PR uses looseversion as a drop-in replacement for this functionality, adding compatibility with Python 3.12 and minimizing potential disruption to use with older Python versions.
This PR also adds Python 3.12 to the CI run matrix, ensuring that compatibility with Python 3.12 will be preserved.
Python's built-in distutils module was removed in Python 3.12. Pysheds used
distutils.LooseVersion
to check pyproj versions. This PR uses looseversion as a drop-in replacement for this functionality, adding compatibility with Python 3.12 and minimizing potential disruption to use with older Python versions.This PR also adds Python 3.12 to the CI run matrix, ensuring that compatibility with Python 3.12 will be preserved.