Skip to content

Python and code package version support (SPEC 0) #1657

@VeckoTheGecko

Description

@VeckoTheGecko

Parcels is currently documented as having support for Python 3.8+. This however may not be the case, since our unit tests are only run on the latest version of Python. More so, Parcels currently doesn't have an approach for deprecating support for older Python versions or core packages.

I suggest that we adopt SPEC 0, either in full or partially.

This SPEC recommends that all projects across the Scientific Python ecosystem adopt a common time-based policy for dropping dependencies. From the perspective of this SPEC, the dependencies in question are core packages as well as older Python versions.

All versions refer to feature releases (i.e., Python 3.8.0, NumPy 1.19.0; not Python 3.8.1, NumPy 1.19.2).
Specifically, we recommend that:

  • Support for Python versions be dropped 3 years after their initial release.
  • Support for core package dependencies be dropped 2 years after their initial release.

SPEC 0 is adopted by pandas. xarray doesn't do SPEC 0 but follows NEP 29 as mentioned here.

SPEC 0 seems to be more a guideline than a universal thing. I suggest we at least drop support for Python 3.8, 3.9, and consider pinning minimum version requirements for our core packages.

This also allows us to take advantage of newer Python features across the codebase.

Also, I suggest that we add Ubuntu unit-testing on supported Python versions.

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    Status

    Done

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions