-
Notifications
You must be signed in to change notification settings - Fork 560
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Minimal supported GEOS version ? #1000
Comments
I never actually tried compiling PyGEOS with GEOS 3.4, but there is a fat chance that there is at least one missing symbol in the CAPI. So I am 👎 on keeping GEOS <3.5 support. |
A minimum GEOS 3.5 (released 2015-08-15) for shapely 2.0 is fine with me. Users with older GEOS versions (e.g. find some packaged distros here) would need to stick to shapely<2.0 releases. |
Looking at the distros link, I already mentioned Ubuntu 16.04 that has GEOS 3.5 (16.04 is currently the oldest still supported version). Personally, I think using Ubuntu LTS as a benchmark what to support is fine (meaning, we can require GEOS 3.5). |
(and again, we are not even testing anything older than GEOS 3.5, also in Shapely, which is also a good reason to require GEOS 3.5 ..) |
As an update, I think it would be sensible to set GEOS 3.6 as the minimum version from April 2021, when Ubuntu 16 is out of support. This is consistent with pygeos/pygeos#125 |
In the end, we kept GEOS 3.5 as the minimum version for Shapely 2.0. But going forward, we should drop that version for Shapely 2.1. Given that Ubuntu 18.04 LTS, which includes GEOS 3.6, is coming to end of life in April 2023, I would say that we could directly go to GEOS 3.7 (released 2018-09-10) as minimum version. Ubuntu 20.04 includes GEOS 3.8.0, oldest listed Debian (10) has GEOS 3.7.1. |
April 2024 here, with early shapely 2.1 planning. Currently the minimum GEOS version in |
What is the minimal GEOS version that Shapely still (aims to) supports?
At the moment, Shapely starts testing for GEOS 3.5 and up on CI, but actually has code in
shapely/geos.py
going back to GEOS 3.0, and requires GEOS 3.3 as a minimum in setup.py.In PyGEOS, we also test (and have workarounds) going back to GEOS 3.5, and have certain functionality that only works for more recent GEOS versions (raises an error for older versions, see eg the decorator used here for
get_z
: https://github.com/pygeos/pygeos/blob/32397d998d2fc7fe3afef673539dace9fd8efe7f/pygeos/geometry.py#L251).We did have some discussion related to this at pygeos/pygeos#116, and @caspervdw gave the argument of supporting at minimum GEOS 3.5 since this is the GEOS version included in Ubuntu 16.04 (which reaches end of life in April 2021). Supporting GEOS versions back to 3.5 is not that big of a burden, because we need the machinery for version checks anyway to support functionalities added in the latest GEOS versions anyway.
I don't think PyGEOS actively checks the used GEOS version and raises for older GEOS < 3.5 versions (@caspervdw is that correct?).
Are we fine to also have GEOS 3.5 as a minimum supported version in Shapely? And thus not have workarounds for older versions, as is the case now (and next year, we can then discuss moving to GEOS 3.6 as a minimum)
(I would say that in practice, this is the only option if we don't even test older versions)
The text was updated successfully, but these errors were encountered: