Skip to content

Update dependencies as per SPEC0 #843

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
wants to merge 1 commit into
base: main
Choose a base branch
from
Open

Update dependencies as per SPEC0 #843

wants to merge 1 commit into from

Conversation

Armavica
Copy link
Member

@Armavica Armavica commented Jun 22, 2024

Description

https://scientific-python.org/specs/spec-0000/

  • set sphinx>=5.3
  • set numpy>=1.24
  • set scipy>=1.9
  • set filelock>=3.8
  • set setuptools>=63.0
  • set types-setuptools>=63.0
  • set pytest>=7.2
  • set pytest-mock>=3.9
  • set pygments>=2.13
  • set pre-commit>=2.20
  • set coverage>=6.5
  • set llvmlite>=0.38

Related Issue

  • Closes #
  • Related to #

Checklist

Type of change

  • New feature / enhancement
  • Bug fix
  • Documentation
  • Maintenance
  • Other (please specify):

@Armavica Armavica marked this pull request as ready for review June 22, 2024 01:41
@Armavica Armavica requested a review from maresb June 22, 2024 01:41
@@ -9,7 +9,7 @@ dependencies:
- numpy
- scipy
- six
- sphinx>=5.1.0,<6
- sphinx>=5.3,<6
Copy link
Member

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

we should check that this doesn't introduce the plot-scaling bug.

@maresb
Copy link
Contributor

maresb commented Jun 22, 2024

This is something I care a lot about and am very eager to implement, but I have a some of questions...

  1. Where are the lower bounds coming from that aren't explicitly mentioned in SPEC0?
  2. Is there a particular purpose for putting lower bounds on the development dependencies? I think of development dependencies as very separate from core dependencies.
  3. Is there any particular motivation for these lower pins besides SPEC0 standardization?
  4. How will these be updated going forward?

I've been thinking about how to exercise the lower bounds, and I'm pretty excited about conda/rattler#660. I've been meaning to play round with rattler's Python bindings to see how hard it would be to actually hand-build some automation for this.

@Armavica
Copy link
Member Author

Thank you for the comments!

  1. I ran this script on all our dependencies (assuming we want a similar strategy for non-core libraries as for core scientific libs, which is maybe not a good assumption).
  2. No particular purpose, just for completeness, but I agree with you that treating them differently would make sense too.
  3. I would say that it allows the use of more recent features from these dependencies. Maybe also limit the variety of configurations that people may have on their machines. It might also remind us to anticipate September 2025 which is when the spec recommends to drop support for numpy 1.26 (the last version before numpy 2.0).
  4. I don't know how they will be updated, but on other projects, I update dependencies once a month manually, following the output of the script above. This might not be optimal. An automated solution would be great!

@Armavica Armavica added the dependencies Pull requests that update a dependency file label Jul 7, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
dependencies Pull requests that update a dependency file
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants