nominal-api 0.501.0__py3-none-any.whl → 0.502.0__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
nominal_api/__init__.py CHANGED
@@ -67,5 +67,5 @@ __all__ = [
67
67
 
68
68
  __conjure_generator_version__ = "4.9.0"
69
69
 
70
- __version__ = "0.501.0"
70
+ __version__ = "0.502.0"
71
71
 
nominal_api/_impl.py CHANGED
@@ -4034,7 +4034,7 @@ class datasource_api_SearchFilteredChannelsRequest(ConjureBeanType):
4034
4034
  @builtins.property
4035
4035
  def result_size(self) -> Optional[int]:
4036
4036
  """
4037
- Defaults to 10000. Will throw if larger than 10000.
4037
+ Defaults to 200. Will throw if larger than 200.
4038
4038
  """
4039
4039
  return self._result_size
4040
4040
 
@@ -5935,6 +5935,112 @@ ingest_api_CustomTimestamp.__qualname__ = "CustomTimestamp"
5935
5935
  ingest_api_CustomTimestamp.__module__ = "nominal_api.ingest_api"
5936
5936
 
5937
5937
 
5938
+ class ingest_api_DataflashOpts(ConjureBeanType):
5939
+
5940
+ @builtins.classmethod
5941
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
5942
+ return {
5943
+ 'source': ConjureFieldDefinition('source', ingest_api_IngestSource),
5944
+ 'target': ConjureFieldDefinition('target', ingest_api_DatasetIngestTarget)
5945
+ }
5946
+
5947
+ __slots__: List[str] = ['_source', '_target']
5948
+
5949
+ def __init__(self, source: "ingest_api_IngestSource", target: "ingest_api_DatasetIngestTarget") -> None:
5950
+ self._source = source
5951
+ self._target = target
5952
+
5953
+ @builtins.property
5954
+ def source(self) -> "ingest_api_IngestSource":
5955
+ return self._source
5956
+
5957
+ @builtins.property
5958
+ def target(self) -> "ingest_api_DatasetIngestTarget":
5959
+ return self._target
5960
+
5961
+
5962
+ ingest_api_DataflashOpts.__name__ = "DataflashOpts"
5963
+ ingest_api_DataflashOpts.__qualname__ = "DataflashOpts"
5964
+ ingest_api_DataflashOpts.__module__ = "nominal_api.ingest_api"
5965
+
5966
+
5967
+ class ingest_api_DatasetIngestTarget(ConjureUnionType):
5968
+ _new: Optional["ingest_api_NewDatasetIngestDestination"] = None
5969
+ _existing: Optional["ingest_api_ExistingDatasetIngestDestination"] = None
5970
+
5971
+ @builtins.classmethod
5972
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
5973
+ return {
5974
+ 'new': ConjureFieldDefinition('new', ingest_api_NewDatasetIngestDestination),
5975
+ 'existing': ConjureFieldDefinition('existing', ingest_api_ExistingDatasetIngestDestination)
5976
+ }
5977
+
5978
+ def __init__(
5979
+ self,
5980
+ new: Optional["ingest_api_NewDatasetIngestDestination"] = None,
5981
+ existing: Optional["ingest_api_ExistingDatasetIngestDestination"] = None,
5982
+ type_of_union: Optional[str] = None
5983
+ ) -> None:
5984
+ if type_of_union is None:
5985
+ if (new is not None) + (existing is not None) != 1:
5986
+ raise ValueError('a union must contain a single member')
5987
+
5988
+ if new is not None:
5989
+ self._new = new
5990
+ self._type = 'new'
5991
+ if existing is not None:
5992
+ self._existing = existing
5993
+ self._type = 'existing'
5994
+
5995
+ elif type_of_union == 'new':
5996
+ if new is None:
5997
+ raise ValueError('a union value must not be None')
5998
+ self._new = new
5999
+ self._type = 'new'
6000
+ elif type_of_union == 'existing':
6001
+ if existing is None:
6002
+ raise ValueError('a union value must not be None')
6003
+ self._existing = existing
6004
+ self._type = 'existing'
6005
+
6006
+ @builtins.property
6007
+ def new(self) -> Optional["ingest_api_NewDatasetIngestDestination"]:
6008
+ return self._new
6009
+
6010
+ @builtins.property
6011
+ def existing(self) -> Optional["ingest_api_ExistingDatasetIngestDestination"]:
6012
+ return self._existing
6013
+
6014
+ def accept(self, visitor) -> Any:
6015
+ if not isinstance(visitor, ingest_api_DatasetIngestTargetVisitor):
6016
+ raise ValueError('{} is not an instance of ingest_api_DatasetIngestTargetVisitor'.format(visitor.__class__.__name__))
6017
+ if self._type == 'new' and self.new is not None:
6018
+ return visitor._new(self.new)
6019
+ if self._type == 'existing' and self.existing is not None:
6020
+ return visitor._existing(self.existing)
6021
+
6022
+
6023
+ ingest_api_DatasetIngestTarget.__name__ = "DatasetIngestTarget"
6024
+ ingest_api_DatasetIngestTarget.__qualname__ = "DatasetIngestTarget"
6025
+ ingest_api_DatasetIngestTarget.__module__ = "nominal_api.ingest_api"
6026
+
6027
+
6028
+ class ingest_api_DatasetIngestTargetVisitor:
6029
+
6030
+ @abstractmethod
6031
+ def _new(self, new: "ingest_api_NewDatasetIngestDestination") -> Any:
6032
+ pass
6033
+
6034
+ @abstractmethod
6035
+ def _existing(self, existing: "ingest_api_ExistingDatasetIngestDestination") -> Any:
6036
+ pass
6037
+
6038
+
6039
+ ingest_api_DatasetIngestTargetVisitor.__name__ = "DatasetIngestTargetVisitor"
6040
+ ingest_api_DatasetIngestTargetVisitor.__qualname__ = "DatasetIngestTargetVisitor"
6041
+ ingest_api_DatasetIngestTargetVisitor.__module__ = "nominal_api.ingest_api"
6042
+
6043
+
5938
6044
  class ingest_api_DatasetSpec(ConjureBeanType):
5939
6045
 
5940
6046
  @builtins.classmethod
@@ -6320,6 +6426,35 @@ ingest_api_IngestDataSourceVisitor.__qualname__ = "IngestDataSourceVisitor"
6320
6426
  ingest_api_IngestDataSourceVisitor.__module__ = "nominal_api.ingest_api"
6321
6427
 
6322
6428
 
6429
+ class ingest_api_IngestDatasetFileDetails(ConjureBeanType):
6430
+
6431
+ @builtins.classmethod
6432
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
6433
+ return {
6434
+ 'dataset_file_id': ConjureFieldDefinition('datasetFileId', str),
6435
+ 'dataset_rid': ConjureFieldDefinition('datasetRid', api_rids_DatasetRid)
6436
+ }
6437
+
6438
+ __slots__: List[str] = ['_dataset_file_id', '_dataset_rid']
6439
+
6440
+ def __init__(self, dataset_file_id: str, dataset_rid: str) -> None:
6441
+ self._dataset_file_id = dataset_file_id
6442
+ self._dataset_rid = dataset_rid
6443
+
6444
+ @builtins.property
6445
+ def dataset_file_id(self) -> str:
6446
+ return self._dataset_file_id
6447
+
6448
+ @builtins.property
6449
+ def dataset_rid(self) -> str:
6450
+ return self._dataset_rid
6451
+
6452
+
6453
+ ingest_api_IngestDatasetFileDetails.__name__ = "IngestDatasetFileDetails"
6454
+ ingest_api_IngestDatasetFileDetails.__qualname__ = "IngestDatasetFileDetails"
6455
+ ingest_api_IngestDatasetFileDetails.__module__ = "nominal_api.ingest_api"
6456
+
6457
+
6323
6458
  class ingest_api_IngestDestination(ConjureUnionType):
6324
6459
  _new_dataset: Optional["ingest_api_NewDatasetIngestDestination"] = None
6325
6460
  _existing_dataset: Optional["ingest_api_ExistingDatasetIngestDestination"] = None
@@ -6397,6 +6532,62 @@ ingest_api_IngestDestinationVisitor.__qualname__ = "IngestDestinationVisitor"
6397
6532
  ingest_api_IngestDestinationVisitor.__module__ = "nominal_api.ingest_api"
6398
6533
 
6399
6534
 
6535
+ class ingest_api_IngestDetails(ConjureUnionType):
6536
+ _dataset: Optional["ingest_api_IngestDatasetFileDetails"] = None
6537
+
6538
+ @builtins.classmethod
6539
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
6540
+ return {
6541
+ 'dataset': ConjureFieldDefinition('dataset', ingest_api_IngestDatasetFileDetails)
6542
+ }
6543
+
6544
+ def __init__(
6545
+ self,
6546
+ dataset: Optional["ingest_api_IngestDatasetFileDetails"] = None,
6547
+ type_of_union: Optional[str] = None
6548
+ ) -> None:
6549
+ if type_of_union is None:
6550
+ if (dataset is not None) != 1:
6551
+ raise ValueError('a union must contain a single member')
6552
+
6553
+ if dataset is not None:
6554
+ self._dataset = dataset
6555
+ self._type = 'dataset'
6556
+
6557
+ elif type_of_union == 'dataset':
6558
+ if dataset is None:
6559
+ raise ValueError('a union value must not be None')
6560
+ self._dataset = dataset
6561
+ self._type = 'dataset'
6562
+
6563
+ @builtins.property
6564
+ def dataset(self) -> Optional["ingest_api_IngestDatasetFileDetails"]:
6565
+ return self._dataset
6566
+
6567
+ def accept(self, visitor) -> Any:
6568
+ if not isinstance(visitor, ingest_api_IngestDetailsVisitor):
6569
+ raise ValueError('{} is not an instance of ingest_api_IngestDetailsVisitor'.format(visitor.__class__.__name__))
6570
+ if self._type == 'dataset' and self.dataset is not None:
6571
+ return visitor._dataset(self.dataset)
6572
+
6573
+
6574
+ ingest_api_IngestDetails.__name__ = "IngestDetails"
6575
+ ingest_api_IngestDetails.__qualname__ = "IngestDetails"
6576
+ ingest_api_IngestDetails.__module__ = "nominal_api.ingest_api"
6577
+
6578
+
6579
+ class ingest_api_IngestDetailsVisitor:
6580
+
6581
+ @abstractmethod
6582
+ def _dataset(self, dataset: "ingest_api_IngestDatasetFileDetails") -> Any:
6583
+ pass
6584
+
6585
+
6586
+ ingest_api_IngestDetailsVisitor.__name__ = "IngestDetailsVisitor"
6587
+ ingest_api_IngestDetailsVisitor.__qualname__ = "IngestDetailsVisitor"
6588
+ ingest_api_IngestDetailsVisitor.__module__ = "nominal_api.ingest_api"
6589
+
6590
+
6400
6591
  class ingest_api_IngestMcapRequest(ConjureBeanType):
6401
6592
 
6402
6593
  @builtins.classmethod
@@ -6498,6 +6689,83 @@ ingest_api_IngestMcapResponse.__qualname__ = "IngestMcapResponse"
6498
6689
  ingest_api_IngestMcapResponse.__module__ = "nominal_api.ingest_api"
6499
6690
 
6500
6691
 
6692
+ class ingest_api_IngestOptions(ConjureUnionType):
6693
+ _dataflash: Optional["ingest_api_DataflashOpts"] = None
6694
+ _mcap_protobuf_timeseries: Optional["ingest_api_McapProtobufTimeseriesOpts"] = None
6695
+
6696
+ @builtins.classmethod
6697
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
6698
+ return {
6699
+ 'dataflash': ConjureFieldDefinition('dataflash', ingest_api_DataflashOpts),
6700
+ 'mcap_protobuf_timeseries': ConjureFieldDefinition('mcapProtobufTimeseries', ingest_api_McapProtobufTimeseriesOpts)
6701
+ }
6702
+
6703
+ def __init__(
6704
+ self,
6705
+ dataflash: Optional["ingest_api_DataflashOpts"] = None,
6706
+ mcap_protobuf_timeseries: Optional["ingest_api_McapProtobufTimeseriesOpts"] = None,
6707
+ type_of_union: Optional[str] = None
6708
+ ) -> None:
6709
+ if type_of_union is None:
6710
+ if (dataflash is not None) + (mcap_protobuf_timeseries is not None) != 1:
6711
+ raise ValueError('a union must contain a single member')
6712
+
6713
+ if dataflash is not None:
6714
+ self._dataflash = dataflash
6715
+ self._type = 'dataflash'
6716
+ if mcap_protobuf_timeseries is not None:
6717
+ self._mcap_protobuf_timeseries = mcap_protobuf_timeseries
6718
+ self._type = 'mcapProtobufTimeseries'
6719
+
6720
+ elif type_of_union == 'dataflash':
6721
+ if dataflash is None:
6722
+ raise ValueError('a union value must not be None')
6723
+ self._dataflash = dataflash
6724
+ self._type = 'dataflash'
6725
+ elif type_of_union == 'mcapProtobufTimeseries':
6726
+ if mcap_protobuf_timeseries is None:
6727
+ raise ValueError('a union value must not be None')
6728
+ self._mcap_protobuf_timeseries = mcap_protobuf_timeseries
6729
+ self._type = 'mcapProtobufTimeseries'
6730
+
6731
+ @builtins.property
6732
+ def dataflash(self) -> Optional["ingest_api_DataflashOpts"]:
6733
+ return self._dataflash
6734
+
6735
+ @builtins.property
6736
+ def mcap_protobuf_timeseries(self) -> Optional["ingest_api_McapProtobufTimeseriesOpts"]:
6737
+ return self._mcap_protobuf_timeseries
6738
+
6739
+ def accept(self, visitor) -> Any:
6740
+ if not isinstance(visitor, ingest_api_IngestOptionsVisitor):
6741
+ raise ValueError('{} is not an instance of ingest_api_IngestOptionsVisitor'.format(visitor.__class__.__name__))
6742
+ if self._type == 'dataflash' and self.dataflash is not None:
6743
+ return visitor._dataflash(self.dataflash)
6744
+ if self._type == 'mcapProtobufTimeseries' and self.mcap_protobuf_timeseries is not None:
6745
+ return visitor._mcap_protobuf_timeseries(self.mcap_protobuf_timeseries)
6746
+
6747
+
6748
+ ingest_api_IngestOptions.__name__ = "IngestOptions"
6749
+ ingest_api_IngestOptions.__qualname__ = "IngestOptions"
6750
+ ingest_api_IngestOptions.__module__ = "nominal_api.ingest_api"
6751
+
6752
+
6753
+ class ingest_api_IngestOptionsVisitor:
6754
+
6755
+ @abstractmethod
6756
+ def _dataflash(self, dataflash: "ingest_api_DataflashOpts") -> Any:
6757
+ pass
6758
+
6759
+ @abstractmethod
6760
+ def _mcap_protobuf_timeseries(self, mcap_protobuf_timeseries: "ingest_api_McapProtobufTimeseriesOpts") -> Any:
6761
+ pass
6762
+
6763
+
6764
+ ingest_api_IngestOptionsVisitor.__name__ = "IngestOptionsVisitor"
6765
+ ingest_api_IngestOptionsVisitor.__qualname__ = "IngestOptionsVisitor"
6766
+ ingest_api_IngestOptionsVisitor.__module__ = "nominal_api.ingest_api"
6767
+
6768
+
6501
6769
  class ingest_api_IngestProgressV2(ConjureBeanType):
6502
6770
 
6503
6771
  @builtins.classmethod
@@ -6551,6 +6819,52 @@ ingest_api_IngestProgressV2.__qualname__ = "IngestProgressV2"
6551
6819
  ingest_api_IngestProgressV2.__module__ = "nominal_api.ingest_api"
6552
6820
 
6553
6821
 
6822
+ class ingest_api_IngestRequest(ConjureBeanType):
6823
+
6824
+ @builtins.classmethod
6825
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
6826
+ return {
6827
+ 'options': ConjureFieldDefinition('options', ingest_api_IngestOptions)
6828
+ }
6829
+
6830
+ __slots__: List[str] = ['_options']
6831
+
6832
+ def __init__(self, options: "ingest_api_IngestOptions") -> None:
6833
+ self._options = options
6834
+
6835
+ @builtins.property
6836
+ def options(self) -> "ingest_api_IngestOptions":
6837
+ return self._options
6838
+
6839
+
6840
+ ingest_api_IngestRequest.__name__ = "IngestRequest"
6841
+ ingest_api_IngestRequest.__qualname__ = "IngestRequest"
6842
+ ingest_api_IngestRequest.__module__ = "nominal_api.ingest_api"
6843
+
6844
+
6845
+ class ingest_api_IngestResponse(ConjureBeanType):
6846
+
6847
+ @builtins.classmethod
6848
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
6849
+ return {
6850
+ 'details': ConjureFieldDefinition('details', ingest_api_IngestDetails)
6851
+ }
6852
+
6853
+ __slots__: List[str] = ['_details']
6854
+
6855
+ def __init__(self, details: "ingest_api_IngestDetails") -> None:
6856
+ self._details = details
6857
+
6858
+ @builtins.property
6859
+ def details(self) -> "ingest_api_IngestDetails":
6860
+ return self._details
6861
+
6862
+
6863
+ ingest_api_IngestResponse.__name__ = "IngestResponse"
6864
+ ingest_api_IngestResponse.__qualname__ = "IngestResponse"
6865
+ ingest_api_IngestResponse.__module__ = "nominal_api.ingest_api"
6866
+
6867
+
6554
6868
  class ingest_api_IngestRunDataSource(ConjureBeanType):
6555
6869
 
6556
6870
  @builtins.classmethod
@@ -6685,6 +6999,40 @@ class ingest_api_IngestService(Service):
6685
6999
  The Ingest Service handles the data ingestion into Nominal/Clickhouse.
6686
7000
  """
6687
7001
 
7002
+ def ingest(self, auth_header: str, trigger_ingest: "ingest_api_IngestRequest") -> "ingest_api_IngestResponse":
7003
+ """
7004
+ Triggers an ingest job, allowing either creating a new dataset or uploading to an
7005
+ existing one. This endpoint is meant to supersede all other ingestion endpoints as their functionality
7006
+ gets migrated to this one.
7007
+ """
7008
+
7009
+ _headers: Dict[str, Any] = {
7010
+ 'Accept': 'application/json',
7011
+ 'Content-Type': 'application/json',
7012
+ 'Authorization': auth_header,
7013
+ }
7014
+
7015
+ _params: Dict[str, Any] = {
7016
+ }
7017
+
7018
+ _path_params: Dict[str, Any] = {
7019
+ }
7020
+
7021
+ _json: Any = ConjureEncoder().default(trigger_ingest)
7022
+
7023
+ _path = '/ingest/v1/ingest'
7024
+ _path = _path.format(**_path_params)
7025
+
7026
+ _response: Response = self._request(
7027
+ 'POST',
7028
+ self._uri + _path,
7029
+ params=_params,
7030
+ headers=_headers,
7031
+ json=_json)
7032
+
7033
+ _decoder = ConjureDecoder()
7034
+ return _decoder.decode(_response.json(), ingest_api_IngestResponse, self._return_none_for_unknown_union_types)
7035
+
6688
7036
  def deprecated_trigger_ingest(self, auth_header: str, trigger_ingest: "ingest_api_DeprecatedTriggerIngest") -> "ingest_api_TriggeredIngest":
6689
7037
 
6690
7038
  _headers: Dict[str, Any] = {
@@ -7080,6 +7428,62 @@ ingest_api_IngestStatusV2Visitor.__qualname__ = "IngestStatusV2Visitor"
7080
7428
  ingest_api_IngestStatusV2Visitor.__module__ = "nominal_api.ingest_api"
7081
7429
 
7082
7430
 
7431
+ class ingest_api_IngestVideoDestination(ConjureUnionType):
7432
+ _new_video: Optional["ingest_api_NewVideoIngestDestination"] = None
7433
+
7434
+ @builtins.classmethod
7435
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
7436
+ return {
7437
+ 'new_video': ConjureFieldDefinition('newVideo', ingest_api_NewVideoIngestDestination)
7438
+ }
7439
+
7440
+ def __init__(
7441
+ self,
7442
+ new_video: Optional["ingest_api_NewVideoIngestDestination"] = None,
7443
+ type_of_union: Optional[str] = None
7444
+ ) -> None:
7445
+ if type_of_union is None:
7446
+ if (new_video is not None) != 1:
7447
+ raise ValueError('a union must contain a single member')
7448
+
7449
+ if new_video is not None:
7450
+ self._new_video = new_video
7451
+ self._type = 'newVideo'
7452
+
7453
+ elif type_of_union == 'newVideo':
7454
+ if new_video is None:
7455
+ raise ValueError('a union value must not be None')
7456
+ self._new_video = new_video
7457
+ self._type = 'newVideo'
7458
+
7459
+ @builtins.property
7460
+ def new_video(self) -> Optional["ingest_api_NewVideoIngestDestination"]:
7461
+ return self._new_video
7462
+
7463
+ def accept(self, visitor) -> Any:
7464
+ if not isinstance(visitor, ingest_api_IngestVideoDestinationVisitor):
7465
+ raise ValueError('{} is not an instance of ingest_api_IngestVideoDestinationVisitor'.format(visitor.__class__.__name__))
7466
+ if self._type == 'newVideo' and self.new_video is not None:
7467
+ return visitor._new_video(self.new_video)
7468
+
7469
+
7470
+ ingest_api_IngestVideoDestination.__name__ = "IngestVideoDestination"
7471
+ ingest_api_IngestVideoDestination.__qualname__ = "IngestVideoDestination"
7472
+ ingest_api_IngestVideoDestination.__module__ = "nominal_api.ingest_api"
7473
+
7474
+
7475
+ class ingest_api_IngestVideoDestinationVisitor:
7476
+
7477
+ @abstractmethod
7478
+ def _new_video(self, new_video: "ingest_api_NewVideoIngestDestination") -> Any:
7479
+ pass
7480
+
7481
+
7482
+ ingest_api_IngestVideoDestinationVisitor.__name__ = "IngestVideoDestinationVisitor"
7483
+ ingest_api_IngestVideoDestinationVisitor.__qualname__ = "IngestVideoDestinationVisitor"
7484
+ ingest_api_IngestVideoDestinationVisitor.__module__ = "nominal_api.ingest_api"
7485
+
7486
+
7083
7487
  class ingest_api_IngestVideoRequest(ConjureBeanType):
7084
7488
 
7085
7489
  @builtins.classmethod
@@ -7236,6 +7640,22 @@ ingest_api_Iso8601Timestamp.__qualname__ = "Iso8601Timestamp"
7236
7640
  ingest_api_Iso8601Timestamp.__module__ = "nominal_api.ingest_api"
7237
7641
 
7238
7642
 
7643
+ class ingest_api_LogTime(ConjureBeanType):
7644
+
7645
+ @builtins.classmethod
7646
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
7647
+ return {
7648
+ }
7649
+
7650
+ __slots__: List[str] = []
7651
+
7652
+
7653
+
7654
+ ingest_api_LogTime.__name__ = "LogTime"
7655
+ ingest_api_LogTime.__qualname__ = "LogTime"
7656
+ ingest_api_LogTime.__module__ = "nominal_api.ingest_api"
7657
+
7658
+
7239
7659
  class ingest_api_McapChannelConfig(ConjureBeanType):
7240
7660
 
7241
7661
  @builtins.classmethod
@@ -7525,6 +7945,47 @@ ingest_api_McapIngestionOutput.__qualname__ = "McapIngestionOutput"
7525
7945
  ingest_api_McapIngestionOutput.__module__ = "nominal_api.ingest_api"
7526
7946
 
7527
7947
 
7948
+ class ingest_api_McapProtobufTimeseriesOpts(ConjureBeanType):
7949
+
7950
+ @builtins.classmethod
7951
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
7952
+ return {
7953
+ 'source': ConjureFieldDefinition('source', ingest_api_IngestSource),
7954
+ 'target': ConjureFieldDefinition('target', ingest_api_DatasetIngestTarget),
7955
+ 'channel_filter': ConjureFieldDefinition('channelFilter', ingest_api_McapChannels),
7956
+ 'timestamp_type': ConjureFieldDefinition('timestampType', ingest_api_McapTimestampType)
7957
+ }
7958
+
7959
+ __slots__: List[str] = ['_source', '_target', '_channel_filter', '_timestamp_type']
7960
+
7961
+ def __init__(self, channel_filter: "ingest_api_McapChannels", source: "ingest_api_IngestSource", target: "ingest_api_DatasetIngestTarget", timestamp_type: "ingest_api_McapTimestampType") -> None:
7962
+ self._source = source
7963
+ self._target = target
7964
+ self._channel_filter = channel_filter
7965
+ self._timestamp_type = timestamp_type
7966
+
7967
+ @builtins.property
7968
+ def source(self) -> "ingest_api_IngestSource":
7969
+ return self._source
7970
+
7971
+ @builtins.property
7972
+ def target(self) -> "ingest_api_DatasetIngestTarget":
7973
+ return self._target
7974
+
7975
+ @builtins.property
7976
+ def channel_filter(self) -> "ingest_api_McapChannels":
7977
+ return self._channel_filter
7978
+
7979
+ @builtins.property
7980
+ def timestamp_type(self) -> "ingest_api_McapTimestampType":
7981
+ return self._timestamp_type
7982
+
7983
+
7984
+ ingest_api_McapProtobufTimeseriesOpts.__name__ = "McapProtobufTimeseriesOpts"
7985
+ ingest_api_McapProtobufTimeseriesOpts.__qualname__ = "McapProtobufTimeseriesOpts"
7986
+ ingest_api_McapProtobufTimeseriesOpts.__module__ = "nominal_api.ingest_api"
7987
+
7988
+
7528
7989
  class ingest_api_McapSource(ConjureUnionType):
7529
7990
  _single_channel: Optional["api_McapChannelLocator"] = None
7530
7991
  _mcap_file: Optional["ingest_api_IngestSource"] = None
@@ -7602,6 +8063,63 @@ ingest_api_McapSourceVisitor.__qualname__ = "McapSourceVisitor"
7602
8063
  ingest_api_McapSourceVisitor.__module__ = "nominal_api.ingest_api"
7603
8064
 
7604
8065
 
8066
+ class ingest_api_McapTimestampType(ConjureUnionType):
8067
+ """LogTime is default timestamp for MCAP messages and should be used in most cases."""
8068
+ _log_time: Optional["ingest_api_LogTime"] = None
8069
+
8070
+ @builtins.classmethod
8071
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
8072
+ return {
8073
+ 'log_time': ConjureFieldDefinition('logTime', ingest_api_LogTime)
8074
+ }
8075
+
8076
+ def __init__(
8077
+ self,
8078
+ log_time: Optional["ingest_api_LogTime"] = None,
8079
+ type_of_union: Optional[str] = None
8080
+ ) -> None:
8081
+ if type_of_union is None:
8082
+ if (log_time is not None) != 1:
8083
+ raise ValueError('a union must contain a single member')
8084
+
8085
+ if log_time is not None:
8086
+ self._log_time = log_time
8087
+ self._type = 'logTime'
8088
+
8089
+ elif type_of_union == 'logTime':
8090
+ if log_time is None:
8091
+ raise ValueError('a union value must not be None')
8092
+ self._log_time = log_time
8093
+ self._type = 'logTime'
8094
+
8095
+ @builtins.property
8096
+ def log_time(self) -> Optional["ingest_api_LogTime"]:
8097
+ return self._log_time
8098
+
8099
+ def accept(self, visitor) -> Any:
8100
+ if not isinstance(visitor, ingest_api_McapTimestampTypeVisitor):
8101
+ raise ValueError('{} is not an instance of ingest_api_McapTimestampTypeVisitor'.format(visitor.__class__.__name__))
8102
+ if self._type == 'logTime' and self.log_time is not None:
8103
+ return visitor._log_time(self.log_time)
8104
+
8105
+
8106
+ ingest_api_McapTimestampType.__name__ = "McapTimestampType"
8107
+ ingest_api_McapTimestampType.__qualname__ = "McapTimestampType"
8108
+ ingest_api_McapTimestampType.__module__ = "nominal_api.ingest_api"
8109
+
8110
+
8111
+ class ingest_api_McapTimestampTypeVisitor:
8112
+
8113
+ @abstractmethod
8114
+ def _log_time(self, log_time: "ingest_api_LogTime") -> Any:
8115
+ pass
8116
+
8117
+
8118
+ ingest_api_McapTimestampTypeVisitor.__name__ = "McapTimestampTypeVisitor"
8119
+ ingest_api_McapTimestampTypeVisitor.__qualname__ = "McapTimestampTypeVisitor"
8120
+ ingest_api_McapTimestampTypeVisitor.__module__ = "nominal_api.ingest_api"
8121
+
8122
+
7605
8123
  class ingest_api_McapVideoChannelConfig(ConjureBeanType):
7606
8124
  """
7607
8125
  Ingest a channel as video. This requires:
@@ -7730,6 +8248,47 @@ ingest_api_NewDatasetIngestDestination.__qualname__ = "NewDatasetIngestDestinati
7730
8248
  ingest_api_NewDatasetIngestDestination.__module__ = "nominal_api.ingest_api"
7731
8249
 
7732
8250
 
8251
+ class ingest_api_NewVideoIngestDestination(ConjureBeanType):
8252
+
8253
+ @builtins.classmethod
8254
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
8255
+ return {
8256
+ 'properties': ConjureFieldDefinition('properties', Dict[ingest_api_PropertyName, ingest_api_PropertyValue]),
8257
+ 'labels': ConjureFieldDefinition('labels', List[ingest_api_Label]),
8258
+ 'title': ConjureFieldDefinition('title', OptionalTypeWrapper[str]),
8259
+ 'description': ConjureFieldDefinition('description', OptionalTypeWrapper[str])
8260
+ }
8261
+
8262
+ __slots__: List[str] = ['_properties', '_labels', '_title', '_description']
8263
+
8264
+ def __init__(self, labels: List[str], properties: Dict[str, str], description: Optional[str] = None, title: Optional[str] = None) -> None:
8265
+ self._properties = properties
8266
+ self._labels = labels
8267
+ self._title = title
8268
+ self._description = description
8269
+
8270
+ @builtins.property
8271
+ def properties(self) -> Dict[str, str]:
8272
+ return self._properties
8273
+
8274
+ @builtins.property
8275
+ def labels(self) -> List[str]:
8276
+ return self._labels
8277
+
8278
+ @builtins.property
8279
+ def title(self) -> Optional[str]:
8280
+ return self._title
8281
+
8282
+ @builtins.property
8283
+ def description(self) -> Optional[str]:
8284
+ return self._description
8285
+
8286
+
8287
+ ingest_api_NewVideoIngestDestination.__name__ = "NewVideoIngestDestination"
8288
+ ingest_api_NewVideoIngestDestination.__qualname__ = "NewVideoIngestDestination"
8289
+ ingest_api_NewVideoIngestDestination.__module__ = "nominal_api.ingest_api"
8290
+
8291
+
7733
8292
  class ingest_api_NoTimestampManifest(ConjureBeanType):
7734
8293
 
7735
8294
  @builtins.classmethod
@@ -13775,7 +14334,7 @@ class scout_catalog_DatasetFile(ConjureBeanType):
13775
14334
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
13776
14335
  return {
13777
14336
  'id': ConjureFieldDefinition('id', datasource_DatasetFileId),
13778
- 'dataset_rid': ConjureFieldDefinition('datasetRid', datasource_DatasetRid),
14337
+ 'dataset_rid': ConjureFieldDefinition('datasetRid', api_rids_DatasetRid),
13779
14338
  'name': ConjureFieldDefinition('name', str),
13780
14339
  'handle': ConjureFieldDefinition('handle', scout_catalog_Handle),
13781
14340
  'bounds': ConjureFieldDefinition('bounds', OptionalTypeWrapper[scout_catalog_Bounds]),
@@ -50089,14 +50648,16 @@ class scout_integrations_api_NotificationConfiguration(ConjureBeanType):
50089
50648
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
50090
50649
  return {
50091
50650
  'integration_rid': ConjureFieldDefinition('integrationRid', scout_integrations_api_IntegrationRid),
50092
- 'appended_workbook_rid': ConjureFieldDefinition('appendedWorkbookRid', OptionalTypeWrapper[scout_rids_api_NotebookRid])
50651
+ 'appended_workbook_rid': ConjureFieldDefinition('appendedWorkbookRid', OptionalTypeWrapper[scout_rids_api_NotebookRid]),
50652
+ 'tags': ConjureFieldDefinition('tags', List[str])
50093
50653
  }
50094
50654
 
50095
- __slots__: List[str] = ['_integration_rid', '_appended_workbook_rid']
50655
+ __slots__: List[str] = ['_integration_rid', '_appended_workbook_rid', '_tags']
50096
50656
 
50097
- def __init__(self, integration_rid: str, appended_workbook_rid: Optional[str] = None) -> None:
50657
+ def __init__(self, integration_rid: str, tags: List[str], appended_workbook_rid: Optional[str] = None) -> None:
50098
50658
  self._integration_rid = integration_rid
50099
50659
  self._appended_workbook_rid = appended_workbook_rid
50660
+ self._tags = tags
50100
50661
 
50101
50662
  @builtins.property
50102
50663
  def integration_rid(self) -> str:
@@ -50109,6 +50670,13 @@ class scout_integrations_api_NotificationConfiguration(ConjureBeanType):
50109
50670
  """
50110
50671
  return self._appended_workbook_rid
50111
50672
 
50673
+ @builtins.property
50674
+ def tags(self) -> List[str]:
50675
+ """
50676
+ 20 tags max, 50 characters max each. Tags are used to filter messages in Opsgenie. For other integrations, tags are ignored.
50677
+ """
50678
+ return self._tags
50679
+
50112
50680
 
50113
50681
  scout_integrations_api_NotificationConfiguration.__name__ = "NotificationConfiguration"
50114
50682
  scout_integrations_api_NotificationConfiguration.__qualname__ = "NotificationConfiguration"
@@ -50164,22 +50732,49 @@ class scout_integrations_api_SendMessageRequest(ConjureBeanType):
50164
50732
  @builtins.classmethod
50165
50733
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
50166
50734
  return {
50735
+ 'title': ConjureFieldDefinition('title', OptionalTypeWrapper[str]),
50167
50736
  'message': ConjureFieldDefinition('message', str),
50737
+ 'tags': ConjureFieldDefinition('tags', List[str]),
50738
+ 'ops_genie_alias': ConjureFieldDefinition('opsGenieAlias', OptionalTypeWrapper[str]),
50168
50739
  'integration_rid': ConjureFieldDefinition('integrationRid', scout_integrations_api_IntegrationRid),
50169
50740
  'priority': ConjureFieldDefinition('priority', OptionalTypeWrapper[scout_checks_api_Priority])
50170
50741
  }
50171
50742
 
50172
- __slots__: List[str] = ['_message', '_integration_rid', '_priority']
50743
+ __slots__: List[str] = ['_title', '_message', '_tags', '_ops_genie_alias', '_integration_rid', '_priority']
50173
50744
 
50174
- def __init__(self, integration_rid: str, message: str, priority: Optional["scout_checks_api_Priority"] = None) -> None:
50745
+ def __init__(self, integration_rid: str, message: str, tags: List[str], ops_genie_alias: Optional[str] = None, priority: Optional["scout_checks_api_Priority"] = None, title: Optional[str] = None) -> None:
50746
+ self._title = title
50175
50747
  self._message = message
50748
+ self._tags = tags
50749
+ self._ops_genie_alias = ops_genie_alias
50176
50750
  self._integration_rid = integration_rid
50177
50751
  self._priority = priority
50178
50752
 
50753
+ @builtins.property
50754
+ def title(self) -> Optional[str]:
50755
+ """
50756
+ Optional title for the message. 130 characters max.
50757
+ """
50758
+ return self._title
50759
+
50179
50760
  @builtins.property
50180
50761
  def message(self) -> str:
50181
50762
  return self._message
50182
50763
 
50764
+ @builtins.property
50765
+ def tags(self) -> List[str]:
50766
+ """
50767
+ 20 tags max, 50 characters max each. Tags are used to filter messages in Opsgenie. For other integrations, tags are ignored.
50768
+ """
50769
+ return self._tags
50770
+
50771
+ @builtins.property
50772
+ def ops_genie_alias(self) -> Optional[str]:
50773
+ """
50774
+ Alias to use for the Opsgenie alert deduplication. 512 characters max.
50775
+ """
50776
+ return self._ops_genie_alias
50777
+
50183
50778
  @builtins.property
50184
50779
  def integration_rid(self) -> str:
50185
50780
  return self._integration_rid
@@ -53427,7 +54022,7 @@ class scout_run_api_DataSource(ConjureUnionType):
53427
54022
  @builtins.classmethod
53428
54023
  def _options(cls) -> Dict[str, ConjureFieldDefinition]:
53429
54024
  return {
53430
- 'dataset': ConjureFieldDefinition('dataset', scout_run_api_DatasetRid),
54025
+ 'dataset': ConjureFieldDefinition('dataset', api_rids_DatasetRid),
53431
54026
  'connection': ConjureFieldDefinition('connection', scout_run_api_ConnectionRid),
53432
54027
  'log_set': ConjureFieldDefinition('logSet', scout_run_api_LogSetRid),
53433
54028
  'video': ConjureFieldDefinition('video', api_rids_VideoRid)
@@ -64328,6 +64923,8 @@ scout_run_api_PropertyValue = str
64328
64923
 
64329
64924
  scout_rids_api_UserRid = str
64330
64925
 
64926
+ api_rids_DatasetRid = str
64927
+
64331
64928
  scout_datareview_api_CheckAlertRid = str
64332
64929
 
64333
64930
  scout_units_api_UnitSymbol = str
@@ -64426,8 +65023,6 @@ scout_datasource_connection_api_SecretRid = str
64426
65023
 
64427
65024
  authorization_ApiKeyRid = str
64428
65025
 
64429
- datasource_DatasetRid = str
64430
-
64431
65026
  scout_rids_api_AssetRid = str
64432
65027
 
64433
65028
  comments_api_CommentRid = str
@@ -64450,8 +65045,6 @@ scout_rids_api_CheckRid = str
64450
65045
 
64451
65046
  secrets_api_PropertyName = str
64452
65047
 
64453
- scout_run_api_DatasetRid = str
64454
-
64455
65048
  api_Channel = str
64456
65049
 
64457
65050
  attachments_api_PropertyValue = str
@@ -3,6 +3,7 @@ from .._impl import (
3
3
  api_rids_AttachmentRid as AttachmentRid,
4
4
  api_rids_ChunkRid as ChunkRid,
5
5
  api_rids_DataSourceRid as DataSourceRid,
6
+ api_rids_DatasetRid as DatasetRid,
6
7
  api_rids_NominalDataSourceRid as NominalDataSourceRid,
7
8
  api_rids_VideoRid as VideoRid,
8
9
  )
@@ -1,7 +1,6 @@
1
1
  # coding=utf-8
2
2
  from .._impl import (
3
3
  datasource_DatasetFileId as DatasetFileId,
4
- datasource_DatasetRid as DatasetRid,
5
4
  datasource_Label as Label,
6
5
  datasource_Property as Property,
7
6
  datasource_PropertyName as PropertyName,
@@ -7,6 +7,9 @@ from .._impl import (
7
7
  ingest_api_CompleteMultipartUploadResponse as CompleteMultipartUploadResponse,
8
8
  ingest_api_CustomTimestamp as CustomTimestamp,
9
9
  ingest_api_DataSourceRefName as DataSourceRefName,
10
+ ingest_api_DataflashOpts as DataflashOpts,
11
+ ingest_api_DatasetIngestTarget as DatasetIngestTarget,
12
+ ingest_api_DatasetIngestTargetVisitor as DatasetIngestTargetVisitor,
10
13
  ingest_api_DatasetSpec as DatasetSpec,
11
14
  ingest_api_DeprecatedNewCsv as DeprecatedNewCsv,
12
15
  ingest_api_DeprecatedNewDataSource as DeprecatedNewDataSource,
@@ -20,11 +23,18 @@ from .._impl import (
20
23
  ingest_api_InProgressResult as InProgressResult,
21
24
  ingest_api_IngestDataSource as IngestDataSource,
22
25
  ingest_api_IngestDataSourceVisitor as IngestDataSourceVisitor,
26
+ ingest_api_IngestDatasetFileDetails as IngestDatasetFileDetails,
23
27
  ingest_api_IngestDestination as IngestDestination,
24
28
  ingest_api_IngestDestinationVisitor as IngestDestinationVisitor,
29
+ ingest_api_IngestDetails as IngestDetails,
30
+ ingest_api_IngestDetailsVisitor as IngestDetailsVisitor,
25
31
  ingest_api_IngestMcapRequest as IngestMcapRequest,
26
32
  ingest_api_IngestMcapResponse as IngestMcapResponse,
33
+ ingest_api_IngestOptions as IngestOptions,
34
+ ingest_api_IngestOptionsVisitor as IngestOptionsVisitor,
27
35
  ingest_api_IngestProgressV2 as IngestProgressV2,
36
+ ingest_api_IngestRequest as IngestRequest,
37
+ ingest_api_IngestResponse as IngestResponse,
28
38
  ingest_api_IngestRunDataSource as IngestRunDataSource,
29
39
  ingest_api_IngestRunRequest as IngestRunRequest,
30
40
  ingest_api_IngestRunResponse as IngestRunResponse,
@@ -35,12 +45,15 @@ from .._impl import (
35
45
  ingest_api_IngestStatus as IngestStatus,
36
46
  ingest_api_IngestStatusV2 as IngestStatusV2,
37
47
  ingest_api_IngestStatusV2Visitor as IngestStatusV2Visitor,
48
+ ingest_api_IngestVideoDestination as IngestVideoDestination,
49
+ ingest_api_IngestVideoDestinationVisitor as IngestVideoDestinationVisitor,
38
50
  ingest_api_IngestVideoRequest as IngestVideoRequest,
39
51
  ingest_api_IngestVideoResponse as IngestVideoResponse,
40
52
  ingest_api_InitiateMultipartUploadRequest as InitiateMultipartUploadRequest,
41
53
  ingest_api_InitiateMultipartUploadResponse as InitiateMultipartUploadResponse,
42
54
  ingest_api_Iso8601Timestamp as Iso8601Timestamp,
43
55
  ingest_api_Label as Label,
56
+ ingest_api_LogTime as LogTime,
44
57
  ingest_api_McapChannelConfig as McapChannelConfig,
45
58
  ingest_api_McapChannelConfigType as McapChannelConfigType,
46
59
  ingest_api_McapChannelConfigTypeVisitor as McapChannelConfigTypeVisitor,
@@ -49,11 +62,15 @@ from .._impl import (
49
62
  ingest_api_McapDestination as McapDestination,
50
63
  ingest_api_McapDestinationVisitor as McapDestinationVisitor,
51
64
  ingest_api_McapIngestionOutput as McapIngestionOutput,
65
+ ingest_api_McapProtobufTimeseriesOpts as McapProtobufTimeseriesOpts,
52
66
  ingest_api_McapSource as McapSource,
53
67
  ingest_api_McapSourceVisitor as McapSourceVisitor,
68
+ ingest_api_McapTimestampType as McapTimestampType,
69
+ ingest_api_McapTimestampTypeVisitor as McapTimestampTypeVisitor,
54
70
  ingest_api_McapVideoChannelConfig as McapVideoChannelConfig,
55
71
  ingest_api_NewDataSource as NewDataSource,
56
72
  ingest_api_NewDatasetIngestDestination as NewDatasetIngestDestination,
73
+ ingest_api_NewVideoIngestDestination as NewVideoIngestDestination,
57
74
  ingest_api_NoTimestampManifest as NoTimestampManifest,
58
75
  ingest_api_Part as Part,
59
76
  ingest_api_PartWithSize as PartWithSize,
@@ -14,7 +14,6 @@ from .._impl import (
14
14
  scout_run_api_DataSourceSeriesTag as DataSourceSeriesTag,
15
15
  scout_run_api_DataSourceType as DataSourceType,
16
16
  scout_run_api_DataSourceVisitor as DataSourceVisitor,
17
- scout_run_api_DatasetRid as DatasetRid,
18
17
  scout_run_api_DeleteEventsFromRunRequest as DeleteEventsFromRunRequest,
19
18
  scout_run_api_Duration as Duration,
20
19
  scout_run_api_GetEventsForRunPage as GetEventsForRunPage,
@@ -1,6 +1,8 @@
1
- Metadata-Version: 2.1
1
+ Metadata-Version: 2.2
2
2
  Name: nominal-api
3
- Version: 0.501.0
3
+ Version: 0.502.0
4
4
  Requires-Python: >=3.8
5
5
  Requires-Dist: requests
6
6
  Requires-Dist: conjure-python-client<3,>=2.8.0
7
+ Dynamic: requires-dist
8
+ Dynamic: requires-python
@@ -1,20 +1,20 @@
1
- nominal_api/__init__.py,sha256=4YK73C6rj-f2HMJTYtXbwZidIsHwlpEURgqwAEdX75E,1744
2
- nominal_api/_impl.py,sha256=Y_AAfHPBxJW9Q9MLTjpNwI4gp8mwDPgfXTO_zRYU-TI,2486611
1
+ nominal_api/__init__.py,sha256=eJimQTPvNJKqyUHQh06EmXSGEreuqz-thXtJnNtbN6o,1744
2
+ nominal_api/_impl.py,sha256=e9itHIQg40jAwwVOXHCCxBG_fGR_7IN7BFWZNFpUU_0,2508508
3
3
  nominal_api/py.typed,sha256=eoZ6GfifbqhMLNzjlqRDVil-yyBkOmVN9ujSgJWNBlY,15
4
4
  nominal_api/api/__init__.py,sha256=CaUmWhW0zcP8jVWFQEgj-lpoBi-Unm0wBd2s9dPeWmo,656
5
- nominal_api/api_rids/__init__.py,sha256=7X8CoZcaQmOFbiuUDdOAuy9tlZm0YMfHUrJ86Na5WMQ,259
5
+ nominal_api/api_rids/__init__.py,sha256=p7dKiMV692oGtYStr5FZJEJNg3YbF7scJK1WFMpBiW0,298
6
6
  nominal_api/attachments_api/__init__.py,sha256=H40BhG7nervH80X4w6WKqim8V1qZVqXIAYEikkNNKYw,800
7
7
  nominal_api/authentication/__init__.py,sha256=Vvna9rXXV-WMeJCk2ekq01jHzgsHHsdJl2ROtd4aRgI,272
8
8
  nominal_api/authentication_api/__init__.py,sha256=HBQrldagoqcvYES_kjB1Eh8oZTZ8SJdX85UZySJB9z0,986
9
9
  nominal_api/authorization/__init__.py,sha256=dCAUHfh4BMgGp4RW0-2b_Xrtfz5BDcljwRVaShKhFI4,972
10
10
  nominal_api/comments_api/__init__.py,sha256=bt24EdmTY513nKMrWMCsfYV0XmX7VKQgOFH4I4tKWy4,860
11
- nominal_api/datasource/__init__.py,sha256=wNe0p-7_0ha7DjEBhj_oYQu3UMsny5aItop6tXYn5Zg,366
11
+ nominal_api/datasource/__init__.py,sha256=kmImuULeFMu34yFli4_OsZSsYvVROfQQVYCMkcaaV1o,325
12
12
  nominal_api/datasource_api/__init__.py,sha256=pOFKp8EpKRvLCfPC53TbAKrKBrCjhJa7iPvQhkqrk8c,1693
13
13
  nominal_api/datasource_logset/__init__.py,sha256=H3fNxqyYC490MwvdWbt5BwhgWQUev7uieaLz5hUbZDc,94
14
14
  nominal_api/datasource_logset_api/__init__.py,sha256=oaCU4hTiUXPnJbivlCUoPPYRw7prpZtxbv-hgUaiOWQ,1048
15
15
  nominal_api/datasource_pagination_api/__init__.py,sha256=3GO8TAUavOe6dUEitOhje74aSZHjTKVI5N1MNuct1lI,212
16
16
  nominal_api/event/__init__.py,sha256=5vUWlLtuQDrmnqwFtfC9ZAnzDGfiG1hKy06M0gu9ixE,594
17
- nominal_api/ingest_api/__init__.py,sha256=vCZ_Fy2nY8bgLuqHAIreKAaGj6VLu-7NQI6VNUQHXKY,4492
17
+ nominal_api/ingest_api/__init__.py,sha256=sGg6YCxT6wIaVVsbsj79f4TNUnYdgGaF8ypGgqFB4mo,5499
18
18
  nominal_api/scout/__init__.py,sha256=ip3XK_9jJKAoFiCifUVMTpDMiUE4mWIdGzMDu7LASus,324
19
19
  nominal_api/scout_api/__init__.py,sha256=1qhOIaeE1BOyulaGr6dd9rSneKMEeqW9aJgz_Wg2qd0,208
20
20
  nominal_api/scout_asset_api/__init__.py,sha256=Ph-KlW-ki0JRejYQZDvbZ2jRzNAttVBux27lcEj7--Q,1910
@@ -46,7 +46,7 @@ nominal_api/scout_metadata/__init__.py,sha256=GIhWKJL2XSMB0iGaKfcGgmPHuvGWWmkK4l
46
46
  nominal_api/scout_notebook_api/__init__.py,sha256=QW0vg8ZrAmuctjnNLxTnqtwyQoX-H9MOkHlLWioe5AA,1230
47
47
  nominal_api/scout_plotting/__init__.py,sha256=m6u3y7R70mo3ugaCp_-fwlS8_tDwrsq1l5ElOTY0TBc,91
48
48
  nominal_api/scout_rids_api/__init__.py,sha256=KpK2xEkf5w_nl0oTlxqBqO5Ke4az2QIB-s8L1w0n3qE,1131
49
- nominal_api/scout_run_api/__init__.py,sha256=qB47tiXWUHH3IBPcoBOlB9a_WULF_AbqkrVrPLD-oos,3024
49
+ nominal_api/scout_run_api/__init__.py,sha256=bJ6rYRRtdBiHnSrMg64vD0kWqqQh0mo6pw8kS_VN69g,2980
50
50
  nominal_api/scout_template_api/__init__.py,sha256=bsu8qPiZ4gf67G5iFvwsfkqEKJRZ7L5Wyg6qcFyogO0,1037
51
51
  nominal_api/scout_units_api/__init__.py,sha256=KxRDScfumX__0ncWJftGvgApn_LBTfnIBAvnaBrcA5A,368
52
52
  nominal_api/scout_versioning_api/__init__.py,sha256=Sf4T4t0rZXNRIZgkqLBN3yh0sAnrxiuzaTfDQVVkyO4,1323
@@ -64,7 +64,7 @@ nominal_api/timeseries_logicalseries_api/__init__.py,sha256=uA7pMa0_7VnGtV5xuagB
64
64
  nominal_api/timeseries_seriescache/__init__.py,sha256=tFCkNuyrVMgtj-HIl1pOYPJHaL2VikI4C_x97bX_Lcs,109
65
65
  nominal_api/timeseries_seriescache_api/__init__.py,sha256=YLixotb-W-adYR6t_RBsJDwoHttppkOBesoaXERwhVs,1240
66
66
  nominal_api/upload_api/__init__.py,sha256=ZMudWMSqCrNozohbHaJKuxJnT9Edepe7nxxXMz_pT9k,87
67
- nominal_api-0.501.0.dist-info/METADATA,sha256=NwfP7WlX5n2JeTM1rhTBlecn-rO6DGnBwWuWsIXWeXU,151
68
- nominal_api-0.501.0.dist-info/WHEEL,sha256=A3WOREP4zgxI0fKrHUG8DC8013e3dK3n7a6HDbcEIwE,91
69
- nominal_api-0.501.0.dist-info/top_level.txt,sha256=gI1ZdNJbuHcJZeKtCzzBXsEtpU1GX6XJKs6ksi_gCRA,12
70
- nominal_api-0.501.0.dist-info/RECORD,,
67
+ nominal_api-0.502.0.dist-info/METADATA,sha256=yt47iTm293H5XR1Oksou2YuYOkK4Og-exX_1juMb724,199
68
+ nominal_api-0.502.0.dist-info/WHEEL,sha256=In9FTNxeP60KnTkGw7wk6mJPYd_dQSjEZmXdBdMCI-8,91
69
+ nominal_api-0.502.0.dist-info/top_level.txt,sha256=gI1ZdNJbuHcJZeKtCzzBXsEtpU1GX6XJKs6ksi_gCRA,12
70
+ nominal_api-0.502.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (75.7.0)
2
+ Generator: setuptools (75.8.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5