nominal-api 0.528.0__tar.gz → 0.530.0__tar.gz

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.

Files changed (75) hide show
  1. {nominal_api-0.528.0 → nominal_api-0.530.0}/PKG-INFO +1 -1
  2. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/__init__.py +1 -1
  3. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/_impl.py +154 -15
  4. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/datasource_api/__init__.py +1 -0
  5. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/ingest_api/__init__.py +2 -0
  6. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api.egg-info/PKG-INFO +1 -1
  7. {nominal_api-0.528.0 → nominal_api-0.530.0}/setup.py +1 -1
  8. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/api/__init__.py +0 -0
  9. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/api_rids/__init__.py +0 -0
  10. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/attachments_api/__init__.py +0 -0
  11. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/authentication/__init__.py +0 -0
  12. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/authentication_api/__init__.py +0 -0
  13. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/authorization/__init__.py +0 -0
  14. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/comments_api/__init__.py +0 -0
  15. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/datasource/__init__.py +0 -0
  16. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/datasource_logset/__init__.py +0 -0
  17. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/datasource_logset_api/__init__.py +0 -0
  18. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/datasource_pagination_api/__init__.py +0 -0
  19. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/event/__init__.py +0 -0
  20. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/py.typed +0 -0
  21. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout/__init__.py +0 -0
  22. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_api/__init__.py +0 -0
  23. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_asset_api/__init__.py +0 -0
  24. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_assets/__init__.py +0 -0
  25. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_backend/__init__.py +0 -0
  26. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_catalog/__init__.py +0 -0
  27. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_channelvariables_api/__init__.py +0 -0
  28. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_chart_api/__init__.py +0 -0
  29. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_chartdefinition_api/__init__.py +0 -0
  30. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_checklistexecution_api/__init__.py +0 -0
  31. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_checks_api/__init__.py +0 -0
  32. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_comparisonnotebook_api/__init__.py +0 -0
  33. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_comparisonrun_api/__init__.py +0 -0
  34. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_compute_api/__init__.py +0 -0
  35. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_compute_api_deprecated/__init__.py +0 -0
  36. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_compute_representation_api/__init__.py +0 -0
  37. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_compute_resolved_api/__init__.py +0 -0
  38. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_dataexport_api/__init__.py +0 -0
  39. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_datareview_api/__init__.py +0 -0
  40. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_datasource/__init__.py +0 -0
  41. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_datasource_connection/__init__.py +0 -0
  42. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_datasource_connection_api/__init__.py +0 -0
  43. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_datasource_connection_api_influx/__init__.py +0 -0
  44. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_integrations_api/__init__.py +0 -0
  45. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_internal_search_api/__init__.py +0 -0
  46. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_jobs_api/__init__.py +0 -0
  47. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_layout_api/__init__.py +0 -0
  48. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_metadata/__init__.py +0 -0
  49. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_notebook_api/__init__.py +0 -0
  50. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_plotting/__init__.py +0 -0
  51. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_rids_api/__init__.py +0 -0
  52. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_run_api/__init__.py +0 -0
  53. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_template_api/__init__.py +0 -0
  54. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_units_api/__init__.py +0 -0
  55. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_versioning_api/__init__.py +0 -0
  56. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_video/__init__.py +0 -0
  57. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_video_api/__init__.py +0 -0
  58. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/scout_workbookcommon_api/__init__.py +0 -0
  59. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/secrets_api/__init__.py +0 -0
  60. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/storage_datasource_api/__init__.py +0 -0
  61. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/storage_series_api/__init__.py +0 -0
  62. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/storage_writer_api/__init__.py +0 -0
  63. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/themes_api/__init__.py +0 -0
  64. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/timeseries_archetype/__init__.py +0 -0
  65. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/timeseries_archetype_api/__init__.py +0 -0
  66. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/timeseries_logicalseries/__init__.py +0 -0
  67. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/timeseries_logicalseries_api/__init__.py +0 -0
  68. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/timeseries_seriescache/__init__.py +0 -0
  69. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/timeseries_seriescache_api/__init__.py +0 -0
  70. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api/upload_api/__init__.py +0 -0
  71. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api.egg-info/SOURCES.txt +0 -0
  72. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api.egg-info/dependency_links.txt +0 -0
  73. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api.egg-info/requires.txt +0 -0
  74. {nominal_api-0.528.0 → nominal_api-0.530.0}/nominal_api.egg-info/top_level.txt +0 -0
  75. {nominal_api-0.528.0 → nominal_api-0.530.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: nominal-api
3
- Version: 0.528.0
3
+ Version: 0.530.0
4
4
  Requires-Python: >=3.8
5
5
  Requires-Dist: requests
6
6
  Requires-Dist: conjure-python-client<3,>=2.8.0
@@ -68,5 +68,5 @@ __all__ = [
68
68
 
69
69
  __conjure_generator_version__ = "4.9.0"
70
70
 
71
- __version__ = "0.528.0"
71
+ __version__ = "0.530.0"
72
72
 
@@ -3522,18 +3522,28 @@ class datasource_api_BatchGetChannelPrefixTreeRequest(ConjureBeanType):
3522
3522
  @builtins.classmethod
3523
3523
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
3524
3524
  return {
3525
- 'data_source_rids': ConjureFieldDefinition('dataSourceRids', List[api_rids_DataSourceRid])
3525
+ 'data_source_rids': ConjureFieldDefinition('dataSourceRids', List[api_rids_DataSourceRid]),
3526
+ 'data_scope_filters': ConjureFieldDefinition('dataScopeFilters', OptionalTypeWrapper[datasource_api_DataScopeFilters])
3526
3527
  }
3527
3528
 
3528
- __slots__: List[str] = ['_data_source_rids']
3529
+ __slots__: List[str] = ['_data_source_rids', '_data_scope_filters']
3529
3530
 
3530
- def __init__(self, data_source_rids: List[str]) -> None:
3531
+ def __init__(self, data_source_rids: List[str], data_scope_filters: Optional["datasource_api_DataScopeFilters"] = None) -> None:
3531
3532
  self._data_source_rids = data_source_rids
3533
+ self._data_scope_filters = data_scope_filters
3532
3534
 
3533
3535
  @builtins.property
3534
3536
  def data_source_rids(self) -> List[str]:
3535
3537
  return self._data_source_rids
3536
3538
 
3539
+ @builtins.property
3540
+ def data_scope_filters(self) -> Optional["datasource_api_DataScopeFilters"]:
3541
+ """
3542
+ When dataScopeFilters are specified, the set of data sources must match the set of data sources in
3543
+ DataScopeFilters#tags
3544
+ """
3545
+ return self._data_scope_filters
3546
+
3537
3547
 
3538
3548
  datasource_api_BatchGetChannelPrefixTreeRequest.__name__ = "BatchGetChannelPrefixTreeRequest"
3539
3549
  datasource_api_BatchGetChannelPrefixTreeRequest.__qualname__ = "BatchGetChannelPrefixTreeRequest"
@@ -3831,6 +3841,51 @@ datasource_api_ChannelWithTagFilters.__qualname__ = "ChannelWithTagFilters"
3831
3841
  datasource_api_ChannelWithTagFilters.__module__ = "nominal_api.datasource_api"
3832
3842
 
3833
3843
 
3844
+ class datasource_api_DataScopeFilters(ConjureBeanType):
3845
+
3846
+ @builtins.classmethod
3847
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
3848
+ return {
3849
+ 'tags': ConjureFieldDefinition('tags', Dict[api_rids_DataSourceRid, Dict[api_TagName, api_TagValue]]),
3850
+ 'min_data_updated_time': ConjureFieldDefinition('minDataUpdatedTime', scout_run_api_UtcTimestamp),
3851
+ 'max_data_start_time': ConjureFieldDefinition('maxDataStartTime', scout_run_api_UtcTimestamp)
3852
+ }
3853
+
3854
+ __slots__: List[str] = ['_tags', '_min_data_updated_time', '_max_data_start_time']
3855
+
3856
+ def __init__(self, max_data_start_time: "scout_run_api_UtcTimestamp", min_data_updated_time: "scout_run_api_UtcTimestamp", tags: Dict[str, Dict[str, str]]) -> None:
3857
+ self._tags = tags
3858
+ self._min_data_updated_time = min_data_updated_time
3859
+ self._max_data_start_time = max_data_start_time
3860
+
3861
+ @builtins.property
3862
+ def tags(self) -> Dict[str, Dict[str, str]]:
3863
+ """
3864
+ For each data source specified as a key, search will only return channels containing a superset of the
3865
+ tags specified for that given datasource.
3866
+ """
3867
+ return self._tags
3868
+
3869
+ @builtins.property
3870
+ def min_data_updated_time(self) -> "scout_run_api_UtcTimestamp":
3871
+ """
3872
+ Will only return channels that have had new data after the specified time.
3873
+ """
3874
+ return self._min_data_updated_time
3875
+
3876
+ @builtins.property
3877
+ def max_data_start_time(self) -> "scout_run_api_UtcTimestamp":
3878
+ """
3879
+ Will only return channels that have data before the specified time.
3880
+ """
3881
+ return self._max_data_start_time
3882
+
3883
+
3884
+ datasource_api_DataScopeFilters.__name__ = "DataScopeFilters"
3885
+ datasource_api_DataScopeFilters.__qualname__ = "DataScopeFilters"
3886
+ datasource_api_DataScopeFilters.__module__ = "nominal_api.datasource_api"
3887
+
3888
+
3834
3889
  class datasource_api_DataSourcePrefixNode(ConjureBeanType):
3835
3890
 
3836
3891
  @builtins.classmethod
@@ -4155,14 +4210,16 @@ class datasource_api_SearchHierarchicalChannelsRequest(ConjureBeanType):
4155
4210
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
4156
4211
  return {
4157
4212
  'parent': ConjureFieldDefinition('parent', List[str]),
4158
- 'data_sources': ConjureFieldDefinition('dataSources', List[api_rids_DataSourceRid])
4213
+ 'data_sources': ConjureFieldDefinition('dataSources', List[api_rids_DataSourceRid]),
4214
+ 'data_scope_filters': ConjureFieldDefinition('dataScopeFilters', OptionalTypeWrapper[datasource_api_DataScopeFilters])
4159
4215
  }
4160
4216
 
4161
- __slots__: List[str] = ['_parent', '_data_sources']
4217
+ __slots__: List[str] = ['_parent', '_data_sources', '_data_scope_filters']
4162
4218
 
4163
- def __init__(self, data_sources: List[str], parent: List[str]) -> None:
4219
+ def __init__(self, data_sources: List[str], parent: List[str], data_scope_filters: Optional["datasource_api_DataScopeFilters"] = None) -> None:
4164
4220
  self._parent = parent
4165
4221
  self._data_sources = data_sources
4222
+ self._data_scope_filters = data_scope_filters
4166
4223
 
4167
4224
  @builtins.property
4168
4225
  def parent(self) -> List[str]:
@@ -4175,6 +4232,14 @@ class datasource_api_SearchHierarchicalChannelsRequest(ConjureBeanType):
4175
4232
  def data_sources(self) -> List[str]:
4176
4233
  return self._data_sources
4177
4234
 
4235
+ @builtins.property
4236
+ def data_scope_filters(self) -> Optional["datasource_api_DataScopeFilters"]:
4237
+ """
4238
+ When dataScopeFilters are specified, the set of data sources must match the set of data sources in
4239
+ DataScopeFilters#tags
4240
+ """
4241
+ return self._data_scope_filters
4242
+
4178
4243
 
4179
4244
  datasource_api_SearchHierarchicalChannelsRequest.__name__ = "SearchHierarchicalChannelsRequest"
4180
4245
  datasource_api_SearchHierarchicalChannelsRequest.__qualname__ = "SearchHierarchicalChannelsRequest"
@@ -5645,6 +5710,7 @@ event_SearchEventsResponse.__module__ = "nominal_api.event"
5645
5710
 
5646
5711
 
5647
5712
  class event_SearchQuery(ConjureUnionType):
5713
+ _search_text: Optional[str] = None
5648
5714
  _after: Optional["api_Timestamp"] = None
5649
5715
  _before: Optional["api_Timestamp"] = None
5650
5716
  _asset: Optional[str] = None
@@ -5656,6 +5722,7 @@ class event_SearchQuery(ConjureUnionType):
5656
5722
  @builtins.classmethod
5657
5723
  def _options(cls) -> Dict[str, ConjureFieldDefinition]:
5658
5724
  return {
5725
+ 'search_text': ConjureFieldDefinition('searchText', str),
5659
5726
  'after': ConjureFieldDefinition('after', api_Timestamp),
5660
5727
  'before': ConjureFieldDefinition('before', api_Timestamp),
5661
5728
  'asset': ConjureFieldDefinition('asset', scout_rids_api_AssetRid),
@@ -5667,6 +5734,7 @@ class event_SearchQuery(ConjureUnionType):
5667
5734
 
5668
5735
  def __init__(
5669
5736
  self,
5737
+ search_text: Optional[str] = None,
5670
5738
  after: Optional["api_Timestamp"] = None,
5671
5739
  before: Optional["api_Timestamp"] = None,
5672
5740
  asset: Optional[str] = None,
@@ -5677,9 +5745,12 @@ class event_SearchQuery(ConjureUnionType):
5677
5745
  type_of_union: Optional[str] = None
5678
5746
  ) -> None:
5679
5747
  if type_of_union is None:
5680
- if (after is not None) + (before is not None) + (asset is not None) + (label is not None) + (property is not None) + (and_ is not None) + (or_ is not None) != 1:
5748
+ if (search_text is not None) + (after is not None) + (before is not None) + (asset is not None) + (label is not None) + (property is not None) + (and_ is not None) + (or_ is not None) != 1:
5681
5749
  raise ValueError('a union must contain a single member')
5682
5750
 
5751
+ if search_text is not None:
5752
+ self._search_text = search_text
5753
+ self._type = 'searchText'
5683
5754
  if after is not None:
5684
5755
  self._after = after
5685
5756
  self._type = 'after'
@@ -5702,6 +5773,11 @@ class event_SearchQuery(ConjureUnionType):
5702
5773
  self._or_ = or_
5703
5774
  self._type = 'or'
5704
5775
 
5776
+ elif type_of_union == 'searchText':
5777
+ if search_text is None:
5778
+ raise ValueError('a union value must not be None')
5779
+ self._search_text = search_text
5780
+ self._type = 'searchText'
5705
5781
  elif type_of_union == 'after':
5706
5782
  if after is None:
5707
5783
  raise ValueError('a union value must not be None')
@@ -5738,10 +5814,14 @@ class event_SearchQuery(ConjureUnionType):
5738
5814
  self._or_ = or_
5739
5815
  self._type = 'or'
5740
5816
 
5817
+ @builtins.property
5818
+ def search_text(self) -> Optional[str]:
5819
+ return self._search_text
5820
+
5741
5821
  @builtins.property
5742
5822
  def after(self) -> Optional["api_Timestamp"]:
5743
5823
  """
5744
- Filters to start times after this time, inclusive.
5824
+ Filters to end times after this time, exclusive.
5745
5825
  """
5746
5826
  return self._after
5747
5827
 
@@ -5775,6 +5855,8 @@ class event_SearchQuery(ConjureUnionType):
5775
5855
  def accept(self, visitor) -> Any:
5776
5856
  if not isinstance(visitor, event_SearchQueryVisitor):
5777
5857
  raise ValueError('{} is not an instance of event_SearchQueryVisitor'.format(visitor.__class__.__name__))
5858
+ if self._type == 'searchText' and self.search_text is not None:
5859
+ return visitor._search_text(self.search_text)
5778
5860
  if self._type == 'after' and self.after is not None:
5779
5861
  return visitor._after(self.after)
5780
5862
  if self._type == 'before' and self.before is not None:
@@ -5798,6 +5880,10 @@ event_SearchQuery.__module__ = "nominal_api.event"
5798
5880
 
5799
5881
  class event_SearchQueryVisitor:
5800
5882
 
5883
+ @abstractmethod
5884
+ def _search_text(self, search_text: str) -> Any:
5885
+ pass
5886
+
5801
5887
  @abstractmethod
5802
5888
  def _after(self, after: "api_Timestamp") -> Any:
5803
5889
  pass
@@ -6136,16 +6222,18 @@ class ingest_api_CsvOpts(ConjureBeanType):
6136
6222
  'source': ConjureFieldDefinition('source', ingest_api_IngestSource),
6137
6223
  'target': ConjureFieldDefinition('target', ingest_api_DatasetIngestTarget),
6138
6224
  'timestamp_metadata': ConjureFieldDefinition('timestampMetadata', ingest_api_TimestampMetadata),
6225
+ 'channel_prefix': ConjureFieldDefinition('channelPrefix', ingest_api_ChannelPrefix),
6139
6226
  'tag_keys_from_columns': ConjureFieldDefinition('tagKeysFromColumns', OptionalTypeWrapper[List[api_TagName]]),
6140
6227
  'additional_file_tags': ConjureFieldDefinition('additionalFileTags', OptionalTypeWrapper[Dict[api_TagName, api_TagValue]])
6141
6228
  }
6142
6229
 
6143
- __slots__: List[str] = ['_source', '_target', '_timestamp_metadata', '_tag_keys_from_columns', '_additional_file_tags']
6230
+ __slots__: List[str] = ['_source', '_target', '_timestamp_metadata', '_channel_prefix', '_tag_keys_from_columns', '_additional_file_tags']
6144
6231
 
6145
- def __init__(self, source: "ingest_api_IngestSource", target: "ingest_api_DatasetIngestTarget", timestamp_metadata: "ingest_api_TimestampMetadata", additional_file_tags: Optional[Dict[str, str]] = None, tag_keys_from_columns: Optional[List[str]] = None) -> None:
6232
+ def __init__(self, source: "ingest_api_IngestSource", target: "ingest_api_DatasetIngestTarget", timestamp_metadata: "ingest_api_TimestampMetadata", additional_file_tags: Optional[Dict[str, str]] = None, channel_prefix: Optional[str] = None, tag_keys_from_columns: Optional[List[str]] = None) -> None:
6146
6233
  self._source = source
6147
6234
  self._target = target
6148
6235
  self._timestamp_metadata = timestamp_metadata
6236
+ self._channel_prefix = channel_prefix
6149
6237
  self._tag_keys_from_columns = tag_keys_from_columns
6150
6238
  self._additional_file_tags = additional_file_tags
6151
6239
 
@@ -6161,6 +6249,10 @@ class ingest_api_CsvOpts(ConjureBeanType):
6161
6249
  def timestamp_metadata(self) -> "ingest_api_TimestampMetadata":
6162
6250
  return self._timestamp_metadata
6163
6251
 
6252
+ @builtins.property
6253
+ def channel_prefix(self) -> Optional[str]:
6254
+ return self._channel_prefix
6255
+
6164
6256
  @builtins.property
6165
6257
  def tag_keys_from_columns(self) -> Optional[List[str]]:
6166
6258
  return self._tag_keys_from_columns
@@ -6596,6 +6688,29 @@ ingest_api_ExistingDatasetIngestDestination.__qualname__ = "ExistingDatasetInges
6596
6688
  ingest_api_ExistingDatasetIngestDestination.__module__ = "nominal_api.ingest_api"
6597
6689
 
6598
6690
 
6691
+ class ingest_api_GcsIngestSource(ConjureBeanType):
6692
+
6693
+ @builtins.classmethod
6694
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
6695
+ return {
6696
+ 'path': ConjureFieldDefinition('path', str)
6697
+ }
6698
+
6699
+ __slots__: List[str] = ['_path']
6700
+
6701
+ def __init__(self, path: str) -> None:
6702
+ self._path = path
6703
+
6704
+ @builtins.property
6705
+ def path(self) -> str:
6706
+ return self._path
6707
+
6708
+
6709
+ ingest_api_GcsIngestSource.__name__ = "GcsIngestSource"
6710
+ ingest_api_GcsIngestSource.__qualname__ = "GcsIngestSource"
6711
+ ingest_api_GcsIngestSource.__module__ = "nominal_api.ingest_api"
6712
+
6713
+
6599
6714
  class ingest_api_InProgressResult(ConjureBeanType):
6600
6715
 
6601
6716
  @builtins.classmethod
@@ -6900,7 +7015,7 @@ class ingest_api_IngestMcapRequest(ConjureBeanType):
6900
7015
  @builtins.property
6901
7016
  def sources(self) -> List["ingest_api_IngestSource"]:
6902
7017
  """
6903
- List of files in S3 to be ingested. These should be ordered by time, as data will be ingested and
7018
+ List of files in S3 to be ingested. These should be ordered by time, as data will be ingested and
6904
7019
  concatenated across all the files.
6905
7020
  Note: only a single files are currently supported, this field is mostly for forward compatibility.
6906
7021
  """
@@ -7559,41 +7674,58 @@ ingest_api_IngestService.__module__ = "nominal_api.ingest_api"
7559
7674
 
7560
7675
  class ingest_api_IngestSource(ConjureUnionType):
7561
7676
  _s3: Optional["ingest_api_S3IngestSource"] = None
7677
+ _gcs: Optional["ingest_api_GcsIngestSource"] = None
7562
7678
 
7563
7679
  @builtins.classmethod
7564
7680
  def _options(cls) -> Dict[str, ConjureFieldDefinition]:
7565
7681
  return {
7566
- 's3': ConjureFieldDefinition('s3', ingest_api_S3IngestSource)
7682
+ 's3': ConjureFieldDefinition('s3', ingest_api_S3IngestSource),
7683
+ 'gcs': ConjureFieldDefinition('gcs', ingest_api_GcsIngestSource)
7567
7684
  }
7568
7685
 
7569
7686
  def __init__(
7570
7687
  self,
7571
7688
  s3: Optional["ingest_api_S3IngestSource"] = None,
7689
+ gcs: Optional["ingest_api_GcsIngestSource"] = None,
7572
7690
  type_of_union: Optional[str] = None
7573
7691
  ) -> None:
7574
7692
  if type_of_union is None:
7575
- if (s3 is not None) != 1:
7693
+ if (s3 is not None) + (gcs is not None) != 1:
7576
7694
  raise ValueError('a union must contain a single member')
7577
7695
 
7578
7696
  if s3 is not None:
7579
7697
  self._s3 = s3
7580
7698
  self._type = 's3'
7699
+ if gcs is not None:
7700
+ self._gcs = gcs
7701
+ self._type = 'gcs'
7581
7702
 
7582
7703
  elif type_of_union == 's3':
7583
7704
  if s3 is None:
7584
7705
  raise ValueError('a union value must not be None')
7585
7706
  self._s3 = s3
7586
7707
  self._type = 's3'
7708
+ elif type_of_union == 'gcs':
7709
+ if gcs is None:
7710
+ raise ValueError('a union value must not be None')
7711
+ self._gcs = gcs
7712
+ self._type = 'gcs'
7587
7713
 
7588
7714
  @builtins.property
7589
7715
  def s3(self) -> Optional["ingest_api_S3IngestSource"]:
7590
7716
  return self._s3
7591
7717
 
7718
+ @builtins.property
7719
+ def gcs(self) -> Optional["ingest_api_GcsIngestSource"]:
7720
+ return self._gcs
7721
+
7592
7722
  def accept(self, visitor) -> Any:
7593
7723
  if not isinstance(visitor, ingest_api_IngestSourceVisitor):
7594
7724
  raise ValueError('{} is not an instance of ingest_api_IngestSourceVisitor'.format(visitor.__class__.__name__))
7595
7725
  if self._type == 's3' and self.s3 is not None:
7596
7726
  return visitor._s3(self.s3)
7727
+ if self._type == 'gcs' and self.gcs is not None:
7728
+ return visitor._gcs(self.gcs)
7597
7729
 
7598
7730
 
7599
7731
  ingest_api_IngestSource.__name__ = "IngestSource"
@@ -7607,6 +7739,10 @@ class ingest_api_IngestSourceVisitor:
7607
7739
  def _s3(self, s3: "ingest_api_S3IngestSource") -> Any:
7608
7740
  pass
7609
7741
 
7742
+ @abstractmethod
7743
+ def _gcs(self, gcs: "ingest_api_GcsIngestSource") -> Any:
7744
+ pass
7745
+
7610
7746
 
7611
7747
  ingest_api_IngestSourceVisitor.__name__ = "IngestSourceVisitor"
7612
7748
  ingest_api_IngestSourceVisitor.__qualname__ = "IngestSourceVisitor"
@@ -9066,7 +9202,7 @@ ingest_api_TimeOffsetSpecVisitor.__module__ = "nominal_api.ingest_api"
9066
9202
 
9067
9203
  class ingest_api_TimestampManifest(ConjureBeanType):
9068
9204
  """
9069
- The timestamp manifest files will contain a list of absolute timestamps, in nanoseconds, that correspond to
9205
+ The timestamp manifest files will contain a list of absolute timestamps, in nanoseconds, that correspond to
9070
9206
  each frame in a video. Each file should be of type JSON and store a single list, the length of which equals
9071
9207
  the number of frames in its corresponding video.
9072
9208
  """
@@ -49327,7 +49463,7 @@ The Connection Service is responsible for creating, updating, and retrieving dat
49327
49463
  _decoder = ConjureDecoder()
49328
49464
  return _decoder.decode(_response.json(), List[scout_datasource_connection_api_Connection], self._return_none_for_unknown_union_types)
49329
49465
 
49330
- def list_connections(self, auth_header: str) -> List["scout_datasource_connection_api_Connection"]:
49466
+ def list_connections(self, auth_header: str, include_archived: Optional[bool] = None) -> List["scout_datasource_connection_api_Connection"]:
49331
49467
  """
49332
49468
  Lists all connections.
49333
49469
  """
@@ -49338,6 +49474,7 @@ The Connection Service is responsible for creating, updating, and retrieving dat
49338
49474
  }
49339
49475
 
49340
49476
  _params: Dict[str, Any] = {
49477
+ 'includeArchived': include_archived,
49341
49478
  }
49342
49479
 
49343
49480
  _path_params: Dict[str, Any] = {
@@ -67671,6 +67808,8 @@ authorization_ApiKeyRid = str
67671
67808
 
67672
67809
  scout_rids_api_ApiKeyRid = str
67673
67810
 
67811
+ ingest_api_ChannelPrefix = OptionalTypeWrapper[str]
67812
+
67674
67813
  scout_rids_api_AssetRid = str
67675
67814
 
67676
67815
  comments_api_CommentRid = str
@@ -9,6 +9,7 @@ from .._impl import (
9
9
  datasource_api_ChannelPrefixTreeNode as ChannelPrefixTreeNode,
10
10
  datasource_api_ChannelWithAvailableTags as ChannelWithAvailableTags,
11
11
  datasource_api_ChannelWithTagFilters as ChannelWithTagFilters,
12
+ datasource_api_DataScopeFilters as DataScopeFilters,
12
13
  datasource_api_DataSourcePrefixNode as DataSourcePrefixNode,
13
14
  datasource_api_GetAvailableTagsForChannelRequest as GetAvailableTagsForChannelRequest,
14
15
  datasource_api_GetAvailableTagsForChannelResponse as GetAvailableTagsForChannelResponse,
@@ -4,6 +4,7 @@ from .._impl import (
4
4
  ingest_api_AbsoluteTimestampVisitor as AbsoluteTimestampVisitor,
5
5
  ingest_api_AsyncHandle as AsyncHandle,
6
6
  ingest_api_ChannelConfig as ChannelConfig,
7
+ ingest_api_ChannelPrefix as ChannelPrefix,
7
8
  ingest_api_CompleteMultipartUploadResponse as CompleteMultipartUploadResponse,
8
9
  ingest_api_CsvOpts as CsvOpts,
9
10
  ingest_api_CustomTimestamp as CustomTimestamp,
@@ -21,6 +22,7 @@ from .._impl import (
21
22
  ingest_api_ErrorResult as ErrorResult,
22
23
  ingest_api_ErrorType as ErrorType,
23
24
  ingest_api_ExistingDatasetIngestDestination as ExistingDatasetIngestDestination,
25
+ ingest_api_GcsIngestSource as GcsIngestSource,
24
26
  ingest_api_InProgressResult as InProgressResult,
25
27
  ingest_api_IngestDataSource as IngestDataSource,
26
28
  ingest_api_IngestDataSourceVisitor as IngestDataSourceVisitor,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.2
2
2
  Name: nominal-api
3
- Version: 0.528.0
3
+ Version: 0.530.0
4
4
  Requires-Python: >=3.8
5
5
  Requires-Dist: requests
6
6
  Requires-Dist: conjure-python-client<3,>=2.8.0
@@ -6,7 +6,7 @@ from setuptools import (
6
6
 
7
7
  setup(
8
8
  name='nominal-api',
9
- version='0.528.0',
9
+ version='0.530.0',
10
10
  python_requires='>=3.8',
11
11
  package_data={"": ["py.typed"]},
12
12
  packages=find_packages(),
File without changes