NCAR / CESM_postprocessing

Project repository for the CESM python based post-processing code, documentation and issues tracking.
77 stars 45 forks source link

Move from python 2 to python 3 #185

Open mnlevy1981 opened 5 years ago

mnlevy1981 commented 5 years ago

Python 2 is only going to be supported through the end of 2019, and many packages are moving development to python 3 only sooner than that. For example, NumPy says

Until December 31, 2018, all NumPy releases will fully support both Python2 and Python3.

Starting on January 1, 2019, any new feature releases will support only Python3.

The last Python2 supporting release will be designated as a long term support (LTS) release, meaning that we will continue to merge bug fixes and make bug fix releases for a longer period than usual. Specifically, it will be supported by the community until December 31, 2019

So I think it might be wise to start thinking about moving from Python 2.7 to 3.6 or 3.7.

bertinia commented 5 years ago

Here's a preliminary list of what needs to be done for python3:

nocollier commented 5 years ago

ILAMB is not python3 ready, but this is also on my radar. Given that computing centers have moved to having users provide their own python environments, holding on to python 2.7 isn't that important anymore.

Nate

On Fri, Dec 7, 2018 at 3:09 PM Alice Bertini notifications@github.com wrote:

Here's a preliminary list of what needs to be done for python3:

  • clone the latest python3 version of ncar_pylib for both cheyenne and DAV to check that the necessary post-processing module dependencies are installed
  • make sure the external subtree modules are python3 compatible; includes ASAPPyTools, PyAverager, PyReshaper, PyConform, and ILAMB.
  • make sure all wrapper scripts are python3 compatible

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/NCAR/CESM_postprocessing/issues/185#issuecomment-445350968, or mute the thread https://github.com/notifications/unsubscribe-auth/ABRRB9KtnXg4N-nKeFYRhl-EUlfWDBEdks5u2srygaJpZM4ZItYg .

kmpaul commented 5 years ago

ASAPTools is already Py3 ready. The other tools need to be upgraded, but that should not be hard with packages like six and modernize. Plus, they are smaller codebases.

nocollier commented 5 years ago

Just FYI, I pushed two new ILAMB versions to PyPI and the master branch of the ILAMB repository:

See https://bitbucket.org/ncollier/ilamb for details.

Nate

On Fri, Dec 7, 2018 at 4:03 PM Kevin Paul notifications@github.com wrote:

ASAPTools is already Py3 ready. The other tools need to be upgraded, but that should not be hard with packages like six and modernize. Plus, they are smaller codebases.

— You are receiving this because you commented. Reply to this email directly, view it on GitHub https://github.com/NCAR/CESM_postprocessing/issues/185#issuecomment-445364731, or mute the thread https://github.com/notifications/unsubscribe-auth/ABRRB6uaXlpuTmjBB6c2Y7ER_ZeDhOwCks5u2tevgaJpZM4ZItYg .

mnlevy1981 commented 5 years ago

This is just an example of what @kmpaul mentioned in his comment in December, but @klindsay28 pointed out that PyConform is not py3-compatible at this time. From the readme:

Additionally, the entire package is designed to work with Python v2.7 and up to (but not including) Python v3.0.