nominal-api 0.501.0__py3-none-any.whl → 0.502.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.
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