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

Make pyssht and healpy optional dependencies #267

Merged
merged 2 commits into from
Feb 19, 2025

Conversation

matt-graham
Copy link
Collaborator

Related to #229

Removes pyssht and healpy from required dependencies for s2fft as these are currently only used in tests and in JAX wrapper functions in s2fft.transforms.c_backend_spherical. Instead they are now added as test specific dependencies and the s2fft.transforms.c_backend_spherical module updated to try to import these modules when calling the wrapper functions and raise an exception with an informative error message instructing the user they need to install the relevant package to use the wrapper if not already installed.

As the dependency on pyssht is what was requiring pinning NumPy to <2 this resolves #266 as s2fft can then be installed with NumPy v2 or above if not installing pyssht, although here we still pin the NumPy version in the test dependencies so we are not testing against NumPy v2.

@matt-graham matt-graham added the enhancement New feature or request label Jan 27, 2025
Copy link

codecov bot commented Jan 27, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 96.29%. Comparing base (876e090) to head (afdf08b).
Report is 33 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main     #267      +/-   ##
==========================================
+ Coverage   96.28%   96.29%   +0.01%     
==========================================
  Files          32       32              
  Lines        3606     3619      +13     
==========================================
+ Hits         3472     3485      +13     
  Misses        134      134              

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@jasonmcewen
Copy link
Contributor

This is very timely @matt-graham ! I was just today discussing this with someone who was very intersted in dropping some dependencies for ease of intergration in Euclid pipelines.

While removing ssht as a dependency is good for now, we should actually update ssht and so3 to support numpy>=2. This is discussed in this ssht issue and this so3 issue. It seems we just need to update PyPi to pick up new Conan recipes. Do you know how to do that @matt-graham?

@matt-graham
Copy link
Collaborator Author

While removing ssht as a dependency is good for now, we should actually update ssht and so3 to support numpy>=2. This is discussed in this ssht issue and this so3 issue. It seems we just need to update PyPi to pick up new Conan recipes. Do you know how to do that @matt-graham?

No sorry, I have not used Conan previously.

@matt-graham
Copy link
Collaborator Author

Discussed this in meeting today and conclusion was to merge this now without further review, so merging.

@matt-graham matt-graham merged commit 601fb95 into main Feb 19, 2025
13 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Add support for NumPy v2.0
2 participants