-
-
Notifications
You must be signed in to change notification settings - Fork 403
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 netCDF4 optional. #2029
Make netCDF4 optional. #2029
Conversation
Codecov Report
@@ Coverage Diff @@
## main #2029 +/- ##
=======================================
Coverage 90.64% 90.64%
=======================================
Files 117 117
Lines 12553 12554 +1
=======================================
+ Hits 11379 11380 +1
Misses 1174 1174
Continue to review full report at Codecov.
|
This will break a lot of code and environments, we need to be careful about how to do this, I don't think removing the dependency straight away is a good idea. The whole of ArviZ assumes netcdf files can be stored and read. For example, the doc failures are due to that, using |
OK, maybe it should stay a dependency then? |
I think it should be possible to install ArviZ without installing libraries that are not required throughout the library (netcdf, but also matplotlib for example like I said before), but I am also worried about making Let's see what the rest of the team thinks. One thing we discussed was splitting the library in data/stats/plots but releasing in sync for simplicity and keeping |
I don't recall if it is possible to do like, |
Catching up. Agree with Oriol, We definitely can't do it this way this "hardline" way its going to break a lot of things. I think we have do it the way Colin recommends, which is netcdf by default, but it can be turned off with a flag. We should do this to enable support for pyscript, and I think jupyterlite as well since it runs on pyodide. Those would both be awesome tools to allow users to test out arviz or learn statistical computing without needing to install a local env. Also note for the pyscript usecase we'll also need to compile both wheels everytime we release as well so its fetchable by the pyscript users. Outside of the scope of this PR but something to note |
That would be amazing but I don't think it is possible. afaik the [name] can only be used to add dependencies to the set of requirements. Does someone know how to use this [] syntax or some kind of alternative to allow this?
Just to make sure we are all on the same page, we already provide
Whenever we release, the Azure job already builds a wheel and uploads it to pypi, see https://pypi.org/project/arviz/#files. Only one wheel is generated though and you mentioned "both wheels" @canyon289 can you create an issue with what is missing so we remember to update the release Azure job? |
Sure but we only need to do this if we go through with the proposal above which its uncertain if we will |
What about using h5netcdf? That might make it a lot less heavy since the netCDF4 C binaries won't be necessary. |
Closing in favor of #2122. |
Closes #2028.