(
backend_ds,
filename_or_obj,
engine,
chunks,
cache,
overwrite_encoded_chunks,
inline_array,
chunked_array_type,
from_array_kwargs,
create_default_indexes,
**extra_tokens,
)
| 280 | |
| 281 | |
| 282 | def _dataset_from_backend_dataset( |
| 283 | backend_ds, |
| 284 | filename_or_obj, |
| 285 | engine, |
| 286 | chunks, |
| 287 | cache, |
| 288 | overwrite_encoded_chunks, |
| 289 | inline_array, |
| 290 | chunked_array_type, |
| 291 | from_array_kwargs, |
| 292 | create_default_indexes, |
| 293 | **extra_tokens, |
| 294 | ): |
| 295 | if not isinstance(chunks, int | dict) and chunks not in {None, "auto"}: |
| 296 | raise ValueError( |
| 297 | f"chunks must be an int, dict, 'auto', or None. Instead found {chunks}." |
| 298 | ) |
| 299 | |
| 300 | _protect_dataset_variables_inplace(backend_ds, cache) |
| 301 | |
| 302 | if create_default_indexes: |
| 303 | ds = _maybe_create_default_indexes(backend_ds) |
| 304 | else: |
| 305 | ds = backend_ds |
| 306 | |
| 307 | if chunks is not None: |
| 308 | ds = _chunk_ds( |
| 309 | ds, |
| 310 | filename_or_obj, |
| 311 | engine, |
| 312 | chunks, |
| 313 | overwrite_encoded_chunks, |
| 314 | inline_array, |
| 315 | chunked_array_type, |
| 316 | from_array_kwargs, |
| 317 | **extra_tokens, |
| 318 | ) |
| 319 | |
| 320 | ds.set_close(backend_ds._close) |
| 321 | |
| 322 | # Ensure source filename always stored in dataset object |
| 323 | if "source" not in ds.encoding: |
| 324 | path = getattr(filename_or_obj, "path", filename_or_obj) |
| 325 | |
| 326 | if isinstance(path, str | os.PathLike): |
| 327 | ds.encoding["source"] = _normalize_path(path) |
| 328 | |
| 329 | return ds |
| 330 | |
| 331 | |
| 332 | def _datatree_from_backend_datatree( |
no test coverage detected
searching dependent graphs…