MCPcopy
hub / github.com/pydata/xarray / StoreBackendEntrypoint

Class StoreBackendEntrypoint

xarray/backends/store.py:20–73  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

18
19
20class StoreBackendEntrypoint(BackendEntrypoint):
21 description = "Open AbstractDataStore instances in Xarray"
22 url = "https://docs.xarray.dev/en/stable/generated/xarray.backends.StoreBackendEntrypoint.html"
23
24 def guess_can_open(self, filename_or_obj: T_PathFileOrDataStore) -> bool:
25 return isinstance(filename_or_obj, AbstractDataStore)
26
27 def open_dataset(
28 self,
29 filename_or_obj: T_PathFileOrDataStore,
30 *,
31 mask_and_scale=True,
32 decode_times=True,
33 concat_characters=True,
34 decode_coords=True,
35 drop_variables: str | Iterable[str] | None = None,
36 set_indexes: bool = True,
37 use_cftime=None,
38 decode_timedelta=None,
39 ) -> Dataset:
40 assert isinstance(filename_or_obj, AbstractDataStore)
41
42 vars, attrs = filename_or_obj.load()
43 encoding = filename_or_obj.get_encoding()
44
45 vars, attrs, coord_names = conventions.decode_cf_variables(
46 vars,
47 attrs,
48 mask_and_scale=mask_and_scale,
49 decode_times=decode_times,
50 concat_characters=concat_characters,
51 decode_coords=decode_coords,
52 drop_variables=drop_variables,
53 use_cftime=use_cftime,
54 decode_timedelta=decode_timedelta,
55 )
56
57 # split data and coordinate variables (promote dimension coordinates)
58 data_vars = {}
59 coord_vars = {}
60 for name, var in vars.items():
61 if name in coord_names or var.dims == (name,):
62 coord_vars[name] = var
63 else:
64 data_vars[name] = var
65
66 # explicit Coordinates object with no index passed
67 coords = Coordinates(coord_vars, indexes={})
68
69 ds = Dataset(data_vars, coords=coords, attrs=attrs)
70 ds.set_close(filename_or_obj.close)
71 ds.encoding = encoding
72
73 return ds
74
75
76BACKEND_ENTRYPOINTS["store"] = (None, StoreBackendEntrypoint)

Callers 9

open_datasetMethod · 0.90
open_groups_as_dictMethod · 0.90
open_datasetMethod · 0.90
open_groups_as_dictMethod · 0.90
open_datasetMethod · 0.90
open_groups_as_dictMethod · 0.90
open_datasetMethod · 0.90
open_groups_as_dictMethod · 0.90
open_datasetMethod · 0.90

Calls

no outgoing calls

Tested by

no test coverage detected

Used in the wild real call sites across dependent graphs

searching dependent graphs…