nominal-api 0.685.0__py3-none-any.whl → 0.687.0__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.

Potentially problematic release.


This version of nominal-api might be problematic. Click here for more details.

nominal_api/__init__.py CHANGED
@@ -75,5 +75,5 @@ __all__ = [
75
75
 
76
76
  __conjure_generator_version__ = "4.9.0"
77
77
 
78
- __version__ = "0.685.0"
78
+ __version__ = "0.687.0"
79
79
 
nominal_api/_impl.py CHANGED
@@ -497,6 +497,10 @@ class api_SeriesDataType(ConjureEnumType):
497
497
  '''LOG'''
498
498
  INT = 'INT'
499
499
  '''INT'''
500
+ DOUBLE_ARRAY = 'DOUBLE_ARRAY'
501
+ '''DOUBLE_ARRAY'''
502
+ STRING_ARRAY = 'STRING_ARRAY'
503
+ '''STRING_ARRAY'''
500
504
  UNKNOWN = 'UNKNOWN'
501
505
  '''UNKNOWN'''
502
506
 
@@ -19171,14 +19175,16 @@ class scout_catalog_AddFileToDataset(ConjureBeanType):
19171
19175
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
19172
19176
  return {
19173
19177
  'handle': ConjureFieldDefinition('handle', scout_catalog_Handle),
19174
- 'timestamp_metadata': ConjureFieldDefinition('timestampMetadata', OptionalTypeWrapper[scout_catalog_TimestampMetadata])
19178
+ 'timestamp_metadata': ConjureFieldDefinition('timestampMetadata', OptionalTypeWrapper[scout_catalog_TimestampMetadata]),
19179
+ 'origin_file_handles': ConjureFieldDefinition('originFileHandles', OptionalTypeWrapper[List[scout_catalog_S3Handle]])
19175
19180
  }
19176
19181
 
19177
- __slots__: List[str] = ['_handle', '_timestamp_metadata']
19182
+ __slots__: List[str] = ['_handle', '_timestamp_metadata', '_origin_file_handles']
19178
19183
 
19179
- def __init__(self, handle: "scout_catalog_Handle", timestamp_metadata: Optional["scout_catalog_TimestampMetadata"] = None) -> None:
19184
+ def __init__(self, handle: "scout_catalog_Handle", origin_file_handles: Optional[List["scout_catalog_S3Handle"]] = None, timestamp_metadata: Optional["scout_catalog_TimestampMetadata"] = None) -> None:
19180
19185
  self._handle = handle
19181
19186
  self._timestamp_metadata = timestamp_metadata
19187
+ self._origin_file_handles = origin_file_handles
19182
19188
 
19183
19189
  @builtins.property
19184
19190
  def handle(self) -> "scout_catalog_Handle":
@@ -19188,6 +19194,10 @@ class scout_catalog_AddFileToDataset(ConjureBeanType):
19188
19194
  def timestamp_metadata(self) -> Optional["scout_catalog_TimestampMetadata"]:
19189
19195
  return self._timestamp_metadata
19190
19196
 
19197
+ @builtins.property
19198
+ def origin_file_handles(self) -> Optional[List["scout_catalog_S3Handle"]]:
19199
+ return self._origin_file_handles
19200
+
19191
19201
 
19192
19202
  scout_catalog_AddFileToDataset.__name__ = "AddFileToDataset"
19193
19203
  scout_catalog_AddFileToDataset.__qualname__ = "AddFileToDataset"
@@ -20307,12 +20317,13 @@ class scout_catalog_DatasetFile(ConjureBeanType):
20307
20317
  'uploaded_at': ConjureFieldDefinition('uploadedAt', str),
20308
20318
  'ingested_at': ConjureFieldDefinition('ingestedAt', OptionalTypeWrapper[str]),
20309
20319
  'ingest_status': ConjureFieldDefinition('ingestStatus', api_IngestStatusV2),
20310
- 'timestamp_metadata': ConjureFieldDefinition('timestampMetadata', OptionalTypeWrapper[scout_catalog_TimestampMetadata])
20320
+ 'timestamp_metadata': ConjureFieldDefinition('timestampMetadata', OptionalTypeWrapper[scout_catalog_TimestampMetadata]),
20321
+ 'origin_file_paths': ConjureFieldDefinition('originFilePaths', OptionalTypeWrapper[List[str]])
20311
20322
  }
20312
20323
 
20313
- __slots__: List[str] = ['_id', '_dataset_rid', '_name', '_handle', '_bounds', '_uploaded_at', '_ingested_at', '_ingest_status', '_timestamp_metadata']
20324
+ __slots__: List[str] = ['_id', '_dataset_rid', '_name', '_handle', '_bounds', '_uploaded_at', '_ingested_at', '_ingest_status', '_timestamp_metadata', '_origin_file_paths']
20314
20325
 
20315
- def __init__(self, dataset_rid: str, handle: "scout_catalog_Handle", id: str, ingest_status: "api_IngestStatusV2", name: str, uploaded_at: str, bounds: Optional["scout_catalog_Bounds"] = None, ingested_at: Optional[str] = None, timestamp_metadata: Optional["scout_catalog_TimestampMetadata"] = None) -> None:
20326
+ def __init__(self, dataset_rid: str, handle: "scout_catalog_Handle", id: str, ingest_status: "api_IngestStatusV2", name: str, uploaded_at: str, bounds: Optional["scout_catalog_Bounds"] = None, ingested_at: Optional[str] = None, origin_file_paths: Optional[List[str]] = None, timestamp_metadata: Optional["scout_catalog_TimestampMetadata"] = None) -> None:
20316
20327
  self._id = id
20317
20328
  self._dataset_rid = dataset_rid
20318
20329
  self._name = name
@@ -20322,6 +20333,7 @@ class scout_catalog_DatasetFile(ConjureBeanType):
20322
20333
  self._ingested_at = ingested_at
20323
20334
  self._ingest_status = ingest_status
20324
20335
  self._timestamp_metadata = timestamp_metadata
20336
+ self._origin_file_paths = origin_file_paths
20325
20337
 
20326
20338
  @builtins.property
20327
20339
  def id(self) -> str:
@@ -20366,6 +20378,10 @@ ingested for any reason or is still being processed, then this value will be emp
20366
20378
  def timestamp_metadata(self) -> Optional["scout_catalog_TimestampMetadata"]:
20367
20379
  return self._timestamp_metadata
20368
20380
 
20381
+ @builtins.property
20382
+ def origin_file_paths(self) -> Optional[List[str]]:
20383
+ return self._origin_file_paths
20384
+
20369
20385
 
20370
20386
  scout_catalog_DatasetFile.__name__ = "DatasetFile"
20371
20387
  scout_catalog_DatasetFile.__qualname__ = "DatasetFile"
@@ -34396,16 +34412,18 @@ class scout_compute_api_AssetChannel(ConjureBeanType):
34396
34412
  'asset_rid': ConjureFieldDefinition('assetRid', scout_compute_api_StringConstant),
34397
34413
  'data_scope_name': ConjureFieldDefinition('dataScopeName', scout_compute_api_StringConstant),
34398
34414
  'channel': ConjureFieldDefinition('channel', scout_compute_api_StringConstant),
34399
- 'additional_tags': ConjureFieldDefinition('additionalTags', Dict[str, scout_compute_api_StringConstant])
34415
+ 'additional_tags': ConjureFieldDefinition('additionalTags', Dict[str, scout_compute_api_StringConstant]),
34416
+ 'tags_to_group_by': ConjureFieldDefinition('tagsToGroupBy', List[str])
34400
34417
  }
34401
34418
 
34402
- __slots__: List[str] = ['_asset_rid', '_data_scope_name', '_channel', '_additional_tags']
34419
+ __slots__: List[str] = ['_asset_rid', '_data_scope_name', '_channel', '_additional_tags', '_tags_to_group_by']
34403
34420
 
34404
- def __init__(self, additional_tags: Dict[str, "scout_compute_api_StringConstant"], asset_rid: "scout_compute_api_StringConstant", channel: "scout_compute_api_StringConstant", data_scope_name: "scout_compute_api_StringConstant") -> None:
34421
+ def __init__(self, additional_tags: Dict[str, "scout_compute_api_StringConstant"], asset_rid: "scout_compute_api_StringConstant", channel: "scout_compute_api_StringConstant", data_scope_name: "scout_compute_api_StringConstant", tags_to_group_by: List[str]) -> None:
34405
34422
  self._asset_rid = asset_rid
34406
34423
  self._data_scope_name = data_scope_name
34407
34424
  self._channel = channel
34408
34425
  self._additional_tags = additional_tags
34426
+ self._tags_to_group_by = tags_to_group_by
34409
34427
 
34410
34428
  @builtins.property
34411
34429
  def asset_rid(self) -> "scout_compute_api_StringConstant":
@@ -34431,6 +34449,14 @@ both sets of tag filters. For log series, include arg filters here in addition t
34431
34449
  """
34432
34450
  return self._additional_tags
34433
34451
 
34452
+ @builtins.property
34453
+ def tags_to_group_by(self) -> List[str]:
34454
+ """
34455
+ Tags that the channel should be grouped by. If this is non-empty a grouped result will be returned
34456
+ with an entry for each grouping.
34457
+ """
34458
+ return self._tags_to_group_by
34459
+
34434
34460
 
34435
34461
  scout_compute_api_AssetChannel.__name__ = "AssetChannel"
34436
34462
  scout_compute_api_AssetChannel.__qualname__ = "AssetChannel"
@@ -36196,6 +36222,7 @@ class scout_compute_api_ComputeNodeResponse(ConjureUnionType):
36196
36222
  _numeric_histogram: Optional["scout_compute_api_NumericHistogramPlot"] = None
36197
36223
  _enum_histogram: Optional["scout_compute_api_EnumHistogramPlot"] = None
36198
36224
  _curve_fit: Optional["scout_compute_api_CurveFitResult"] = None
36225
+ _grouped: Optional["scout_compute_api_GroupedComputeNodeResponses"] = None
36199
36226
 
36200
36227
  @builtins.classmethod
36201
36228
  def _options(cls) -> Dict[str, ConjureFieldDefinition]:
@@ -36218,7 +36245,8 @@ class scout_compute_api_ComputeNodeResponse(ConjureUnionType):
36218
36245
  'frequency_domain': ConjureFieldDefinition('frequencyDomain', scout_compute_api_FrequencyDomainPlot),
36219
36246
  'numeric_histogram': ConjureFieldDefinition('numericHistogram', scout_compute_api_NumericHistogramPlot),
36220
36247
  'enum_histogram': ConjureFieldDefinition('enumHistogram', scout_compute_api_EnumHistogramPlot),
36221
- 'curve_fit': ConjureFieldDefinition('curveFit', scout_compute_api_CurveFitResult)
36248
+ 'curve_fit': ConjureFieldDefinition('curveFit', scout_compute_api_CurveFitResult),
36249
+ 'grouped': ConjureFieldDefinition('grouped', scout_compute_api_GroupedComputeNodeResponses)
36222
36250
  }
36223
36251
 
36224
36252
  def __init__(
@@ -36242,10 +36270,11 @@ class scout_compute_api_ComputeNodeResponse(ConjureUnionType):
36242
36270
  numeric_histogram: Optional["scout_compute_api_NumericHistogramPlot"] = None,
36243
36271
  enum_histogram: Optional["scout_compute_api_EnumHistogramPlot"] = None,
36244
36272
  curve_fit: Optional["scout_compute_api_CurveFitResult"] = None,
36273
+ grouped: Optional["scout_compute_api_GroupedComputeNodeResponses"] = None,
36245
36274
  type_of_union: Optional[str] = None
36246
36275
  ) -> None:
36247
36276
  if type_of_union is None:
36248
- if (range is not None) + (ranges_summary is not None) + (range_value is not None) + (numeric is not None) + (bucketed_numeric is not None) + (numeric_point is not None) + (enum is not None) + (enum_point is not None) + (bucketed_enum is not None) + (paged_log is not None) + (log_point is not None) + (cartesian is not None) + (bucketed_cartesian is not None) + (bucketed_cartesian3d is not None) + (bucketed_geo is not None) + (frequency_domain is not None) + (numeric_histogram is not None) + (enum_histogram is not None) + (curve_fit is not None) != 1:
36277
+ if (range is not None) + (ranges_summary is not None) + (range_value is not None) + (numeric is not None) + (bucketed_numeric is not None) + (numeric_point is not None) + (enum is not None) + (enum_point is not None) + (bucketed_enum is not None) + (paged_log is not None) + (log_point is not None) + (cartesian is not None) + (bucketed_cartesian is not None) + (bucketed_cartesian3d is not None) + (bucketed_geo is not None) + (frequency_domain is not None) + (numeric_histogram is not None) + (enum_histogram is not None) + (curve_fit is not None) + (grouped is not None) != 1:
36249
36278
  raise ValueError('a union must contain a single member')
36250
36279
 
36251
36280
  if range is not None:
@@ -36305,6 +36334,9 @@ class scout_compute_api_ComputeNodeResponse(ConjureUnionType):
36305
36334
  if curve_fit is not None:
36306
36335
  self._curve_fit = curve_fit
36307
36336
  self._type = 'curveFit'
36337
+ if grouped is not None:
36338
+ self._grouped = grouped
36339
+ self._type = 'grouped'
36308
36340
 
36309
36341
  elif type_of_union == 'range':
36310
36342
  if range is None:
@@ -36401,6 +36433,11 @@ class scout_compute_api_ComputeNodeResponse(ConjureUnionType):
36401
36433
  raise ValueError('a union value must not be None')
36402
36434
  self._curve_fit = curve_fit
36403
36435
  self._type = 'curveFit'
36436
+ elif type_of_union == 'grouped':
36437
+ if grouped is None:
36438
+ raise ValueError('a union value must not be None')
36439
+ self._grouped = grouped
36440
+ self._type = 'grouped'
36404
36441
 
36405
36442
  @builtins.property
36406
36443
  def range(self) -> Optional[List["scout_compute_api_Range"]]:
@@ -36478,6 +36515,10 @@ class scout_compute_api_ComputeNodeResponse(ConjureUnionType):
36478
36515
  def curve_fit(self) -> Optional["scout_compute_api_CurveFitResult"]:
36479
36516
  return self._curve_fit
36480
36517
 
36518
+ @builtins.property
36519
+ def grouped(self) -> Optional["scout_compute_api_GroupedComputeNodeResponses"]:
36520
+ return self._grouped
36521
+
36481
36522
  def accept(self, visitor) -> Any:
36482
36523
  if not isinstance(visitor, scout_compute_api_ComputeNodeResponseVisitor):
36483
36524
  raise ValueError('{} is not an instance of scout_compute_api_ComputeNodeResponseVisitor'.format(visitor.__class__.__name__))
@@ -36519,6 +36560,8 @@ class scout_compute_api_ComputeNodeResponse(ConjureUnionType):
36519
36560
  return visitor._enum_histogram(self.enum_histogram)
36520
36561
  if self._type == 'curveFit' and self.curve_fit is not None:
36521
36562
  return visitor._curve_fit(self.curve_fit)
36563
+ if self._type == 'grouped' and self.grouped is not None:
36564
+ return visitor._grouped(self.grouped)
36522
36565
 
36523
36566
 
36524
36567
  scout_compute_api_ComputeNodeResponse.__name__ = "ComputeNodeResponse"
@@ -36604,6 +36647,10 @@ class scout_compute_api_ComputeNodeResponseVisitor:
36604
36647
  def _curve_fit(self, curve_fit: "scout_compute_api_CurveFitResult") -> Any:
36605
36648
  pass
36606
36649
 
36650
+ @abstractmethod
36651
+ def _grouped(self, grouped: "scout_compute_api_GroupedComputeNodeResponses") -> Any:
36652
+ pass
36653
+
36607
36654
 
36608
36655
  scout_compute_api_ComputeNodeResponseVisitor.__name__ = "ComputeNodeResponseVisitor"
36609
36656
  scout_compute_api_ComputeNodeResponseVisitor.__qualname__ = "ComputeNodeResponseVisitor"
@@ -37624,15 +37671,17 @@ class scout_compute_api_DataSourceChannel(ConjureBeanType):
37624
37671
  return {
37625
37672
  'data_source_rid': ConjureFieldDefinition('dataSourceRid', scout_compute_api_StringConstant),
37626
37673
  'channel': ConjureFieldDefinition('channel', scout_compute_api_StringConstant),
37627
- 'tags': ConjureFieldDefinition('tags', Dict[str, scout_compute_api_StringConstant])
37674
+ 'tags': ConjureFieldDefinition('tags', Dict[str, scout_compute_api_StringConstant]),
37675
+ 'tags_to_group_by': ConjureFieldDefinition('tagsToGroupBy', List[str])
37628
37676
  }
37629
37677
 
37630
- __slots__: List[str] = ['_data_source_rid', '_channel', '_tags']
37678
+ __slots__: List[str] = ['_data_source_rid', '_channel', '_tags', '_tags_to_group_by']
37631
37679
 
37632
- def __init__(self, channel: "scout_compute_api_StringConstant", data_source_rid: "scout_compute_api_StringConstant", tags: Dict[str, "scout_compute_api_StringConstant"]) -> None:
37680
+ def __init__(self, channel: "scout_compute_api_StringConstant", data_source_rid: "scout_compute_api_StringConstant", tags: Dict[str, "scout_compute_api_StringConstant"], tags_to_group_by: List[str]) -> None:
37633
37681
  self._data_source_rid = data_source_rid
37634
37682
  self._channel = channel
37635
37683
  self._tags = tags
37684
+ self._tags_to_group_by = tags_to_group_by
37636
37685
 
37637
37686
  @builtins.property
37638
37687
  def data_source_rid(self) -> "scout_compute_api_StringConstant":
@@ -37650,6 +37699,14 @@ provided tag keys. For log series, include arg filters here in addition to tag f
37650
37699
  """
37651
37700
  return self._tags
37652
37701
 
37702
+ @builtins.property
37703
+ def tags_to_group_by(self) -> List[str]:
37704
+ """
37705
+ Tags that the channel should be grouped by. If this is non-empty a grouped result will be returned
37706
+ with an entry for each grouping.
37707
+ """
37708
+ return self._tags_to_group_by
37709
+
37653
37710
 
37654
37711
  scout_compute_api_DataSourceChannel.__name__ = "DataSourceChannel"
37655
37712
  scout_compute_api_DataSourceChannel.__qualname__ = "DataSourceChannel"
@@ -39472,6 +39529,121 @@ scout_compute_api_GeoTimeBucket.__qualname__ = "GeoTimeBucket"
39472
39529
  scout_compute_api_GeoTimeBucket.__module__ = "nominal_api.scout_compute_api"
39473
39530
 
39474
39531
 
39532
+ class scout_compute_api_GroupedComputeNodeResponse(ConjureBeanType):
39533
+
39534
+ @builtins.classmethod
39535
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
39536
+ return {
39537
+ 'grouping': ConjureFieldDefinition('grouping', scout_compute_api_Grouping),
39538
+ 'response': ConjureFieldDefinition('response', scout_compute_api_ComputeNodeResponse)
39539
+ }
39540
+
39541
+ __slots__: List[str] = ['_grouping', '_response']
39542
+
39543
+ def __init__(self, grouping: "scout_compute_api_Grouping", response: "scout_compute_api_ComputeNodeResponse") -> None:
39544
+ self._grouping = grouping
39545
+ self._response = response
39546
+
39547
+ @builtins.property
39548
+ def grouping(self) -> "scout_compute_api_Grouping":
39549
+ return self._grouping
39550
+
39551
+ @builtins.property
39552
+ def response(self) -> "scout_compute_api_ComputeNodeResponse":
39553
+ return self._response
39554
+
39555
+
39556
+ scout_compute_api_GroupedComputeNodeResponse.__name__ = "GroupedComputeNodeResponse"
39557
+ scout_compute_api_GroupedComputeNodeResponse.__qualname__ = "GroupedComputeNodeResponse"
39558
+ scout_compute_api_GroupedComputeNodeResponse.__module__ = "nominal_api.scout_compute_api"
39559
+
39560
+
39561
+ class scout_compute_api_GroupedComputeNodeResponses(ConjureBeanType):
39562
+ """
39563
+ Contains a `ComputeNodeResponse` for each applicable grouping along with metadata describing the grouping.
39564
+ All the contained `ComputeNodeResponse`s are guaranteed to be of the same type.
39565
+ """
39566
+
39567
+ @builtins.classmethod
39568
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
39569
+ return {
39570
+ 'responses': ConjureFieldDefinition('responses', List[scout_compute_api_GroupedComputeNodeResponse])
39571
+ }
39572
+
39573
+ __slots__: List[str] = ['_responses']
39574
+
39575
+ def __init__(self, responses: List["scout_compute_api_GroupedComputeNodeResponse"]) -> None:
39576
+ self._responses = responses
39577
+
39578
+ @builtins.property
39579
+ def responses(self) -> List["scout_compute_api_GroupedComputeNodeResponse"]:
39580
+ return self._responses
39581
+
39582
+
39583
+ scout_compute_api_GroupedComputeNodeResponses.__name__ = "GroupedComputeNodeResponses"
39584
+ scout_compute_api_GroupedComputeNodeResponses.__qualname__ = "GroupedComputeNodeResponses"
39585
+ scout_compute_api_GroupedComputeNodeResponses.__module__ = "nominal_api.scout_compute_api"
39586
+
39587
+
39588
+ class scout_compute_api_Grouping(ConjureUnionType):
39589
+ _tags_with_values: Optional[Dict[str, str]] = None
39590
+
39591
+ @builtins.classmethod
39592
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
39593
+ return {
39594
+ 'tags_with_values': ConjureFieldDefinition('tagsWithValues', Dict[str, str])
39595
+ }
39596
+
39597
+ def __init__(
39598
+ self,
39599
+ tags_with_values: Optional[Dict[str, str]] = None,
39600
+ type_of_union: Optional[str] = None
39601
+ ) -> None:
39602
+ if type_of_union is None:
39603
+ if (tags_with_values is not None) != 1:
39604
+ raise ValueError('a union must contain a single member')
39605
+
39606
+ if tags_with_values is not None:
39607
+ self._tags_with_values = tags_with_values
39608
+ self._type = 'tagsWithValues'
39609
+
39610
+ elif type_of_union == 'tagsWithValues':
39611
+ if tags_with_values is None:
39612
+ raise ValueError('a union value must not be None')
39613
+ self._tags_with_values = tags_with_values
39614
+ self._type = 'tagsWithValues'
39615
+
39616
+ @builtins.property
39617
+ def tags_with_values(self) -> Optional[Dict[str, str]]:
39618
+ """
39619
+ A grouping identified by a specific instantiation of tag keys and values.
39620
+ """
39621
+ return self._tags_with_values
39622
+
39623
+ def accept(self, visitor) -> Any:
39624
+ if not isinstance(visitor, scout_compute_api_GroupingVisitor):
39625
+ raise ValueError('{} is not an instance of scout_compute_api_GroupingVisitor'.format(visitor.__class__.__name__))
39626
+ if self._type == 'tagsWithValues' and self.tags_with_values is not None:
39627
+ return visitor._tags_with_values(self.tags_with_values)
39628
+
39629
+
39630
+ scout_compute_api_Grouping.__name__ = "Grouping"
39631
+ scout_compute_api_Grouping.__qualname__ = "Grouping"
39632
+ scout_compute_api_Grouping.__module__ = "nominal_api.scout_compute_api"
39633
+
39634
+
39635
+ class scout_compute_api_GroupingVisitor:
39636
+
39637
+ @abstractmethod
39638
+ def _tags_with_values(self, tags_with_values: Dict[str, str]) -> Any:
39639
+ pass
39640
+
39641
+
39642
+ scout_compute_api_GroupingVisitor.__name__ = "GroupingVisitor"
39643
+ scout_compute_api_GroupingVisitor.__qualname__ = "GroupingVisitor"
39644
+ scout_compute_api_GroupingVisitor.__module__ = "nominal_api.scout_compute_api"
39645
+
39646
+
39475
39647
  class scout_compute_api_HighPassConfiguration(ConjureBeanType):
