fmu-sumo 2.3.4__py3-none-any.whl → 2.3.6__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,5 +17,5 @@ __version__: str
17
17
  __version_tuple__: VERSION_TUPLE
18
18
  version_tuple: VERSION_TUPLE
19
19
 
20
- __version__ = version = '2.3.4'
21
- __version_tuple__ = version_tuple = (2, 3, 4)
20
+ __version__ = version = '2.3.6'
21
+ __version_tuple__ = version_tuple = (2, 3, 6)
@@ -1,39 +1,12 @@
1
1
  """module containing class for child object"""
2
2
 
3
3
  from io import BytesIO
4
- from typing import Dict
4
+ from typing import Dict, List
5
5
 
6
6
  from sumo.wrapper import SumoClient
7
7
 
8
8
  from fmu.sumo.explorer.objects._document import Document
9
9
 
10
- _prop_desc = [
11
- ("name", "data.name", "Object name"),
12
- ("dataname", "data.name", "Object name"),
13
- ("classname", "class.name", "Object class name"),
14
- ("casename", "fmu.case.name", "Object case name"),
15
- ("caseuuid", "fmu.case.uuid", "Object case uuid"),
16
- ("content", "data.content", "Content"),
17
- ("tagname", "data.tagname", "Object tagname"),
18
- ("columns", "data.spec.columns", "Object table columns"),
19
- ("stratigraphic", "data.stratigraphic", "Object stratigraphic"),
20
- ("vertical_domain", "data.vertical_domain", "Object vertical domain"),
21
- ("context", "fmu.context.stage", "Object context"),
22
- ("iteration", "fmu.iteration.name", "Object iteration"),
23
- ("realization", "fmu.realization.id", "Object realization"),
24
- (
25
- "aggregation",
26
- "fmu.aggregation.operation",
27
- "Object aggregation operation",
28
- ),
29
- ("stage", "fmu.context.stage", "Object stage"),
30
- ("format", "data.format", "Object file format"),
31
- ("dataformat", "data.format", "Object file format"),
32
- ("relative_path", "file.relative_path", "Object relative file path"),
33
- ("bbox", "data.bbox", "Object boundary-box data"),
34
- ("spec", "data.spec", "Object spec data"),
35
- ]
36
-
37
10
 
38
11
  class Child(Document):
39
12
  """Class representing a child object in Sumo"""
@@ -95,5 +68,102 @@ class Child(Document):
95
68
  + self.relative_path.split("/")[2:]
96
69
  )
97
70
 
71
+ @property
72
+ def spec(self) -> Dict:
73
+ """Object spec data"""
74
+ return self.get_property("data.spec")
75
+
76
+ @property
77
+ def bbox(self) -> Dict:
78
+ """Object boundary-box data"""
79
+ return self.get_property("data.bbox")
80
+
81
+ @property
82
+ def relative_path(self) -> str:
83
+ """Object relative file path"""
84
+ return self.get_property("file.relative_path")
85
+
86
+ @property
87
+ def dataformat(self) -> str:
88
+ """Object file format"""
89
+ return self.get_property("data.format")
90
+
91
+ @property
92
+ def format(self) -> str:
93
+ """Object file format"""
94
+ return self.get_property("data.format")
95
+
96
+ @property
97
+ def stage(self) -> str:
98
+ """Object stage"""
99
+ return self.get_property("fmu.context.stage")
100
+
101
+ @property
102
+ def aggregation(self) -> str:
103
+ """Object aggregation operation"""
104
+ return self.get_property("fmu.aggregation.operation")
105
+
106
+ @property
107
+ def realization(self) -> str:
108
+ """Object realization"""
109
+ return self.get_property("fmu.realization.id")
110
+
111
+ @property
112
+ def iteration(self) -> str:
113
+ """Object iteration"""
114
+ return self.get_property("fmu.iteration.name")
115
+
116
+ @property
117
+ def context(self) -> str:
118
+ """Object context"""
119
+ return self.get_property("fmu.context.stage")
98
120
 
99
- Child.map_properties(Child, _prop_desc)
121
+ @property
122
+ def vertical_domain(self) -> str:
123
+ """Object vertical domain"""
124
+ return self.get_property("data.vertical_domain")
125
+
126
+ @property
127
+ def stratigraphic(self) -> str:
128
+ """Object stratigraphic"""
129
+ return self.get_property("data.stratigraphic")
130
+
131
+ @property
132
+ def columns(self) -> List[str]:
133
+ """Object table columns"""
134
+ return self.get_property("data.spec.columns")
135
+
136
+ @property
137
+ def tagname(self) -> str:
138
+ """Object tagname"""
139
+ return self.get_property("data.tagname")
140
+
141
+ @property
142
+ def content(self) -> str:
143
+ """Content"""
144
+ return self.get_property("data.content")
145
+
146
+ @property
147
+ def caseuuid(self) -> str:
148
+ """Object case uuid"""
149
+ return self.get_property("fmu.case.uuid")
150
+
151
+ @property
152
+ def casename(self) -> str:
153
+ """Object case name"""
154
+ return self.get_property("fmu.case.name")
155
+
156
+ @property
157
+ def classname(self) -> str:
158
+ """Object class name"""
159
+ return self.get_property("class.name")
160
+
161
+ @property
162
+ def dataname(self) -> str:
163
+ """Object data name"""
164
+ return self.get_property("data.name")
165
+
166
+ @property
167
+ def name(self) -> str:
168
+ """Object data name"""
169
+ return self.get_property("data.name")
@@ -1,7 +1,7 @@
1
1
  """Contains class for one document"""
2
2
 
3
3
  import re
4
- from typing import Dict, List
4
+ from typing import Any, Dict, List, Union
5
5
 
6
6
  _path_split_rx = re.compile(r"\]\.|\.|\[")
7
7
 
@@ -11,11 +11,6 @@ def _splitpath(path):
11
11
  return [int(x) if re.match(r"\d+", x) else x for x in parts]
12
12
 
13
13
 
14
- def _makeprop(attribute):
15
- path = _splitpath(attribute)
16
- return lambda self: self._get_property(path)
17
-
18
-
19
14
  class Document:
20
15
  """Class for representing a document in Sumo"""
21
16
 
@@ -41,7 +36,7 @@ class Document:
41
36
  """
42
37
  return self._metadata
43
38
 
44
- def _get_property(self, path: List[str]):
39
+ def _get_property(self, path: List[Union[str, int]]):
45
40
  curr = self._metadata
46
41
 
47
42
  for key in path:
@@ -52,10 +47,8 @@ class Document:
52
47
 
53
48
  return curr
54
49
 
50
+ def get_property(self, path: str) -> Any:
51
+ return self._get_property(_splitpath(path))
52
+
55
53
  def __getitem__(self, key: str):
56
54
  return self._metadata[key]
57
-
58
- @staticmethod
59
- def map_properties(cls, propmap):
60
- for name, attribute, doc in propmap:
61
- setattr(cls, name, property(_makeprop(attribute), None, None, doc))
@@ -162,45 +162,6 @@ def _gen_filters(spec):
162
162
  filters = _gen_filters(_filterspec)
163
163
 
164
164
 
165
- _bucket_spec = {
166
- "names": ["data.name.keyword", "List of unique object names."],
167
- "tagnames": ["data.tagname.keyword", "List of unique object tagnames."],
168
- "dataformats": [
169
- "data.format.keyword",
170
- "List of unique data.format values.",
171
- ],
172
- "aggregations": [
173
- "fmu.aggregation.operation.keyword",
174
- "List of unique object aggregation operations.",
175
- ],
176
- "stages": ["fmu.context.stage.keyword", "List of unique stages."],
177
- # "stratigraphic": [
178
- # "data.stratigraphic",
179
- # "List of unique object stratigraphic.",
180
- # ],
181
- "vertical_domains": [
182
- "data.vertical_domain",
183
- "List of unique object vertical domains.",
184
- ],
185
- "contents": ["data.content.keyword", "List of unique contents."],
186
- "columns": ["data.spec.columns.keyword", "List of unique column names."],
187
- "statuses": ["_sumo.status.keyword", "List of unique case statuses."],
188
- "users": ["fmu.case.user.id.keyword", "List of unique user names."],
189
- "fieldidentifiers": [
190
- "masterdata.smda.field.identifier.keyword",
191
- "List of unique field names.",
192
- ],
193
- "stratcolumnidentifiers": [
194
- "masterdata.smda.stratigraphic_column.identifier.keyword",
195
- "List of unique stratigraphic column names.",
196
- ],
197
- "realizationids": [
198
- "fmu.realization.id",
199
- "List of unique realization ids.",
200
- ],
201
- }
202
-
203
-
204
165
  def _build_bucket_query(query, field, size):
205
166
  return {
206
167
  "size": 0,
@@ -500,6 +461,22 @@ class SearchContext:
500
461
  uuid = self._hits[index]
501
462
  return await self.get_object_async(uuid)
502
463
 
464
+ @property
465
+ def single(self):
466
+ """Verifies that SearchContext contains exactly one object,
467
+ and returns it.
468
+ """
469
+ assert len(self) == 1
470
+ return self[0]
471
+
472
+ @property
473
+ async def single_async(self):
474
+ """Verifies that SearchContext contains exactly one object,
475
+ and returns it.
476
+ """
477
+ assert await self.length_async() == 1
478
+ return await self.getitem_async(0)
479
+
503
480
  def select(self, sel):
504
481
  """Specify what should be returned from elasticsearch.
505
482
  Has the side effect of clearing the lru cache.
@@ -1531,6 +1508,146 @@ class SearchContext:
1531
1508
  def p90(self):
1532
1509
  return self.aggregate(operation="p90")
1533
1510
 
1511
+ @property
1512
+ def realizationids(self) -> List[int]:
1513
+ """List of unique realization ids."""
1514
+ return self.get_field_values("fmu.realization.id")
1515
+
1516
+ @property
1517
+ async def realizationids_async(self) -> List[int]:
1518
+ """List of unique realization ids."""
1519
+ return await self.get_field_values_async("fmu.realization.id")
1520
+
1521
+ @property
1522
+ def stratcolumnidentifiers(self) -> List[str]:
1523
+ """List of unique stratigraphic column names."""
1524
+ return self.get_field_values(
1525
+ "masterdata.smda.stratigraphic_column.identifier.keyword"
1526
+ )
1527
+
1528
+ @property
1529
+ async def stratcolumnidentifiers_async(self) -> List[str]:
1530
+ """List of unique stratigraphic column names."""
1531
+ return await self.get_field_values_async(
1532
+ "masterdata.smda.stratigraphic_column.identifier.keyword"
1533
+ )
1534
+
1535
+ @property
1536
+ def fieldidentifiers(self) -> List[str]:
1537
+ """List of unique field names."""
1538
+ return self.get_field_values(
1539
+ "masterdata.smda.field.identifier.keyword"
1540
+ )
1541
+
1542
+ @property
1543
+ async def fieldidentifiers_async(self) -> List[str]:
1544
+ """List of unique field names."""
1545
+ return await self.get_field_values_async(
1546
+ "masterdata.smda.field.identifier.keyword"
1547
+ )
1548
+
1549
+ @property
1550
+ def users(self) -> List[str]:
1551
+ """List of unique user names."""
1552
+ return self.get_field_values("fmu.case.user.id.keyword")
1553
+
1554
+ @property
1555
+ async def users_async(self) -> List[str]:
1556
+ """List of unique user names."""
1557
+ return await self.get_field_values_async("fmu.case.user.id.keyword")
1558
+
1559
+ @property
1560
+ def statuses(self) -> List[str]:
1561
+ """List of unique case statuses."""
1562
+ return self.get_field_values("_sumo.status.keyword")
1563
+
1564
+ @property
1565
+ async def statuses_async(self) -> List[str]:
1566
+ """List of unique case statuses."""
1567
+ return await self.get_field_values_async("_sumo.status.keyword")
1568
+
1569
+ @property
1570
+ def columns(self) -> List[str]:
1571
+ """List of unique column names."""
1572
+ return self.get_field_values("data.spec.columns.keyword")
1573
+
1574
+ @property
1575
+ async def columns_async(self) -> List[str]:
1576
+ """List of unique column names."""
1577
+ return await self.get_field_values_async("data.spec.columns.keyword")
1578
+
1579
+ @property
1580
+ def contents(self) -> List[str]:
1581
+ """List of unique contents."""
1582
+ return self.get_field_values("data.content.keyword")
1583
+
1584
+ @property
1585
+ async def contents_async(self) -> List[str]:
1586
+ """List of unique contents."""
1587
+ return await self.get_field_values_async("data.content.keyword")
1588
+
1589
+ @property
1590
+ def vertical_domains(self) -> List[str]:
1591
+ """List of unique object vertical domains."""
1592
+ return self.get_field_values("data.vertical_domain")
1593
+
1594
+ @property
1595
+ async def vertical_domains_async(self) -> List[str]:
1596
+ """List of unique object vertical domains."""
1597
+ return await self.get_field_values_async("data.vertical_domain")
1598
+
1599
+ @property
1600
+ def stages(self) -> List[str]:
1601
+ """List of unique stages."""
1602
+ return self.get_field_values("fmu.context.stage.keyword")
1603
+
1604
+ @property
1605
+ async def stages_async(self) -> List[str]:
1606
+ """List of unique stages."""
1607
+ return await self.get_field_values_async("fmu.context.stage.keyword")
1608
+
1609
+ @property
1610
+ def aggregations(self) -> List[str]:
1611
+ """List of unique object aggregation operations."""
1612
+ return self.get_field_values("fmu.aggregation.operation.keyword")
1613
+
1614
+ @property
1615
+ async def aggregations_async(self) -> List[str]:
1616
+ """List of unique object aggregation operations."""
1617
+ return await self.get_field_values_async(
1618
+ "fmu.aggregation.operation.keyword"
1619
+ )
1620
+
1621
+ @property
1622
+ def dataformats(self) -> List[str]:
1623
+ """List of unique data.format values."""
1624
+ return self.get_field_values("data.format.keyword")
1625
+
1626
+ @property
1627
+ async def dataformats_async(self) -> List[str]:
1628
+ """List of unique data.format values."""
1629
+ return await self.get_field_values_async("data.format.keyword")
1630
+
1631
+ @property
1632
+ def tagnames(self) -> List[str]:
1633
+ """List of unique object tagnames."""
1634
+ return self.get_field_values("data.tagname.keyword")
1635
+
1636
+ @property
1637
+ async def tagnames_async(self) -> List[str]:
1638
+ """List of unique object tagnames."""
1639
+ return await self.get_field_values_async("data.tagname.keyword")
1640
+
1641
+ @property
1642
+ def names(self) -> List[str]:
1643
+ """List of unique object names."""
1644
+ return self.get_field_values("data.name.keyword")
1645
+
1646
+ @property
1647
+ async def names_async(self) -> List[str]:
1648
+ """List of unique object names."""
1649
+ return await self.get_field_values_async("data.name.keyword")
1650
+
1534
1651
 
