marbl-ecosys / MARBL

Marine Biogeochemistry Library
https://marbl-ecosys.github.io
Other
14 stars 25 forks source link

We are relying on old software for testing and documentation #416

Open mnlevy1981 opened 1 year ago

mnlevy1981 commented 1 year ago

As I noted in #415, the continuous integration via Github Actions fails if we try to run it on any version of python newer than 3.9:

we will need to change the setup of the documentation to move to 3.10 and then update pylint to get to 3.11 (or beyond).

Basically, we are relying on a very old software stack to build our documentation:

https://github.com/marbl-ecosys/MARBL/blob/6b2a5e41dc5b0faaf9b600c96432e2487515e878/docs/py_requirements.txt#L1-L6

Sphinx 1.7.5 is from May, 2018, and pylint 1.9.2 is only a month newer. We have pinned Sphinx because I have assumed that newer versions will render our webpages slightly differently, and have wanted to keep the webpage consistent from build to build. We have pinned pylint because different newer versions flag slightly different style choices than older ones, and I haven't wanted to update our code to avoid those (or update pylintrc to ignore them).

That said, the code that pylint checks was written at a time when we needed to support python 2 and python 3. I agree with @klindsay28's comment in https://github.com/marbl-ecosys/MARBL/pull/415#issuecomment-1430506437 that we only need to maintain python 2 support if CESM does, and I believe CESM does not... so maybe we should update to the most recent pylint and actually clean up the lines of code that are written in the py2 style?

This is an extremely low priority, but I'll come back to this issue the next time our CI breaks.