| 251 | ) |
| 252 | |
| 253 | def shuffle( |
| 254 | self, x: DaskArray, indexer: list[list[int]], axis: int, chunks: T_Chunks |
| 255 | ) -> DaskArray: |
| 256 | import dask.array |
| 257 | |
| 258 | if not module_available("dask", minversion="2024.08.1"): |
| 259 | raise ValueError( |
| 260 | "This method is very inefficient on dask<2024.08.1. Please upgrade." |
| 261 | ) |
| 262 | if chunks is None: |
| 263 | chunks = "auto" |
| 264 | if chunks != "auto": |
| 265 | raise NotImplementedError("Only chunks='auto' is supported at present.") |
| 266 | return dask.array.shuffle(x, indexer, axis, chunks="auto") |
| 267 | |
| 268 | def get_auto_chunk_size(self) -> int: |
| 269 | from dask import config as dask_config |