1535
1652
  def _gen_filter_doc(spec):
1536
1653
  fmap = {
@@ -1619,35 +1736,3 @@ Examples:
1619
1736
 
1620
1737
 
1621
1738
  SearchContext.filter.__doc__ = _gen_filter_doc(_filterspec)
1622
-
1623
-
1624
- def _build_bucket_fn(property, docstring):
1625
- def fn(self):
1626
- return self.get_field_values(property)
1627
-
1628
- return fn
1629
-
1630
-
1631
- def _build_bucket_fn_async(property, docstring):
1632
- async def fn(self):
1633
- return await self.get_field_values_async(property)
1634
-
1635
- return fn
1636
-
1637
-
1638
- def _inject_bucket_fns(spec):
1639
- for name, defn in spec.items():
1640
- prop, docstring = defn
1641
- fn = _build_bucket_fn(prop, docstring)
1642
- setattr(SearchContext, name, property(fn, None, None, docstring))
1643
- afn = _build_bucket_fn_async(prop, docstring)
1644
- setattr(
1645
- SearchContext,
1646
- name + "_async",
1647
- property(afn, None, None, docstring),
1648
- )
1649
- pass
1650
- return
1651
-
1652
-
1653
- _inject_bucket_fns(_bucket_spec)
@@ -7,14 +7,6 @@ from sumo.wrapper import SumoClient
7
7
  from fmu.sumo.explorer.objects._document import Document
8
8
  from fmu.sumo.explorer.objects._search_context import SearchContext
9
9
 
10
- _prop_desc = [
11
- ("name", "fmu.case.name", "Case name"),
12
- ("status", "_sumo.status", "Case status"),
13
- ("user", "fmu.case.user.id", "Name of user who uploaded case."),
14
- ("asset", "access.asset.name", "Case asset"),
15
- ("field", "masterdata.smda.field[0].identifier", "Case field"),
16
- ]
17
-
18
10
 
19
11
  def _make_overview_query(id):
20
12
  return {
@@ -96,5 +88,27 @@ class Case(Document, SearchContext):
96
88
 
97
89
  return self._overview
98
90
 
91
+ @property
92
+ def field(self) -> str:
93
+ """Case field"""
94
+ return self.get_property("masterdata.smda.field[0].identifier")
99
95
 
100
- Case.map_properties(Case, _prop_desc)
96
+ @property
97
+ def asset(self) -> str:
98
+ """Case asset"""
99
+ return self.get_property("access.asset.name")
100
+
101
+ @property
102
+ def user(self) -> str:
103
+ """Name of user who uploaded case."""
104
+ return self.get_property("fmu.case.user.id")
105
+
106
+ @property
107
+ def status(self) -> str:
108
+ """Case status"""
109
+ return self.get_property("_sumo.status")
110
+
111
+ @property
112
+ def name(self) -> str:
113
+ """Case name"""
114
+ return self.get_property("fmu.case.name")
@@ -7,15 +7,6 @@ from sumo.wrapper import SumoClient
7
7
  from fmu.sumo.explorer.objects._document import Document
8
8
  from fmu.sumo.explorer.objects._search_context import SearchContext
9
9
 
10
- _prop_desc = [
11
- ("name", "fmu.iteration.name", "FMU iteration name"),
12
- ("casename", "fmu.case.name", "FMU case name"),
13
- ("caseuuid", "fmu.case.uuid", "FMU case uuid"),
14
- ("user", "fmu.case.user.id", "Name of user who uploaded iteration."),
15
- ("asset", "access.asset.name", "Case asset"),
16
- ("field", "masterdata.smda.field[0].identifier", "Case field"),
17
- ]
18
-
19
10
 
20
11
  class Iteration(Document, SearchContext):
21
12
  """Class for representing an iteration in Sumo."""
@@ -27,6 +18,34 @@ class Iteration(Document, SearchContext):
27
18
  sumo,
28
19
  must=[{"term": {"fmu.iteration.uuid.keyword": self.uuid}}],
29
20
  )
30
-
31
-
32
- Iteration.map_properties(Iteration, _prop_desc)
21
+ pass
22
+
23
+ @property
24
+ def field(self) -> str:
25
+ """Case field"""
26
+ return self.get_property("masterdata.smda.field[0].identifier")
27
+
28
+ @property
29
+ def asset(self) -> str:
30
+ """Case asset"""
31
+ return self.get_property("access.asset.name")
32
+
33
+ @property
34
+ def user(self) -> str:
35
+ """Name of user who uploaded iteration."""
36
+ return self.get_property("fmu.case.user.id")
37
+
38
+ @property
39
+ def caseuuid(self) -> str:
40
+ """FMU case uuid"""
41
+ return self.get_property("fmu.case.uuid")
42
+
43
+ @property
44
+ def casename(self) -> str:
45
+ """FMU case name"""
46
+ return self.get_property("fmu.case.name")
47
+
48
+ @property
49
+ def name(self) -> str:
50
+ """FMU iteration name"""
51
+ return self.get_property("fmu.iteration.name")
@@ -7,16 +7,6 @@ from sumo.wrapper import SumoClient
7
7
  from fmu.sumo.explorer.objects._document import Document
8
8
  from fmu.sumo.explorer.objects._search_context import SearchContext
9
9
 
10
- _prop_desc = [
11
- ("iterationname", "fmu.iteration.name", "FMU iteration name"),
12
- ("iterationuuid", "fmu.iteration.uuid", "FMU iteration uuid"),
13
- ("casename", "fmu.case.name", "FMU case name"),
14
- ("caseuuid", "fmu.case.uuid", "FMU case uuid"),
15
- ("user", "fmu.case.user.id", "Name of user who uploaded iteration."),
16
- ("asset", "access.asset.name", "Case asset"),
17
- ("field", "masterdata.smda.field[0].identifier", "Case field"),
18
- ]
19
-
20
10
 
21
11
  class Realization(Document, SearchContext):
22
12
  """Class for representing a realization in Sumo."""
@@ -28,6 +18,39 @@ class Realization(Document, SearchContext):
28
18
  sumo,
29
19
  must=[{"term": {"fmu.realization.uuid.keyword": self.uuid}}],
30
20
  )
31
-
32
-
33
- Realization.map_properties(Realization, _prop_desc)
21
+ pass
22
+
23
+ @property
24
+ def field(self) -> str:
25
+ """Case field"""
26
+ return self.get_property("masterdata.smda.field[0].identifier")
27
+
28
+ @property
29
+ def asset(self) -> str:
30
+ """Case asset"""
31
+ return self.get_property("access.asset.name")
32
+
33
+ @property
34
+ def user(self) -> str:
35
+ """Name of user who uploaded iteration."""
36
+ return self.get_property("fmu.case.user.id")
37
+
38
+ @property
39
+ def caseuuid(self) -> str:
40
+ """FMU case uuid"""
41
+ return self.get_property("fmu.case.uuid")
42
+
43
+ @property
44
+ def casename(self) -> str:
45
+ """FMU case name"""
46
+ return self.get_property("fmu.case.name")
47
+
48
+ @property
49
+ def iterationuuid(self) -> str:
50
+ """FMU iteration uuid"""
51
+ return self.get_property("fmu.iteration.uuid")
52
+
53
+ @property
54
+ def iterationname(self) -> str:
55
+ """FMU iteration name"""
56
+ return self.get_property("fmu.iteration.name")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: fmu-sumo
3
- Version: 2.3.4
3
+ Version: 2.3.6
4
4
  Summary: Python package for interacting with Sumo in an FMU setting
5
5
  Author: Equinor
6
6
  License: Apache License
@@ -1,32 +1,32 @@
1
1
  fmu/__init__.py,sha256=ftS-xRPSH-vU7fIHlnZQaCTWbNvs4owJivNW65kzsIM,85
2
2
  fmu/sumo/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
3
3
  fmu/sumo/explorer/__init__.py,sha256=Bc1wd1lQO3HP3tsVyPbqaesf2boZwGdtookWp8lmG-k,317
4
- fmu/sumo/explorer/_version.py,sha256=uwWN-nUjSdzfl2KBdAxl_KFIRtDM-6vnPwbujKx_J2g,511
4
+ fmu/sumo/explorer/_version.py,sha256=vyHreFbi5FOhiaz30HIVL3nIoqJd89y5l-gC9UA3AqA,511
5
5
  fmu/sumo/explorer/cache.py,sha256=uvz8TciwBnDEwJIHa9wneC0WVWuzhUqyF3dzk4kvGNk,1037
6
6
  fmu/sumo/explorer/explorer.py,sha256=0dSUGG2-4yOYGXRWC5Ubrdjd-hIEEgRxJlMvvIAYom0,2806
7
7
  fmu/sumo/explorer/filters.py,sha256=NVTWbjL-dIHQZeWcR3Orgx6f0WHPpThSPxmxZo5tvfM,812
8
8
  fmu/sumo/explorer/timefilter.py,sha256=GetbPm0VYVSts_G7F2BA2nvgvvKzWE26ZjhqRc1avIE,6212
9
9
  fmu/sumo/explorer/objects/__init__.py,sha256=2XqF0abZI1T7I_Fjlhvs4_vjwid_3HUsqdxmA6nNcLo,941
10
- fmu/sumo/explorer/objects/_child.py,sha256=12qVVsTHg8Z_2SAxXpdIpQGwgeOiOKxWzPMCGZ3ZEtM,3104
11
- fmu/sumo/explorer/objects/_document.py,sha256=wgRA18_68RxMFoQly4UowVIOrZqETithms9zZrqXTLw,1418
10
+ fmu/sumo/explorer/objects/_child.py,sha256=ase6ZypK2KB-Zv6skHRFodkLC3vfm9x8EFgJfhsblLE,4477
11
+ fmu/sumo/explorer/objects/_document.py,sha256=JMhlCr1XlXi1lE1-44WhISTNHiDw9gYGOTl0LUboQKo,1249
12
12
  fmu/sumo/explorer/objects/_metrics.py,sha256=q6CSeCjiN1SjNx4G32Lod7Slnflsu3aoJIpwm_VMIhQ,3954
13
- fmu/sumo/explorer/objects/_search_context.py,sha256=wfK27pobnZ_CUWq6jMMtwm3UETjmNVnOjcD7pqHJ734,49651
14
- fmu/sumo/explorer/objects/case.py,sha256=hA_9BqTG-ELqKrr1G2-kwx3nY0oVubcVMLaGBfAb3Qw,3545
13
+ fmu/sumo/explorer/objects/_search_context.py,sha256=AvhrKZLbKnenFxQbFQcdRwPd8GhZxeK3tCWGC_8o4Bs,52740
14
+ fmu/sumo/explorer/objects/case.py,sha256=D4MGn5lKNMdmaBvTJRYXu9xlGEOpuiMlZR_tsNs4AJU,3847
15
15
  fmu/sumo/explorer/objects/cases.py,sha256=L2LQieRTCJeNXRvXceHz9088nRO9gvKuRpsNpLI7Gnw,552
