-
-
Notifications
You must be signed in to change notification settings - Fork 582
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
Move Map and Timeseries and their dependencies to extra requirements #4655
Comments
(I think #4596 would alleviate some of my concerns here, by being able to point users at |
I am pro reducing core dependencies, partnered with having clear instructions on how to install all dependencies if desired. As sunpy becomes more established, it seems more likely that there will be use cases of people using it for specific purposes (e.g. just coordinate transforms), and not needing all the dependencies. I think we have known this for a while really, and the concept of sunpy "core" alludes to that.
What do you mean by this? |
Think it just means making sure everything works as expected... |
Which can be quite a time consuming task if we check everything manually for a genuine audit and not a second identical set of CI/CD checks... |
I just mean people can currently safely make the assumption that we have say scipy available anywhere, say coordinates. Before we can be sure that a dep isn't core we need to work out where they are all being used. |
Bet my mind is truly literal and would not take a hint 🤣 |
pandas is also used in |
Given the discussion in #4592 (comment) about adding support for netcdf4 files to Timeseries, I think now is a good (ish) time to reconsider the standing policy that doing
pip install sunpy
installs all the dependencies for map and timeseries to be fully operational.The current core deps are:
numpy>=1.16.0
scipy>=1.2.0
matplotlib>=2.2.2
pandas>=0.23.0
astropy>=4.0
parfive[ftp]>=1.1.0
There are a few variants of this plan, but I propose that the best option (other than the status quo) is to add a
timeseries
and amap
extra. This would leave core with numpy, astropy and parfive.matplotlib is an interesting one, I think we could leave it optional on both map and timeseries, but then
cm
also wouldn't work, so do we add an extra for that as well? (Maybe we need to leave mpl in core for 2.1 and work these things out??)Of the rest scipy is Map (and image), pandas is timeseries.
We would need someone to do a good audit of the code make sure we aren't rushing this and miss something though.
The text was updated successfully, but these errors were encountered: