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.
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:
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.