16
16
  fmu/sumo/explorer/objects/cpgrid.py,sha256=Va1M_rgHYdQfPFKFJvfDQhRcSZ_PnniCSI6uweaG3_s,2550
17
17
  fmu/sumo/explorer/objects/cpgrid_property.py,sha256=DxiFn6QrQCjXbDrxuxPi95b9pvkGI6nxxd0VoFn3e6k,2744
18
18
  fmu/sumo/explorer/objects/cube.py,sha256=UEFFx_qfS7o0cWNwVPxdO3Fee8Pst9J0GN1j6cXRd_o,3189
19
19
  fmu/sumo/explorer/objects/dictionary.py,sha256=56ol3ohxVwuesYsrULBE1a4pXXqcUnMWi41EX6_Zn-s,918
20
- fmu/sumo/explorer/objects/iteration.py,sha256=dvn1I3N_ww_Ls-pxVyMlRYbBb5EROn_zLGqc3y6OCcg,1003
20
+ fmu/sumo/explorer/objects/iteration.py,sha256=iSQiQ2Epa98ZrySu47GMtJh2dsPnJVo9JqwSlEMRml4,1380
21
21
  fmu/sumo/explorer/objects/iterations.py,sha256=_d6fRmtVziy0qj-MucG_nPNTn6ffsTcIFGF0H2NqbTw,1606
22
22
  fmu/sumo/explorer/objects/polygons.py,sha256=z4maL5WI3cdFol3WlTYxhUJzMLkskfb_8Lz7QD4uqIY,1212
23
- fmu/sumo/explorer/objects/realization.py,sha256=CzRaJbGqrX1OANnkkSrdedEm6AP_bQWN5giM-FVE1m8,1090
23
+ fmu/sumo/explorer/objects/realization.py,sha256=s5uSHCt9yoghhJByYIJp8KuWnoO6LPF2f0AkzRME8XI,1535
24
24
  fmu/sumo/explorer/objects/realizations.py,sha256=QnmrswpV34-AM05M6DP4BrD0vS3QKzPYaaCb18eeOEk,1616
25
25
  fmu/sumo/explorer/objects/surface.py,sha256=8SVYvCtpKISGd3gY_jIkTgTd_yTWIU8xiW9lcyTiMKU,1652
26
26
  fmu/sumo/explorer/objects/table.py,sha256=fRit1cWfCLqwZwLHK26D-qFT64uCYVjlVhDyXHWhO40,4925
27
27
  fmu/sumo/explorer/objects/table_aggregated.py,sha256=vq2EcR36JTcQsyCeyiMgigJMDFDQfVrlTZe2LdXrDFo,3794
28
- fmu_sumo-2.3.4.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
29
- fmu_sumo-2.3.4.dist-info/METADATA,sha256=W4kNoIvhVlhQNt_CT4xw_C34iHiAPf_vUcviaiTG2JM,14758
30
- fmu_sumo-2.3.4.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
31
- fmu_sumo-2.3.4.dist-info/top_level.txt,sha256=Z-FIY3pxn0UK2Wxi9IJ7fKoLSraaxuNGi1eokiE0ShM,4
32
- fmu_sumo-2.3.4.dist-info/RECORD,,
28
+ fmu_sumo-2.3.6.dist-info/LICENSE,sha256=xx0jnfkXJvxRnG63LTGOxlggYnIysveWIZ6H3PNdCrQ,11357
29
+ fmu_sumo-2.3.6.dist-info/METADATA,sha256=uE43-k7ECxLJAKwVtVPfZNBzWI9rKoiONG7AJ3B46ZM,14758
30
+ fmu_sumo-2.3.6.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
31
+ fmu_sumo-2.3.6.dist-info/top_level.txt,sha256=Z-FIY3pxn0UK2Wxi9IJ7fKoLSraaxuNGi1eokiE0ShM,4
32
+ fmu_sumo-2.3.6.dist-info/RECORD,,