TODO before final release:
TODO items for the Shapely / PyGEOS merge:
Opening an issue to discuss the more practical aspects of the work on Shapely 2.0 (shapely/shapely-rfc#1). Changes needed in Shapely 1.8 (deprecations, etc) related to this are tracked in #932
The general route I am now trying out is to, iteratively, refactor the shapely code in-place. But @caspervdw mentioned at #782 also the option of starting "fresh" (for the code, not for the existing tests and things like that).
For both ways, the work can be done in a separate branch, and then using the normal PR workflow (with PRs targetting that branch). This branch has already been created: https://github.com/Toblerity/Shapely/tree/shapely-2.0 (but is already a bit behind master).
First question: how to keep this branch updated while master is still for 1.8? I would like to propose to initially rebase shapely-2.0 regularly on master. In an initial phase where there is still a lot of activity for 1.8 on master and only few people contribute to the shapely-2.0 branch, this seems easier / cleaner (there are eg also still some things to be merged in master on which we depend for shapely 2.0). Once the development focus shifts more to shapely-2.0, we can use the normal merging strategy already being used for the different branches right now. Does that sound good?
(I can volunteer to do the rebases / fix conflicts :-))
At some point we should probably move the source code of PyGEOS into Shapely (I would propose to do this in its entirety, and keeping its commit history (for proper attribution), and then clean-up / integrate in subsequent steps).
But initially, I am actually already testing some things (eg the Geometry subclasses) with using pygeos as an external package.
cc @sgillies @mwtoews @tomplex @caspervdw
Practical steps (to further fill in while we go, but to keep track of the items we already have/know):
TODO before final release:
TODO items for the Shapely / PyGEOS merge:
shapelypackage -> Minimal working shapely package with pygeos code included #1237strtree.pyfiles -> API: update STRtree interface (merge shapely/pygeos features) #1251setup.pyparameters -> Consolidate setup.py metadata, remove old setup.py files #1376/teststo/shapely/tests-> #1257, #1275, ...Opening an issue to discuss the more practical aspects of the work on Shapely 2.0 (shapely/shapely-rfc#1). Changes needed in Shapely 1.8 (deprecations, etc) related to this are tracked in #932
The general route I am now trying out is to, iteratively, refactor the shapely code in-place. But @caspervdw mentioned at #782 also the option of starting "fresh" (for the code, not for the existing tests and things like that).
For both ways, the work can be done in a separate branch, and then using the normal PR workflow (with PRs targetting that branch). This branch has already been created: https://github.com/Toblerity/Shapely/tree/shapely-2.0 (but is already a bit behind master).
First question: how to keep this branch updated while master is still for 1.8? I would like to propose to initially rebase
shapely-2.0regularly on master. In an initial phase where there is still a lot of activity for 1.8 on master and only few people contribute to theshapely-2.0branch, this seems easier / cleaner (there are eg also still some things to be merged in master on which we depend for shapely 2.0). Once the development focus shifts more to shapely-2.0, we can use the normal merging strategy already being used for the different branches right now. Does that sound good?(I can volunteer to do the rebases / fix conflicts :-))
At some point we should probably move the source code of PyGEOS into Shapely (I would propose to do this in its entirety, and keeping its commit history (for proper attribution), and then clean-up / integrate in subsequent steps).
But initially, I am actually already testing some things (eg the Geometry subclasses) with using pygeos as an external package.
cc @sgillies @mwtoews @tomplex @caspervdw
Practical steps (to further fill in while we go, but to keep track of the items we already have/know):
shapely.geos.lgeosand its usage (use pygeos where needed instead) -> [2.0] Remove shapely.geos.lgeos ctypes interface to GEOS #1163mainbranch (-> Merge shapely-2.0 branch into main #1211)