Work in the overall scientific Python ecosystem to sunset Python version 2.7 is underway in earnest, so the time has come for Unidata's Python team to start planning the timeline for our own software (MetPy and Siphon) to do the same. Here is a small sampling of the plans for Python 2.7 for software we depend upon:
- Core Python developers will stop support for Python 2.7 January 1, 2020
- NumPy feature releases will support only Python 3 starting January 1, 2019, and support for the last release supporting Python 2 will end January 1, 2020.
- XArray will drop 2.7 January 1, 2019 as well
- Matplotlib's 3.0 release, tentatively Summer 2018, will be Python 3 only; the current 2.2 release will be the last long term release that supports 2.7 and support for this version ceases January 1, 2020.
Given these plans, and based on preliminary input from Unidata's Users committee, we propose to drop support for Python 2.7 in the Fall of 2019. That implies that releases of MetPy and Siphon in the Fall of 2019 will be the first that support only Python 3. Releases before that (Spring or Summer 2019) will be the last that support Python 2.7. Given the relatively nascent status of the MetPy and Siphon packages, and the fact that most dependencies will be completely stopping support for 2.7 on 1 January 2020, we do not intend that the versions of MetPy and Siphon that work with Python 2.7 have any extended support.
We welcome feedback about this at the related issues for MetPy and Siphon. Note that we don't have the capacity to maintain all of the upstream dependencies, so some of this transition is beyond our control.