39476
39648
 
39477
39649
  @builtins.classmethod
@@ -44302,16 +44474,18 @@ class scout_compute_api_RunChannel(ConjureBeanType):
44302
44474
  'run_rid': ConjureFieldDefinition('runRid', scout_compute_api_StringConstant),
44303
44475
  'data_scope_name': ConjureFieldDefinition('dataScopeName', scout_compute_api_StringConstant),
44304
44476
  'channel': ConjureFieldDefinition('channel', scout_compute_api_StringConstant),
44305
- 'additional_tags': ConjureFieldDefinition('additionalTags', Dict[str, scout_compute_api_StringConstant])
44477
+ 'additional_tags': ConjureFieldDefinition('additionalTags', Dict[str, scout_compute_api_StringConstant]),
44478
+ 'tags_to_group_by': ConjureFieldDefinition('tagsToGroupBy', List[str])
44306
44479
  }
44307
44480
 
44308
- __slots__: List[str] = ['_run_rid', '_data_scope_name', '_channel', '_additional_tags']
44481
+ __slots__: List[str] = ['_run_rid', '_data_scope_name', '_channel', '_additional_tags', '_tags_to_group_by']
44309
44482
 
44310
- def __init__(self, additional_tags: Dict[str, "scout_compute_api_StringConstant"], channel: "scout_compute_api_StringConstant", data_scope_name: "scout_compute_api_StringConstant", run_rid: "scout_compute_api_StringConstant") -> None:
44483
+ def __init__(self, additional_tags: Dict[str, "scout_compute_api_StringConstant"], channel: "scout_compute_api_StringConstant", data_scope_name: "scout_compute_api_StringConstant", run_rid: "scout_compute_api_StringConstant", tags_to_group_by: List[str]) -> None:
44311
44484
  self._run_rid = run_rid
44312
44485
  self._data_scope_name = data_scope_name
44313
44486
  self._channel = channel
44314
44487
  self._additional_tags = additional_tags
44488
+ self._tags_to_group_by = tags_to_group_by
44315
44489
 
44316
44490
  @builtins.property
44317
44491
  def run_rid(self) -> "scout_compute_api_StringConstant":
@@ -44337,6 +44511,14 @@ both sets of tag filters. For log series, include arg filters here in addition t
44337
44511
  """
44338
44512
  return self._additional_tags
44339
44513
 
44514
+ @builtins.property
44515
+ def tags_to_group_by(self) -> List[str]:
44516
+ """
44517
+ Tags that the channel should be grouped by. If this is non-empty a grouped result will be returned
44518
+ with an entry for each grouping.
44519
+ """
44520
+ return self._tags_to_group_by
44521
+
44340
44522
 
44341
44523
  scout_compute_api_RunChannel.__name__ = "RunChannel"
44342
44524
  scout_compute_api_RunChannel.__qualname__ = "RunChannel"
@@ -49510,14 +49692,16 @@ class scout_compute_resolved_api_ClickHouseSeriesResolutionDetails(ConjureBeanTy
49510
49692
  return {
49511
49693
  'channel': ConjureFieldDefinition('channel', api_Channel),
49512
49694
  'tags': ConjureFieldDefinition('tags', Dict[api_TagName, api_TagValue]),
49695
+ 'tags_to_group_by': ConjureFieldDefinition('tagsToGroupBy', List[api_TagName]),
49513
49696
  'org_rid': ConjureFieldDefinition('orgRid', authentication_api_OrgRid)
49514
49697
  }
49515
49698
 
49516
- __slots__: List[str] = ['_channel', '_tags', '_org_rid']
49699
+ __slots__: List[str] = ['_channel', '_tags', '_tags_to_group_by', '_org_rid']
49517
49700
 
49518
- def __init__(self, channel: str, org_rid: str, tags: Dict[str, str]) -> None:
49701
+ def __init__(self, channel: str, org_rid: str, tags: Dict[str, str], tags_to_group_by: List[str]) -> None:
49519
49702
  self._channel = channel
49520
49703
  self._tags = tags
49704
+ self._tags_to_group_by = tags_to_group_by
49521
49705
  self._org_rid = org_rid
49522
49706
 
49523
49707
  @builtins.property
@@ -49528,6 +49712,10 @@ class scout_compute_resolved_api_ClickHouseSeriesResolutionDetails(ConjureBeanTy
49528
49712
  def tags(self) -> Dict[str, str]:
49529
49713
  return self._tags
49530
49714
 
49715
+ @builtins.property
49716
+ def tags_to_group_by(self) -> List[str]:
49717
+ return self._tags_to_group_by
49718
+
49531
49719
  @builtins.property
49532
49720
  def org_rid(self) -> str:
49533
49721
  return self._org_rid
@@ -76063,6 +76251,10 @@ class storage_series_api_NominalDataType(ConjureEnumType):
76063
76251
  '''LOG'''
76064
76252
  INT64 = 'INT64'
76065
76253
  '''INT64'''
76254
+ DOUBLE_ARRAY = 'DOUBLE_ARRAY'
76255
+ '''DOUBLE_ARRAY'''
76256
+ STRING_ARRAY = 'STRING_ARRAY'
76257
+ '''STRING_ARRAY'''
76066
76258
  UNKNOWN = 'UNKNOWN'
76067
76259
  '''UNKNOWN'''
76068
76260
 
@@ -76075,6 +76267,84 @@ storage_series_api_NominalDataType.__qualname__ = "NominalDataType"
76075
76267
  storage_series_api_NominalDataType.__module__ = "nominal_api.storage_series_api"
76076
76268
 
76077
76269
 
76270
+ class storage_writer_api_ArrayPoints(ConjureUnionType):
76271
+ """Array points for the internal API for directly writing points which supports all points types."""
76272
+ _double: Optional[List["storage_writer_api_DoubleArrayPoint"]] = None
76273
+ _string: Optional[List["storage_writer_api_StringArrayPoint"]] = None
76274
+
76275
+ @builtins.classmethod
76276
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
76277
+ return {
76278
+ 'double': ConjureFieldDefinition('double', List[storage_writer_api_DoubleArrayPoint]),
76279
+ 'string': ConjureFieldDefinition('string', List[storage_writer_api_StringArrayPoint])
76280
+ }
76281
+
76282
+ def __init__(
76283
+ self,
76284
+ double: Optional[List["storage_writer_api_DoubleArrayPoint"]] = None,
76285
+ string: Optional[List["storage_writer_api_StringArrayPoint"]] = None,
76286
+ type_of_union: Optional[str] = None
76287
+ ) -> None:
76288
+ if type_of_union is None:
76289
+ if (double is not None) + (string is not None) != 1:
76290
+ raise ValueError('a union must contain a single member')
76291
+
76292
+ if double is not None:
76293
+ self._double = double
76294
+ self._type = 'double'
76295
+ if string is not None:
76296
+ self._string = string
76297
+ self._type = 'string'
76298
+
76299
+ elif type_of_union == 'double':
76300
+ if double is None:
76301
+ raise ValueError('a union value must not be None')
76302
+ self._double = double
76303
+ self._type = 'double'
76304
+ elif type_of_union == 'string':
76305
+ if string is None:
76306
+ raise ValueError('a union value must not be None')
76307
+ self._string = string
76308
+ self._type = 'string'
76309
+
76310
+ @builtins.property
76311
+ def double(self) -> Optional[List["storage_writer_api_DoubleArrayPoint"]]:
76312
+ return self._double
76313
+
76314
+ @builtins.property
76315
+ def string(self) -> Optional[List["storage_writer_api_StringArrayPoint"]]:
76316
+ return self._string
76317
+
76318
+ def accept(self, visitor) -> Any:
76319
+ if not isinstance(visitor, storage_writer_api_ArrayPointsVisitor):
76320
+ raise ValueError('{} is not an instance of storage_writer_api_ArrayPointsVisitor'.format(visitor.__class__.__name__))
76321
+ if self._type == 'double' and self.double is not None:
76322
+ return visitor._double(self.double)
76323
+ if self._type == 'string' and self.string is not None:
76324
+ return visitor._string(self.string)
76325
+
76326
+
76327
+ storage_writer_api_ArrayPoints.__name__ = "ArrayPoints"
76328
+ storage_writer_api_ArrayPoints.__qualname__ = "ArrayPoints"
76329
+ storage_writer_api_ArrayPoints.__module__ = "nominal_api.storage_writer_api"
76330
+
76331
+
76332
+ class storage_writer_api_ArrayPointsVisitor:
76333
+
76334
+ @abstractmethod
76335
+ def _double(self, double: List["storage_writer_api_DoubleArrayPoint"]) -> Any:
76336
+ pass
76337
+
76338
+ @abstractmethod
76339
+ def _string(self, string: List["storage_writer_api_StringArrayPoint"]) -> Any:
76340
+ pass
76341
+
76342
+
76343
+ storage_writer_api_ArrayPointsVisitor.__name__ = "ArrayPointsVisitor"
76344
+ storage_writer_api_ArrayPointsVisitor.__qualname__ = "ArrayPointsVisitor"
76345
+ storage_writer_api_ArrayPointsVisitor.__module__ = "nominal_api.storage_writer_api"
76346
+
76347
+
76078
76348
  class storage_writer_api_DirectNominalChannelWriterService(Service):
76079
76349
  """
76080
76350
  Writes data points directly to Nominal's managed database offering.
@@ -76121,6 +76391,35 @@ storage_writer_api_DirectNominalChannelWriterService.__qualname__ = "DirectNomin
76121
76391
  storage_writer_api_DirectNominalChannelWriterService.__module__ = "nominal_api.storage_writer_api"
76122
76392
 
76123
76393
 
