GenericMappingTools / pygmt

A Python interface for the Generic Mapping Tools.
https://www.pygmt.org
BSD 3-Clause "New" or "Revised" License
758 stars 220 forks source link

Check Python 3.8 compatibility #340

Closed seisman closed 4 years ago

seisman commented 5 years ago

Description of the problem

Python 3.8 is scheduled to be released on 2019-10-14. We need to check if pygmt works well with Python 3.8.

weiji14 commented 5 years ago

Not sure whether our upstream dependencies have Python 3.8 compatibility but won't hurt to try.

Referencing similar previous issue for Python 3.7 #190.

leouieda commented 5 years ago

We can wait for conda-forge to start building packages for it. No one is going to update so soon and we probably won't have any issues since we don't use the parts of the code base that change a lot.

weiji14 commented 4 years ago

Just been cross-referencing our conda requirements at https://github.com/GenericMappingTools/pygmt/blob/63d23d4e0702edb94234f10d23d210cdf1adb54b/requirements.txt#L2-L6 with https://conda-forge.org/status/ and I think most packages have Python 3.8 compatibility now? Will need to test things out to be sure. Adding this to the v0.1.0 milestone.

Also, it would be good to take note of the Python version deprecation policies at PEP 606 -- Python Compatibility Version, and NEP 29 — Recommend Python and Numpy version support as a community policy standard. The latter recommends supporting at least two of the latest minor versions of Python and the inclusion of the following text somewhere in our project's development guidelines:

This project supports:

  • All minor versions of Python released 42 months prior to the project, and at minimum the two latest minor versions.
  • All minor versions of numpy released in the 24 months prior to the project, and at minimum the last three minor versions.

which in practice means:

On Jun 23, 2020 drop support for Python 3.6 (initially released on Dec 23, 2016) On Dec 26, 2021 drop support for Python 3.7 (initially released on Jun 27, 2018) On Apr 14, 2023 drop support for Python 3.8 (initially released on Oct 14, 2019)

See also http://xarray.pydata.org/en/stable/installing.html#minimum-dependency-versions