Skip to content
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

Move project metadata to setup.cfg #1533

Closed
wants to merge 1 commit into from
Closed

Conversation

mwtoews
Copy link
Member

@mwtoews mwtoews commented Sep 11, 2022

This PR is for @sebastic to endorse or say it is not needed, following a recent discussion pyproj4/pyproj#1134 (reply in thread) . This applies only to shapely-2.0, which has been under development for a few years, but will hopefully reach a final release perhaps this year (although no fixed deadline has been formally discussed). Is there an approximate date when setuptools>=61 will be in debian stable?

While modernizing project metadata, I had picked #1426 instead of #1430 considering recent PyPA developments, but forgetting the constraints for binary packaging (i.e. fixed package versions, no pip/network abilities). It is a bit annoying, as I had thought that pyproject.toml was the final spot to put project metadata.

@coveralls

This comment was marked as off-topic.

@sebastic
Copy link
Contributor

Using setup.cfg for the time being until downstreams have setuptools 61+ is the way to go if you ask me.

Because Shapely 2.0 will break dependent projects like Cartopy, it will be uploaded to Debian experimental first until most of the rdeps have releases which support it. The freeze in preparation for the next stable release is scheduled for February 2023, so not a whole lot of time for rdeps to get their Shapely 2.0 support released.

We can keep python-shapely 2.0 in experimental until setuptools 61+ is in unstable and the Shapely rdeps support 2.0, and move it to unstable sometime during the trixie development cycle (after the bookworm release).

Is there an approximate date when setuptools>=61 will be in debian stable?

Let's ask the maintainer: @doko42, do you plan get setuptools 61+ into bookworm?

@jorisvandenbossche
Copy link
Member

Because Shapely 2.0 will break dependent projects like Cartopy, it will be uploaded to Debian experimental first until most of the rdeps have releases which support it.

I took a quick look at how it breaks Cartopy, and my hope is that it could be fixed (with some small fixes on both sides, SciTools/cartopy#2076 (comment)).
Do you know of other rdeps that break because of shapely 2.0? (is there a way for me to check which are the rdeps? (I don't see this at https://packages.debian.org/sid/python3-shapely)

@mwtoews I think this PR is certainly fine for the time being.

@sebastic
Copy link
Contributor

Do you know of other rdeps that break because of shapely 2.0?

I'm not aware of others at the moment, but the new major version suggests that all rdeps will need changes.

(is there a way for me to check which are the rdeps? (I don't see this at https://packages.debian.org/sid/python3-shapely)

The rdeps in Debian are included in the transition tracker:

https://linuxminded.nl/debian/gis-transitions/html/python-shapely.html#good,bad,partial,unknown,!notintesting

@jorisvandenbossche
Copy link
Member

the new major version suggests that all rdeps will need changes.

There are actually not that many breaking changes (except for the STRtree interface), assuming the package has been updated for those changes that 1.8 warned about (but yeah, I know that this assumption will not be true in many cases). This are the known breaking changes: https://shapely.readthedocs.io/en/latest/release/2.x.html#breaking-api-changes (although testing cartopy with shapely 2.0 revealed we also broke weakref).

(cartopy was actually already updated to fix all the things shapely 1.8 warned about, but was still breaking with shapely 2.0 because it uses some internal shapely APIs)

The rdeps in Debian are included in the transition tracker:

https://linuxminded.nl/debian/gis-transitions/html/python-shapely.html#good,bad,partial,unknown,!notintesting

Thanks, that's useful! Checking those will be interesting to see if we have more (unknown) breaking changes.

@jorisvandenbossche
Copy link
Member

@mwtoews I think this can be undrafted?

@mwtoews mwtoews marked this pull request as ready for review September 21, 2022 07:43
@mwtoews
Copy link
Member Author

mwtoews commented Sep 21, 2022

My only hesitation is the timing of shapely 2.0's release (or release candidate) and if setuptools 61+ gets into debian bookworm. This is because I'd rather not unnecessarily move this metadata more than a few times.

@sebastic
Copy link
Contributor

setuptools 65.3.0 is now in unstable, but is prevented from migrating to testing (bookworm) due to breaking rdeps:

https://tracker.debian.org/pkg/setuptools

@EwoutH
Copy link
Contributor

EwoutH commented Oct 30, 2022

Any update on this effort? It looks like it blocks #1564, so I would like to know if we can move this forward!

@mwtoews
Copy link
Member Author

mwtoews commented Oct 30, 2022

Hi @EwoutH it seems that last week setuptools in debian testing was upgraded, so this PR may not be needed. However, testing with a docker image, I see it does not work without possible modifications to debian/rules. Either way, we'll make a call before the first release candidate two weeks from now, on November 14.

Update: it builds with debian bookworm (testing), I had made an error before. Thanks @sebastic for tracking development releases!

@jorisvandenbossche
Copy link
Member

@sebastic FYI, shapely 2.0 no longer depends on descartes, so that could be removed as a dependency from https://packages.debian.org/source/experimental/python-shapely

@sebastic
Copy link
Contributor

requirements-dev.txt still includes descartes:

$ grep descartes requirements-dev.txt 
descartes==1.0.1

@jorisvandenbossche
Copy link
Member

Yes, that was just fixed -> #1591

@mwtoews
Copy link
Member Author

mwtoews commented Nov 14, 2022

Closing this PR as it's fortunately not needed! It was a close one too!

@mwtoews mwtoews closed this Nov 14, 2022
@mwtoews mwtoews deleted the to-setup-cfg branch November 14, 2022 09:01
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

5 participants