Open dcherian opened 1 week ago
Note that there are many user survey comments asking for performance improvements
And then this counter-example 🤷🏾♂️ : "lightweight version without heavy dependencies"
(Yes, I thought I asked something similar a while ago around pooch
but can't find it)
Ideally we would allow {name="xarray", default-features=false}
for the minority of users that want the slim version. But IIUC python doesn't have any notion of "default but not required dependencies".
xarray-core
vs xarray
in that casexarray[standard]
, but that doesn't seem like a common thing in python either
What is your issue?
The current set of Xarray dependencies is very minimal. https://github.com/pydata/xarray/blob/3fd162e42bb309cfab03c2c18b037d1ad3cd3193/pyproject.toml#L25-L29
This is pretty unfriendly to a new user, and not a great out-of-the-box experience. You can't read any files (except npz, csv, parquet I guess), you can't access any tutorial datasets, you can't make plots, and you're missing a bunch of effectively free performance optimizations.
I think the current set of minimal dependencies is more appropriate to an
xarray-core
package. Here are our optional dependencies for example: https://github.com/pydata/xarray/blob/3fd162e42bb309cfab03c2c18b037d1ad3cd3193/pyproject.toml#L31-L48Proposal
I suggest that we migrate to
xarray-core
andxarray
packages inconda-forge
.:xarray-core
will have the current set of minimal dependencies.xarray
I propose the following dependencies:flox
,opt_einsum
,numbagg
for accelerated computationsfsspec
,netcdf
,zarr
for reading common datasets & "cloud"matplotlib
for plotting.pooch
to read tutorial datasetsRelated: dask packages
dask-core
and I think matplotlib packagesmatplotlib-base