-
Notifications
You must be signed in to change notification settings - Fork 14
Description
My understanding is the only place in the package code (as opposed to tests and notebooks) that healpy and pyssht are imported is
s2fft/s2fft/transforms/c_backend_spherical.py
Lines 8 to 9 in 2c3d9e5
| import pyssht | |
| import healpy |
with this module providing JAX wrappers around the transforms in these packages.
Installing healpy and/or pyssht can be problematic on some operating systems and platforms - for example there is currently no pre-built Windows wheels for either (and building package from source on Windows appears to fail from some attemps in a CI run in #210, and we have also had problems getting healpy installed on a MacOS12 / arm64 machine due to lack of a pre-built wheel being available and errors linking against dynamic libraries when using a package built from source.
To make s2fft installable on a wider range of platforms, it might therefore be a good idea to drop pyssht and healpy as required dependencies as instead have them as optional dependencies with the functions requiring them in s2fft/transforms/c_backend_spherical.py only made available when the relevant modules are installed.