-
-
Notifications
You must be signed in to change notification settings - Fork 407
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
Split ArviZ modules into separate packages #2088
Comments
For the datastructures package what do you think about adopting the protobuf-generated datastructures? (e.g. This would formalize a PPL-agnostic specification of the metadata structures that will end up in storage structures such as |
More specific proposal to start working on this:
|
The 3 modules inside ArviZ are already quite independent, it would be good to divide them into smaller packages, and in the process clean up the dependency handling.
arviz-data
,inferencedata
orarviz-converters
package. It should contain only the InferenceData base library (or maybe we could use the opportunity to change to DataTree Track DataTree progress #2015) and package the converters, maybe iterators like the ones on sel utils? and little more. The main pro for this library would be to keep it minimal to make it as easy as possible for other libraries to depend on this. i.e. both netcdf and zarr should be optional but not required dependencies. It would need to depend on xarray (therefore also numpy and pandas) but not even scipy would be needed, much less matplotlib.arviz-stats
,arviz-diagnostics
orarviz-compute
package with thestats
module and general utilities (i.e. the labeller classes are used mostly in plots but also in summary, so it would go here). It would depend on the library above plus scipy and xarray-einstats, probably nothing elsearviz-plots
. Depends on the two above and has the plots module, both matplotlib and bokeh would be optional.Things for consideration:
arviz
library even if it is only a metalibrary that installs and imports the ones above would be much more friendly to the average user, not sure about the dependencies though, should that library continue to depend on netcdf and matplotlib as defaults for example?Useful references:
Extra notes:
The text was updated successfully, but these errors were encountered: