Skip to content

Rethink core scientific package dependency support #309

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

Open
folmos-at-orange opened this issue Dec 12, 2024 · 1 comment
Open

Rethink core scientific package dependency support #309

folmos-at-orange opened this issue Dec 12, 2024 · 1 comment
Labels
Size/Days Some days of work Status/ReadyForDev The issue is ready to be developed or to be investigated deeply

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 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
@popescu-v popescu-v added this to the 10.3.0.1 milestone Feb 10, 2025
@popescu-v popescu-v added Status/ReadyForDev The issue is ready to be developed or to be investigated deeply Priority/0-High To do now Size/Days Some days of work and removed Status/Draft The issue is still not well defined labels Feb 10, 2025
@folmos-at-orange folmos-at-orange self-assigned this Feb 10, 2025
@lucaurelien
Copy link
Member

Issue dépriorisée car aucun gain fonctionnel + peu impacter certains de nos utilisateurs

@lucaurelien lucaurelien removed the Priority/0-High To do now label Feb 13, 2025
@lucaurelien lucaurelien removed this from the 10.3.0.1 milestone Feb 13, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Size/Days Some days of work Status/ReadyForDev The issue is ready to be developed or to be investigated deeply
Projects
None yet
Development

No branches or pull requests

3 participants