76394
+ class storage_writer_api_DoubleArrayPoint(ConjureBeanType):
76395
+
76396
+ @builtins.classmethod
76397
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
76398
+ return {
76399
+ 'timestamp': ConjureFieldDefinition('timestamp', api_Timestamp),
76400
+ 'value': ConjureFieldDefinition('value', List[float])
76401
+ }
76402
+
76403
+ __slots__: List[str] = ['_timestamp', '_value']
76404
+
76405
+ def __init__(self, timestamp: "api_Timestamp", value: List[float]) -> None:
76406
+ self._timestamp = timestamp
76407
+ self._value = value
76408
+
76409
+ @builtins.property
76410
+ def timestamp(self) -> "api_Timestamp":
76411
+ return self._timestamp
76412
+
76413
+ @builtins.property
76414
+ def value(self) -> List[float]:
76415
+ return self._value
76416
+
76417
+
76418
+ storage_writer_api_DoubleArrayPoint.__name__ = "DoubleArrayPoint"
76419
+ storage_writer_api_DoubleArrayPoint.__qualname__ = "DoubleArrayPoint"
76420
+ storage_writer_api_DoubleArrayPoint.__module__ = "nominal_api.storage_writer_api"
76421
+
76422
+
76124
76423
  class storage_writer_api_DoublePoint(ConjureBeanType):
76125
76424
 
76126
76425
  @builtins.classmethod
@@ -76513,6 +76812,7 @@ Logs specifically are supported externally via a separate endpoint."""
76513
76812
  _double: Optional[List["storage_writer_api_DoublePoint"]] = None
76514
76813
  _log: Optional[List["storage_writer_api_LogPoint"]] = None
76515
76814
  _int_: Optional[List["storage_writer_api_IntPoint"]] = None
76815
+ _array: Optional["storage_writer_api_ArrayPoints"] = None
76516
76816
 
76517
76817
  @builtins.classmethod
76518
76818
  def _options(cls) -> Dict[str, ConjureFieldDefinition]:
@@ -76520,7 +76820,8 @@ Logs specifically are supported externally via a separate endpoint."""
76520
76820
  'string': ConjureFieldDefinition('string', List[storage_writer_api_StringPoint]),
76521
76821
  'double': ConjureFieldDefinition('double', List[storage_writer_api_DoublePoint]),
76522
76822
  'log': ConjureFieldDefinition('log', List[storage_writer_api_LogPoint]),
76523
- 'int_': ConjureFieldDefinition('int', List[storage_writer_api_IntPoint])
76823
+ 'int_': ConjureFieldDefinition('int', List[storage_writer_api_IntPoint]),
76824
+ 'array': ConjureFieldDefinition('array', storage_writer_api_ArrayPoints)
76524
76825
  }
76525
76826
 
