Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Rethink core scientific package dependency support #309

Open
folmos-at-orange opened this issue Dec 12, 2024 · 0 comments
Open

Rethink core scientific package dependency support #309

folmos-at-orange opened this issue Dec 12, 2024 · 0 comments
Labels
Status/Draft The issue is still not well defined Type/DevChore Repository maintainance, CI/CD or non user-facing refactorings

Comments

@folmos-at-orange
Copy link
Member

folmos-at-orange commented Dec 12, 2024

Description

Currently, our policy for supporting core python packages (scikit-learn, pandas, numpy [and we should add scipy]) is very lax.

Specifically, we take from our Python support policy the minimal python version supported, and then take the minimal version of these core packages that is supported for that python version.

Currently this gives (by looking at conda search results):

  • Python >= 3.8 (14/10/2020)
  • scikit-learn >= 0.23.2 (19/05/2020)
  • scipy >= 1.5.2 (24/07/2020)
  • numpy >= 1.19.2 (20/06/2020)
  • pandas >= 1.1.3 (05/10/2020)

As we see, the support windows for these packages is of the same order as of the python support version. However these packages evolve faster than python, and posterior versions support a given Python version and so the trade-off between compatibility and maintainability is too biased to compatibility.

The Scientific Python Community has proposed SPEC-0000, a standard way to decide how to support core scientific packages. This is however very constrained with regards to Python support.

Questions/Ideas

  • A proposal:
    • Keep our current Python support policy
    • Take the support policy of SPEC-0000 for core scientific packages.
      • If for a given Python version a SPEC-0000 is not possible for a package take the closest version to that of SPEC-0000
    • This gives for Python 3.8
      • scikit-learn >= 1.3.0
      • scipy >= 1.10.0
      • numpy >= 1.24.0 (not SPEC-000 compliant)
      • pandas >= 2.0.0
    • And for Python 3.9 (fully SPEC-000 compliant)
      • scikit-learn >= 1.3.0
      • scipy >= 1.10.0
      • numpy >= 1.26.0
      • pandas >= 2.0.0
    • For a given release we should check the SPEC-0000 to check which versions to drop.
@folmos-at-orange folmos-at-orange added Status/Draft The issue is still not well defined Type/DevChore Repository maintainance, CI/CD or non user-facing refactorings labels Dec 12, 2024
@folmos-at-orange folmos-at-orange changed the title Rethink core package dependency support Rethink core scientific package dependency support Dec 12, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Status/Draft The issue is still not well defined Type/DevChore Repository maintainance, CI/CD or non user-facing refactorings
Projects
None yet
Development

No branches or pull requests

1 participant