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

Update to PROJ 6.2 #411

Closed
snowman2 opened this issue Aug 26, 2019 · 3 comments · Fixed by #412
Closed

Update to PROJ 6.2 #411

snowman2 opened this issue Aug 26, 2019 · 3 comments · Fixed by #412

Comments

@snowman2
Copy link
Member

Expected release is September 1. RC0 is already out.

I am thinking about making PROJ 6.2 the minimum pin in pyproj 2.4+ due to essential fixes introduced. Any issues will moving forward with this plan?

@snowman2
Copy link
Member Author

Ref #408

@jorisvandenbossche
Copy link
Contributor

I have no problem with updating the requiring proj version as such (I can't really judge how important the new fixes / features are).

But in general, I think having a somewhat less strict pin can be useful for the broader ecosystem. Eg, if the latest pyproj version pins to the latest proj version, that means that you will also need to update other packages that depend on proj (cartopy, rasterio, ..) if you want to update your pyproj version (or wait until they have been built).

Although in practice with conda-forge this is maybe less of a problem, as if it updates a PROJ version, it will generally rebuilt the packages depending on that (if they support it).

@snowman2
Copy link
Member Author

snowman2 commented Sep 1, 2019

Thanks for the suggestion. I definitely would like to keep a less strict pin on PROJ. I think the API should be stabilizing a bit more in PROJ, so doing so in the future will be more feasible. I think rasterio/Fiona do a nice job of it. I think only moving the pin on essential new breaking changes is a good rule of thumb.

So far, these are the pin changes:

  • 2.0.0 pin to PROJ 6.0.0
  • 2.2.0 pin to PROJ 6.1.0 (always_xy)

But, I also want to balance it with keeping pyproj code clean and up to date. Moving the pin makes designing the code with the new features more flexible and makes pyproj more able to adjust to the new features.

Also, with the fix in 2.3.1, moving the PROJ pin should be okay if you have a version of python that is supported by the wheels as the wheels will have the new PROJ included.

The reason for the next pin move to 6.2.0 is due to having too many file handles open with multiple contexts. However, without multiple contexts, multithreading will likely have issues and windows wheels are unavailable.

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 a pull request may close this issue.

2 participants