Skip to content

Proposal: Drop support for older version of Python #192

@Joseph-Edwards

Description

@Joseph-Edwards

Presently, we try and provide support for any released version of Python that is not end-of-life. At the time of writing, this is versions 3.8–3.12. I was looking into how NumPy do things and came across the Scientific Python Ecosystem Coordination (SPEC) project. They have a list of documents that "provide recommendations for projects in the scientific Python ecosystem".

SPEC 0 (Minimum Supported Dependencies) says:

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

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

I propose that, like iPython, Matplotlib, NetworkX, NumPy, scikit-image, SciPy and more, we adopt this SPEC. It would allow us to use more up-to-date Python features, and give us a more objective perspective on which dependency-related issues are worth resolving.

Under this SPEC, we would support Python >= 3.10 (dropping support for 3.10 in October 2024) and NumPy >= 1.24.

I'm happy to hear any thoughts on this!

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions