Results 506 comments of Tom White

Dask supports the `__array_ufunc__` and `__array_function__` protocols which is why it works lazily in this case. Cubed doesn't, and `nanmean` is not in the Array API, so `np.nanmean` will coerce...

I had a look at how scikit-learn has implemented nan functions, e.g. `nanmin`: https://github.com/scikit-learn/scikit-learn/blob/83a8015702213b39510a0f4898bc6879bcdf3ac2/sklearn/utils/_array_api.py#L489-L503 An approach like this would work for Xarray and Cubed, but it wouldn't be very performant...

I went through the same thought process: `cubed.array` following `dask.array`, but then thinking that actually `cubed` is appropriate as Cubed is just an array library.

Another very good explanation of the decision to move away from the separate `array_api` namespace pattern: https://github.com/numpy/numpy/issues/23883#issuecomment-1851429299

You could implement `pad` in Cubed using `concatenate`, which already exists but has to copy the Zarr arrays to make them regularly-chunked. But if Zarr supported irregular chunking then it...

Sounds good - let's keep both open.

I've been looking at the Dask executor today, and I think using the [`distributed.Client.map`](https://distributed.dask.org/en/stable/api.html#distributed.Client.map) API may make it a lot easier to implement the missing features in the table. (A...

> As far as I can tell Coiled Functions don't have an asyncio version - but perhaps the futures that it returns can be used in an asyncio context, in...