76526
76827
  def __init__(
@@ -76529,10 +76830,11 @@ Logs specifically are supported externally via a separate endpoint."""
76529
76830
  double: Optional[List["storage_writer_api_DoublePoint"]] = None,
76530
76831
  log: Optional[List["storage_writer_api_LogPoint"]] = None,
76531
76832
  int_: Optional[List["storage_writer_api_IntPoint"]] = None,
76833
+ array: Optional["storage_writer_api_ArrayPoints"] = None,
76532
76834
  type_of_union: Optional[str] = None
76533
76835
  ) -> None:
76534
76836
  if type_of_union is None:
76535
- if (string is not None) + (double is not None) + (log is not None) + (int_ is not None) != 1:
76837
+ if (string is not None) + (double is not None) + (log is not None) + (int_ is not None) + (array is not None) != 1:
76536
76838
  raise ValueError('a union must contain a single member')
76537
76839
 
76538
76840
  if string is not None:
@@ -76547,6 +76849,9 @@ Logs specifically are supported externally via a separate endpoint."""
76547
76849
  if int_ is not None:
76548
76850
  self._int_ = int_
76549
76851
  self._type = 'int'
76852
+ if array is not None:
76853
+ self._array = array
76854
+ self._type = 'array'
76550
76855
 
76551
76856
  elif type_of_union == 'string':
76552
76857
  if string is None:
@@ -76568,6 +76873,11 @@ Logs specifically are supported externally via a separate endpoint."""
76568
76873
  raise ValueError('a union value must not be None')
76569
76874
  self._int_ = int_
76570
76875
  self._type = 'int'
76876
+ elif type_of_union == 'array':
76877
+ if array is None:
76878
+ raise ValueError('a union value must not be None')
76879
+ self._array = array
76880
+ self._type = 'array'
76571
76881
 
76572
76882
  @builtins.property
76573
76883
  def string(self) -> Optional[List["storage_writer_api_StringPoint"]]:
@@ -76585,6 +76895,10 @@ Logs specifically are supported externally via a separate endpoint."""
76585
76895
  def int_(self) -> Optional[List["storage_writer_api_IntPoint"]]:
76586
76896
  return self._int_
76587
76897
 
76898
+ @builtins.property
76899
+ def array(self) -> Optional["storage_writer_api_ArrayPoints"]:
76900
+ return self._array
76901
+
76588
76902
  def accept(self, visitor) -> Any:
76589
76903
  if not isinstance(visitor, storage_writer_api_PointsVisitor):
76590
76904
  raise ValueError('{} is not an instance of storage_writer_api_PointsVisitor'.format(visitor.__class__.__name__))
@@ -76596,6 +76910,8 @@ Logs specifically are supported externally via a separate endpoint."""
76596
76910
  return visitor._log(self.log)
76597
76911
  if self._type == 'int' and self.int_ is not None:
76598
76912
  return visitor._int(self.int_)
76913
+ if self._type == 'array' and self.array is not None:
76914
+ return visitor._array(self.array)
76599
76915
 
76600
76916
 
76601
76917
  storage_writer_api_Points.__name__ = "Points"
@@ -76621,6 +76937,10 @@ class storage_writer_api_PointsVisitor:
76621
76937
  def _int(self, int_: List["storage_writer_api_IntPoint"]) -> Any:
76622
76938
  pass
76623
76939
 
76940
+ @abstractmethod
76941
+ def _array(self, array: "storage_writer_api_ArrayPoints") -> Any:
76942
+ pass
76943
+
76624
76944
 
76625
76945
  storage_writer_api_PointsVisitor.__name__ = "PointsVisitor"
76626
76946
  storage_writer_api_PointsVisitor.__qualname__ = "PointsVisitor"
@@ -76795,6 +77115,35 @@ storage_writer_api_RecordsBatchExternal.__qualname__ = "RecordsBatchExternal"
76795
77115
  storage_writer_api_RecordsBatchExternal.__module__ = "nominal_api.storage_writer_api"
76796
77116
 
76797
77117
 
77118
+ class storage_writer_api_StringArrayPoint(ConjureBeanType):
77119
+
77120
+ @builtins.classmethod
77121
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
77122
+ return {
77123
+ 'timestamp': ConjureFieldDefinition('timestamp', api_Timestamp),
77124
+ 'value': ConjureFieldDefinition('value', List[str])
77125
+ }
77126
+
77127
+ __slots__: List[str] = ['_timestamp', '_value']
77128
+
77129
+ def __init__(self, timestamp: "api_Timestamp", value: List[str]) -> None:
77130
+ self._timestamp = timestamp
77131
+ self._value = value
77132
+
77133
+ @builtins.property
77134
+ def timestamp(self) -> "api_Timestamp":
77135
+ return self._timestamp
77136
+
77137
+ @builtins.property
77138
+ def value(self) -> List[str]:
77139
+ return self._value
77140
+
77141
+
77142
+ storage_writer_api_StringArrayPoint.__name__ = "StringArrayPoint"
77143
+ storage_writer_api_StringArrayPoint.__qualname__ = "StringArrayPoint"
77144
+ storage_writer_api_StringArrayPoint.__module__ = "nominal_api.storage_writer_api"
77145
+
77146
+
76798
77147
  class storage_writer_api_StringPoint(ConjureBeanType):
76799
77148
 
76800
77149
  @builtins.classmethod
@@ -80043,14 +80392,16 @@ class timeseries_logicalseries_api_NominalLocator(ConjureBeanType):
80043
80392
  return {
80044
80393
  'channel': ConjureFieldDefinition('channel', api_Channel),
80045
80394
  'tags': ConjureFieldDefinition('tags', Dict[api_TagName, api_TagValue]),
80395
+ 'tags_to_group_by': ConjureFieldDefinition('tagsToGroupBy', List[api_TagName]),
80046
80396
  'type': ConjureFieldDefinition('type', storage_series_api_NominalDataType)
80047
80397
  }
80048
80398
 
80049
- __slots__: List[str] = ['_channel', '_tags', '_type']
80399
+ __slots__: List[str] = ['_channel', '_tags', '_tags_to_group_by', '_type']
80050
80400
 
80051
- def __init__(self, channel: str, tags: Dict[str, str], type: "storage_series_api_NominalDataType") -> None:
80401
+ def __init__(self, channel: str, tags: Dict[str, str], tags_to_group_by: List[str], type: "storage_series_api_NominalDataType") -> None:
80052
80402
  self._channel = channel
80053
80403
  self._tags = tags
80404
+ self._tags_to_group_by = tags_to_group_by
80054
80405
  self._type = type
80055
80406
 
80056
80407
  @builtins.property
@@ -80061,6 +80412,10 @@ class timeseries_logicalseries_api_NominalLocator(ConjureBeanType):
80061
80412
  def tags(self) -> Dict[str, str]:
80062
80413
  return self._tags
80063
80414
 
80415
+ @builtins.property
80416
+ def tags_to_group_by(self) -> List[str]:
80417
+ return self._tags_to_group_by
80418
+
80064
80419
  @builtins.property
80065
80420
  def type(self) -> "storage_series_api_NominalDataType":
80066
80421
  return self._type
@@ -80107,15 +80462,17 @@ class timeseries_logicalseries_api_ResolveSeriesRequest(ConjureBeanType):
80107
80462
  return {
80108
80463
  'name': ConjureFieldDefinition('name', api_Channel),
80109
80464
  'datasource': ConjureFieldDefinition('datasource', api_rids_DataSourceRid),
80110
- 'tags': ConjureFieldDefinition('tags', Dict[api_TagName, api_TagValue])
80465
+ 'tags': ConjureFieldDefinition('tags', Dict[api_TagName, api_TagValue]),
80466
+ 'tags_to_group_by': ConjureFieldDefinition('tagsToGroupBy', List[api_TagName])
80111
80467
  }
80112
80468
 
80113
- __slots__: List[str] = ['_name', '_datasource', '_tags']
80469
+ __slots__: List[str] = ['_name', '_datasource', '_tags', '_tags_to_group_by']
80114
80470
 
80115
- def __init__(self, datasource: str, name: str, tags: Dict[str, str]) -> None:
80471
+ def __init__(self, datasource: str, name: str, tags: Dict[str, str], tags_to_group_by: List[str]) -> None:
80116
80472
  self._name = name
80117
80473
  self._datasource = datasource
80118
80474
  self._tags = tags
80475
+ self._tags_to_group_by = tags_to_group_by
80119
80476
 
80120
80477
  @builtins.property
80121
80478
  def name(self) -> str:
@@ -80129,6 +80486,10 @@ class timeseries_logicalseries_api_ResolveSeriesRequest(ConjureBeanType):
80129
80486
  def tags(self) -> Dict[str, str]:
80130
80487
  return self._tags
80131
80488
 
80489
+ @builtins.property
80490
+ def tags_to_group_by(self) -> List[str]:
80491
+ return self._tags_to_group_by
80492
+
80132
80493
 
80133
80494
  timeseries_logicalseries_api_ResolveSeriesRequest.__name__ = "ResolveSeriesRequest"
80134
80495
  timeseries_logicalseries_api_ResolveSeriesRequest.__qualname__ = "ResolveSeriesRequest"
@@ -133,6 +133,10 @@ from .._impl import (
133
133
  scout_compute_api_GeoSummaryStrategyVisitor as GeoSummaryStrategyVisitor,
134
134
  scout_compute_api_GeoTemporalSummary as GeoTemporalSummary,
135
135
  scout_compute_api_GeoTimeBucket as GeoTimeBucket,
136
+ scout_compute_api_GroupedComputeNodeResponse as GroupedComputeNodeResponse,
137
+ scout_compute_api_GroupedComputeNodeResponses as GroupedComputeNodeResponses,
138
+ scout_compute_api_Grouping as Grouping,
139
+ scout_compute_api_GroupingVisitor as GroupingVisitor,
136
140
  scout_compute_api_HighPassConfiguration as HighPassConfiguration,
137
141
  scout_compute_api_Histogram as Histogram,
138
142
  scout_compute_api_HistogramChannelCount as HistogramChannelCount,
@@ -1,6 +1,9 @@
1
1
  # coding=utf-8
2
2
  from .._impl import (
3
+ storage_writer_api_ArrayPoints as ArrayPoints,
4
+ storage_writer_api_ArrayPointsVisitor as ArrayPointsVisitor,
3
5
  storage_writer_api_DirectNominalChannelWriterService as DirectNominalChannelWriterService,
6
+ storage_writer_api_DoubleArrayPoint as DoubleArrayPoint,
4
7
  storage_writer_api_DoublePoint as DoublePoint,
5
8
  storage_writer_api_Field as Field,
6
9
  storage_writer_api_IntPoint as IntPoint,
@@ -14,6 +17,7 @@ from .._impl import (
14
17
  storage_writer_api_PointsVisitor as PointsVisitor,
15
18
  storage_writer_api_RecordsBatch as RecordsBatch,
16
19
  storage_writer_api_RecordsBatchExternal as RecordsBatchExternal,
20
+ storage_writer_api_StringArrayPoint as StringArrayPoint,
17
21
  storage_writer_api_StringPoint as StringPoint,
18
22
  storage_writer_api_TelegrafMetric as TelegrafMetric,
19
23
  storage_writer_api_WriteBatchesRequest as WriteBatchesRequest,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nominal-api
3
- Version: 0.685.0
3
+ Version: 0.687.0
4
4
  Requires-Python: >=3.8
5
5
  Requires-Dist: requests
6
6
  Requires-Dist: conjure-python-client<3,>=2.8.0
@@ -1,5 +1,5 @@
1
- nominal_api/__init__.py,sha256=PpAYBL-xk3x2jETGlRY9uignX6t4p1pzAMTLzRpPmIo,1955
2
- nominal_api/_impl.py,sha256=5Jn2eGkYVFnnM-rtMs2fLw5qPEIU2B_LMYXY9yBN2Cs,3165392
1
+ nominal_api/__init__.py,sha256=82q0gJ2eYLu1WuAhwlRnzOkbjVaUn0pEB8EDGC39W-s,1955
2
+ nominal_api/_impl.py,sha256=CrFZwrm9oyvT7ylhCtsl5UPlijg7xyWAif3lLZSDOIs,3179901
3
3
  nominal_api/py.typed,sha256=eoZ6GfifbqhMLNzjlqRDVil-yyBkOmVN9ujSgJWNBlY,15
4
4
  nominal_api/api/__init__.py,sha256=1oJPOuAMfV2uClPUW8Ie1nj2Y6j81TDpedcc3yUFTe0,1294
5
5
  nominal_api/api_ids/__init__.py,sha256=CAtt44XgNZEEUDv-BbEbYtuxQ8y1wqSZU-STjBYdZv8,80
@@ -30,7 +30,7 @@ nominal_api/scout_checklistexecution_api/__init__.py,sha256=1_nOnCSWn7bniSvTfskQ
30
30
  nominal_api/scout_checks_api/__init__.py,sha256=cNCQHBX38YqQv2qJMXwqUhjpCbayA3R9FqMmtKwzA3U,5160
31
31
  nominal_api/scout_comparisonnotebook_api/__init__.py,sha256=8BL5jE9NDxqCj9DyvZWSPhq6zw2J7xp6aLsl3x9rpyw,4530
32
32
  nominal_api/scout_comparisonrun_api/__init__.py,sha256=1LCXQe64tDqqeMQixW8PI-R_edSz7F5X0x2_ufEuC8M,480
33
- nominal_api/scout_compute_api/__init__.py,sha256=GsQzqbpslKY3zkMSPkuK760t39WqPnUnk_OeCdq6sfU,19604
33
+ nominal_api/scout_compute_api/__init__.py,sha256=hqFzmHW1b58r3otIul1aUb_Qr0mL4QzO0Jq-GA9A9qU,19868
34
34
  nominal_api/scout_compute_api_deprecated/__init__.py,sha256=RggSfc6C1VR1-kNXPWybpfw3hZbkQ1gvxEisFZCHdnM,3732
35
35
  nominal_api/scout_compute_resolved_api/__init__.py,sha256=LJFZQR1u_EQbZLzLGWMQVS8sEsKsFSmsITrlYGI5JsA,10801
36
36
  nominal_api/scout_dataexport_api/__init__.py,sha256=pWRQdQJOObD0jITRYLw3AxeDJSrJQqAdFZACxULqA4o,1487
@@ -61,7 +61,7 @@ nominal_api/security_api_workspace/__init__.py,sha256=W-TKCfSPTZ5XvLP0xFhkjCLKUW
61
61
  nominal_api/storage_datasource_api/__init__.py,sha256=jh_OZE_b4nBNAvnyenBjw8aGZOnvIXR6qvUKd31fXOk,445
62
62
  nominal_api/storage_deletion_api/__init__.py,sha256=2bIuAU0tcnT_8lqae0fcII4R45A_RzfV0y_E-vTkpSQ,267
63
63
  nominal_api/storage_series_api/__init__.py,sha256=F2ctWx8yqb4-JtfHkLzCq74njNEpGwr69b9fWQp9UAQ,99
64
- nominal_api/storage_writer_api/__init__.py,sha256=1cupGTDJj_KcUCNEQFKIRuX0fWHzk4TuYGs9Q50nBaQ,1250
64
+ nominal_api/storage_writer_api/__init__.py,sha256=gGXpDRA9WJYYZ6F6dujahrgmWIZ337gUl2X7TQryFgE,1488
65
65
  nominal_api/themes_api/__init__.py,sha256=w-G93T5f6_2zSSUi-ffyUHxH8QA_2oI9jM7YBSMFpwY,924
66
66
  nominal_api/timeseries_archetype/__init__.py,sha256=eKdgdZoOcZg_9pmec6J86NlgQdhxhi1282WUAFxghJ8,115
67
67
  nominal_api/timeseries_archetype_api/__init__.py,sha256=IREibRlChT9ugCAkeMKm7RiAChsKV4KJZ-DcKkVLC_U,1396
@@ -72,7 +72,7 @@ nominal_api/timeseries_logicalseries_api/__init__.py,sha256=Q9iZHurmyDsJIFbUg-Eb
72
72
  nominal_api/timeseries_seriescache/__init__.py,sha256=tFCkNuyrVMgtj-HIl1pOYPJHaL2VikI4C_x97bX_Lcs,109
73
73
  nominal_api/timeseries_seriescache_api/__init__.py,sha256=U9EhlqdF9qzD1O9al0vcvcdgS_C5lq-lN3Kmr0K3g84,1191
74
74
  nominal_api/upload_api/__init__.py,sha256=ZMudWMSqCrNozohbHaJKuxJnT9Edepe7nxxXMz_pT9k,87
75
- nominal_api-0.685.0.dist-info/METADATA,sha256=Aqe_HwYnojzGQM2mmW_ahygY9TM10Spo8NiQg41Q0YU,199
76
- nominal_api-0.685.0.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
77
- nominal_api-0.685.0.dist-info/top_level.txt,sha256=gI1ZdNJbuHcJZeKtCzzBXsEtpU1GX6XJKs6ksi_gCRA,12
78
- nominal_api-0.685.0.dist-info/RECORD,,
75
+ nominal_api-0.687.0.dist-info/METADATA,sha256=9hsPDG8Y2cJL6Yg2Y2ydUg4zRgEG19jahCDDIpfY3uE,199
76
+ nominal_api-0.687.0.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
77
+ nominal_api-0.687.0.dist-info/top_level.txt,sha256=gI1ZdNJbuHcJZeKtCzzBXsEtpU1GX6XJKs6ksi_gCRA,12
78
+ nominal_api-0.687.0.dist-info/RECORD,,