iris icon indicating copy to clipboard operation
iris copied to clipboard

What are the implications of adopting NEP29?

Open jamesp opened this issue 2 years ago • 7 comments

  • [x] Review iris top-level dependencies for their NEP29 position
  • [ ] How would we implement? e.g. minimum pins
  • [ ] Document as part of the release manager process
  • [ ] Is there a NEP29 bot or tooling to help us?
  • [ ] What is our view on other package min versions? 24 or 42 months? those with erratic release schedules?
  • [ ] How do we communicate iris adopting NEP29? Internally at Met Office and externally as open source project

jamesp avatar Oct 13 '21 09:10 jamesp

Communication:

  • Python Guild presentation
  • VATools representatives to help us communicate

jamesp avatar Oct 13 '21 09:10 jamesp

@jamesp Should this be converted into a discussion? Can also maybe link to 3.2.x release discussion

pp-mo avatar Oct 18 '21 10:10 pp-mo

There is a discussion for this: #4332. This list of actions was written at the end of our peloton on 2021-10-13 to capture the specific actions we would like to address before adopting NEP29. If an item requires substantial work the list could be refined into individual issue items by those who would like to tackle them.

jamesp avatar Oct 18 '21 11:10 jamesp

Python core dependency views on NEP29:

Doing it:

  • Matplotlib, SciPy, NumPy (source: https://scikit-hep.org/supported-python-versions)
  • Cartopy (source: https://scitools.org.uk/cartopy/docs/latest/whatsnew/v0.20.html)
  • Dask (source: https://github.com/dask/community/issues/66 - looks like they're doing it at least in part because all their dependencies did it)

No indication from a fairly quick google:

  • cf-units (is this us?)
  • cf-time (is this too?)
  • netcdf4
  • python-xxhash

wjbenfold avatar Oct 19 '21 16:10 wjbenfold

Thanks @wjbenfold, first item on the list ticked off!

jamesp avatar Oct 19 '21 16:10 jamesp

cf-units (is this us?)

Yes

cf-time (is this too?)

No

trexfeathers avatar Oct 21 '21 12:10 trexfeathers

My reading of this

support at least all minor versions of Python introduced and released in the prior 42 months from the anticipated release date

is that we should be supporting all python versions newer than python3.7*. So getting the tests working with 3.9 and 3.10 should be priority.

*Since our anticipated release date for Iris3.2 is January (#4129) python3.7 will have fallen out of the 42 month window by release.

rcomer avatar Oct 30 '21 09:10 rcomer