nominal-api 0.654.0__tar.gz → 0.656.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 (82) hide show
  1. {nominal_api-0.654.0 → nominal_api-0.656.0}/PKG-INFO +1 -1
  2. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/__init__.py +1 -1
  3. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/_impl.py +660 -21
  4. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/ingest_api/__init__.py +3 -0
  5. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/ingest_workflow_api/__init__.py +3 -0
  6. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_chartdefinition_api/__init__.py +14 -0
  7. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api.egg-info/PKG-INFO +1 -1
  8. {nominal_api-0.654.0 → nominal_api-0.656.0}/setup.py +1 -1
  9. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/api/__init__.py +0 -0
  10. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/api_ids/__init__.py +0 -0
  11. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/api_rids/__init__.py +0 -0
  12. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/attachments_api/__init__.py +0 -0
  13. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/authentication_api/__init__.py +0 -0
  14. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/authorization/__init__.py +0 -0
  15. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/comments_api/__init__.py +0 -0
  16. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/connect_download/__init__.py +0 -0
  17. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/datasource/__init__.py +0 -0
  18. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/datasource_api/__init__.py +0 -0
  19. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/datasource_logset/__init__.py +0 -0
  20. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/datasource_logset_api/__init__.py +0 -0
  21. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/datasource_pagination_api/__init__.py +0 -0
  22. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/event/__init__.py +0 -0
  23. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/persistent_compute_api/__init__.py +0 -0
  24. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/py.typed +0 -0
  25. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout/__init__.py +0 -0
  26. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_api/__init__.py +0 -0
  27. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_asset_api/__init__.py +0 -0
  28. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_assets/__init__.py +0 -0
  29. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_catalog/__init__.py +0 -0
  30. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_channelvariables_api/__init__.py +0 -0
  31. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_chart_api/__init__.py +0 -0
  32. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_checklistexecution_api/__init__.py +0 -0
  33. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_checks_api/__init__.py +0 -0
  34. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_comparisonnotebook_api/__init__.py +0 -0
  35. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_comparisonrun_api/__init__.py +0 -0
  36. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_compute_api/__init__.py +0 -0
  37. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_compute_api_deprecated/__init__.py +0 -0
  38. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_compute_resolved_api/__init__.py +0 -0
  39. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_dataexport_api/__init__.py +0 -0
  40. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_datareview_api/__init__.py +0 -0
  41. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_datasource/__init__.py +0 -0
  42. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_datasource_connection/__init__.py +0 -0
  43. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_datasource_connection_api/__init__.py +0 -0
  44. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_datasource_connection_api_influx/__init__.py +0 -0
  45. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_favorites/__init__.py +0 -0
  46. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_favorites_api/__init__.py +0 -0
  47. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_integrations_api/__init__.py +0 -0
  48. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_internal_search_api/__init__.py +0 -0
  49. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_jobs_api/__init__.py +0 -0
  50. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_layout_api/__init__.py +0 -0
  51. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_metadata/__init__.py +0 -0
  52. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_notebook_api/__init__.py +0 -0
  53. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_plotting/__init__.py +0 -0
  54. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_rids_api/__init__.py +0 -0
  55. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_run_api/__init__.py +0 -0
  56. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_template_api/__init__.py +0 -0
  57. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_units_api/__init__.py +0 -0
  58. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_versioning_api/__init__.py +0 -0
  59. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_video/__init__.py +0 -0
  60. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_video_api/__init__.py +0 -0
  61. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/scout_workbookcommon_api/__init__.py +0 -0
  62. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/secrets_api/__init__.py +0 -0
  63. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/security_api_workspace/__init__.py +0 -0
  64. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/storage_datasource_api/__init__.py +0 -0
  65. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/storage_deletion_api/__init__.py +0 -0
  66. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/storage_series_api/__init__.py +0 -0
  67. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/storage_writer_api/__init__.py +0 -0
  68. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/themes_api/__init__.py +0 -0
  69. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/timeseries_archetype/__init__.py +0 -0
  70. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/timeseries_archetype_api/__init__.py +0 -0
  71. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/timeseries_channelmetadata/__init__.py +0 -0
  72. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/timeseries_channelmetadata_api/__init__.py +0 -0
  73. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/timeseries_logicalseries/__init__.py +0 -0
  74. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/timeseries_logicalseries_api/__init__.py +0 -0
  75. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/timeseries_seriescache/__init__.py +0 -0
  76. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/timeseries_seriescache_api/__init__.py +0 -0
  77. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api/upload_api/__init__.py +0 -0
  78. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api.egg-info/SOURCES.txt +0 -0
  79. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api.egg-info/dependency_links.txt +0 -0
  80. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api.egg-info/requires.txt +0 -0
  81. {nominal_api-0.654.0 → nominal_api-0.656.0}/nominal_api.egg-info/top_level.txt +0 -0
  82. {nominal_api-0.654.0 → nominal_api-0.656.0}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nominal-api
3
- Version: 0.654.0
3
+ Version: 0.656.0
4
4
  Requires-Python: >=3.8
5
5
  Requires-Dist: requests
6
6
  Requires-Dist: conjure-python-client<3,>=2.8.0
@@ -75,5 +75,5 @@ __all__ = [
75
75
 
76
76
  __conjure_generator_version__ = "4.9.0"
77
77
 
78
- __version__ = "0.654.0"
78
+ __version__ = "0.656.0"
79
79
 
@@ -7621,16 +7621,16 @@ class ingest_api_ContainerizedOpts(ConjureBeanType):
7621
7621
  def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
7622
7622
  return {
7623
7623
  'sources': ConjureFieldDefinition('sources', Dict[ingest_api_EnvironmentVariable, ingest_api_IngestSource]),
7624
- 'extractor': ConjureFieldDefinition('extractor', ingest_api_ContainerizedExtractorRid),
7624
+ 'extractor_rid': ConjureFieldDefinition('extractorRid', ingest_api_ContainerizedExtractorRid),
7625
7625
  'tag': ConjureFieldDefinition('tag', OptionalTypeWrapper[str]),
7626
7626
  'target': ConjureFieldDefinition('target', ingest_api_DatasetIngestTarget)
7627
7627
  }
7628
7628
 
7629
- __slots__: List[str] = ['_sources', '_extractor', '_tag', '_target']
7629
+ __slots__: List[str] = ['_sources', '_extractor_rid', '_tag', '_target']
7630
7630
 
7631
- def __init__(self, extractor: str, sources: Dict[str, "ingest_api_IngestSource"], target: "ingest_api_DatasetIngestTarget", tag: Optional[str] = None) -> None:
7631
+ def __init__(self, extractor_rid: str, sources: Dict[str, "ingest_api_IngestSource"], target: "ingest_api_DatasetIngestTarget", tag: Optional[str] = None) -> None:
7632
7632
  self._sources = sources
7633
- self._extractor = extractor
7633
+ self._extractor_rid = extractor_rid
7634
7634
  self._tag = tag
7635
7635
  self._target = target
7636
7636
 
@@ -7639,8 +7639,8 @@ class ingest_api_ContainerizedOpts(ConjureBeanType):
7639
7639
  return self._sources
7640
7640
 
7641
7641
  @builtins.property
7642
- def extractor(self) -> str:
7643
- return self._extractor
7642
+ def extractor_rid(self) -> str:
7643
+ return self._extractor_rid
7644
7644
 
7645
7645
  @builtins.property
7646
7646
  def tag(self) -> Optional[str]:
@@ -8228,16 +8228,18 @@ class ingest_api_FileExtractionInput(ConjureBeanType):
8228
8228
  'environment_variable': ConjureFieldDefinition('environmentVariable', ingest_api_EnvironmentVariable),
8229
8229
  'name': ConjureFieldDefinition('name', str),
8230
8230
  'description': ConjureFieldDefinition('description', OptionalTypeWrapper[str]),
8231
- 'regex': ConjureFieldDefinition('regex', OptionalTypeWrapper[str])
8231
+ 'file_filters': ConjureFieldDefinition('fileFilters', List[ingest_api_FileFilter]),
8232
+ 'required': ConjureFieldDefinition('required', OptionalTypeWrapper[bool])
8232
8233
  }
8233
8234
 
8234
- __slots__: List[str] = ['_environment_variable', '_name', '_description', '_regex']
8235
+ __slots__: List[str] = ['_environment_variable', '_name', '_description', '_file_filters', '_required']
8235
8236
 
8236
- def __init__(self, environment_variable: str, name: str, description: Optional[str] = None, regex: Optional[str] = None) -> None:
8237
+ def __init__(self, environment_variable: str, file_filters: List["ingest_api_FileFilter"], name: str, description: Optional[str] = None, required: Optional[bool] = None) -> None:
8237
8238
  self._environment_variable = environment_variable
8238
8239
  self._name = name
8239
8240
  self._description = description
8240
- self._regex = regex
8241
+ self._file_filters = file_filters
8242
+ self._required = required
8241
8243
 
8242
8244
  @builtins.property
8243
8245
  def environment_variable(self) -> str:
@@ -8261,11 +8263,18 @@ class ingest_api_FileExtractionInput(ConjureBeanType):
8261
8263
  return self._description
8262
8264
 
8263
8265
  @builtins.property
8264
- def regex(self) -> Optional[str]:
8266
+ def file_filters(self) -> List["ingest_api_FileFilter"]:
8265
8267
  """
8266
- Optionally filter files by regex for file selection. Will not be enforced at runtime, so containers need to handle their own validation.
8268
+ Optionally filter files for file selection
8267
8269
  """
8268
- return self._regex
8270
+ return self._file_filters
8271
+
8272
+ @builtins.property
8273
+ def required(self) -> Optional[bool]:
8274
+ """
8275
+ Whether the input file is required for the extractor to run.
8276
+ """
8277
+ return self._required
8269
8278
 
8270
8279
 
8271
8280
  ingest_api_FileExtractionInput.__name__ = "FileExtractionInput"
@@ -8273,6 +8282,62 @@ ingest_api_FileExtractionInput.__qualname__ = "FileExtractionInput"
8273
8282
  ingest_api_FileExtractionInput.__module__ = "nominal_api.ingest_api"
8274
8283
 
8275
8284
 
8285
+ class ingest_api_FileFilter(ConjureUnionType):
8286
+ _suffix: Optional[str] = None
8287
+
8288
+ @builtins.classmethod
8289
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
8290
+ return {
8291
+ 'suffix': ConjureFieldDefinition('suffix', ingest_api_FileSuffix)
8292
+ }
8293
+
8294
+ def __init__(
8295
+ self,
8296
+ suffix: Optional[str] = None,
8297
+ type_of_union: Optional[str] = None
8298
+ ) -> None:
8299
+ if type_of_union is None:
8300
+ if (suffix is not None) != 1:
8301
+ raise ValueError('a union must contain a single member')
8302
+
8303
+ if suffix is not None:
8304
+ self._suffix = suffix
8305
+ self._type = 'suffix'
8306
+
8307
+ elif type_of_union == 'suffix':
8308
+ if suffix is None:
8309
+ raise ValueError('a union value must not be None')
8310
+ self._suffix = suffix
8311
+ self._type = 'suffix'
8312
+
8313
+ @builtins.property
8314
+ def suffix(self) -> Optional[str]:
8315
+ return self._suffix
8316
+
8317
+ def accept(self, visitor) -> Any:
8318
+ if not isinstance(visitor, ingest_api_FileFilterVisitor):
8319
+ raise ValueError('{} is not an instance of ingest_api_FileFilterVisitor'.format(visitor.__class__.__name__))
8320
+ if self._type == 'suffix' and self.suffix is not None:
8321
+ return visitor._suffix(self.suffix)
8322
+
8323
+
8324
+ ingest_api_FileFilter.__name__ = "FileFilter"
8325
+ ingest_api_FileFilter.__qualname__ = "FileFilter"
8326
+ ingest_api_FileFilter.__module__ = "nominal_api.ingest_api"
8327
+
8328
+
8329
+ class ingest_api_FileFilterVisitor:
8330
+
8331
+ @abstractmethod
8332
+ def _suffix(self, suffix: str) -> Any:
8333
+ pass
8334
+
8335
+
8336
+ ingest_api_FileFilterVisitor.__name__ = "FileFilterVisitor"
8337
+ ingest_api_FileFilterVisitor.__qualname__ = "FileFilterVisitor"
8338
+ ingest_api_FileFilterVisitor.__module__ = "nominal_api.ingest_api"
8339
+
8340
+
8276
8341
  class ingest_api_GcsIngestSource(ConjureBeanType):
8277
8342
 
8278
8343
  @builtins.classmethod
@@ -10885,6 +10950,7 @@ class ingest_api_ReingestDatasetsRequest(ConjureBeanType):
10885
10950
  """
10886
10951
  The datasets to reingest data from. Can only include tagless, non-streaming datasets (V1).
10887
10952
  The datasets must be of the same granularity and must only include CSV or Parquet files.
10953
+ Will attempt to reingest from datasets in list order.
10888
10954
  """
10889
10955
  return self._source_datasets
10890
10956
 
@@ -12125,20 +12191,20 @@ class ingest_workflow_api_EnsureExtractorJobCreatedRequest(ConjureBeanType):
12125
12191
  'ingest_job_uuid': ConjureFieldDefinition('ingestJobUuid', str),
12126
12192
  'containerized_extractor': ConjureFieldDefinition('containerizedExtractor', ingest_api_ContainerizedExtractor),
12127
12193
  'tag': ConjureFieldDefinition('tag', str),
12128
- 'source_handles': ConjureFieldDefinition('sourceHandles', Dict[str, scout_catalog_S3Handle]),
12194
+ 'validated_file_inputs': ConjureFieldDefinition('validatedFileInputs', List[ingest_workflow_api_ValidatedFileInput]),
12129
12195
  'multipart_upload_details': ConjureFieldDefinition('multipartUploadDetails', ingest_workflow_api_MultipartUploadDetails),
12130
12196
  'image_pull_secret_name': ConjureFieldDefinition('imagePullSecretName', OptionalTypeWrapper[str])
12131
12197
  }
12132
12198
 
12133
- __slots__: List[str] = ['_bearer_token', '_workspace_rid', '_ingest_job_uuid', '_containerized_extractor', '_tag', '_source_handles', '_multipart_upload_details', '_image_pull_secret_name']
12199
+ __slots__: List[str] = ['_bearer_token', '_workspace_rid', '_ingest_job_uuid', '_containerized_extractor', '_tag', '_validated_file_inputs', '_multipart_upload_details', '_image_pull_secret_name']
12134
12200
 
12135
- def __init__(self, bearer_token: str, containerized_extractor: "ingest_api_ContainerizedExtractor", ingest_job_uuid: str, multipart_upload_details: "ingest_workflow_api_MultipartUploadDetails", source_handles: Dict[str, "scout_catalog_S3Handle"], tag: str, workspace_rid: str, image_pull_secret_name: Optional[str] = None) -> None:
12201
+ def __init__(self, bearer_token: str, containerized_extractor: "ingest_api_ContainerizedExtractor", ingest_job_uuid: str, multipart_upload_details: "ingest_workflow_api_MultipartUploadDetails", tag: str, validated_file_inputs: List["ingest_workflow_api_ValidatedFileInput"], workspace_rid: str, image_pull_secret_name: Optional[str] = None) -> None:
12136
12202
  self._bearer_token = bearer_token
12137
12203
  self._workspace_rid = workspace_rid
12138
12204
  self._ingest_job_uuid = ingest_job_uuid
12139
12205
  self._containerized_extractor = containerized_extractor
12140
12206
  self._tag = tag
12141
- self._source_handles = source_handles
12207
+ self._validated_file_inputs = validated_file_inputs
12142
12208
  self._multipart_upload_details = multipart_upload_details
12143
12209
  self._image_pull_secret_name = image_pull_secret_name
12144
12210
 
@@ -12163,8 +12229,8 @@ class ingest_workflow_api_EnsureExtractorJobCreatedRequest(ConjureBeanType):
12163
12229
  return self._tag
12164
12230
 
12165
12231
  @builtins.property
12166
- def source_handles(self) -> Dict[str, "scout_catalog_S3Handle"]:
12167
- return self._source_handles
12232
+ def validated_file_inputs(self) -> List["ingest_workflow_api_ValidatedFileInput"]:
12233
+ return self._validated_file_inputs
12168
12234
 
12169
12235
  @builtins.property
12170
12236
  def multipart_upload_details(self) -> "ingest_workflow_api_MultipartUploadDetails":
@@ -12721,6 +12787,35 @@ ingest_workflow_api_ObjectLocator.__qualname__ = "ObjectLocator"
12721
12787
  ingest_workflow_api_ObjectLocator.__module__ = "nominal_api.ingest_workflow_api"
12722
12788
 
12723
12789
 
12790
+ class ingest_workflow_api_PresignedFileInput(ConjureBeanType):
12791
+
12792
+ @builtins.classmethod
12793
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
12794
+ return {
12795
+ 'url': ConjureFieldDefinition('url', ingest_workflow_api_PresignedUrl),
12796
+ 'input': ConjureFieldDefinition('input', ingest_workflow_api_ValidatedFileInput)
12797
+ }
12798
+
12799
+ __slots__: List[str] = ['_url', '_input']
12800
+
12801
+ def __init__(self, input: "ingest_workflow_api_ValidatedFileInput", url: str) -> None:
12802
+ self._url = url
12803
+ self._input = input
12804
+
12805
+ @builtins.property
12806
+ def url(self) -> str:
12807
+ return self._url
12808
+
12809
+ @builtins.property
12810
+ def input(self) -> "ingest_workflow_api_ValidatedFileInput":
12811
+ return self._input
12812
+
12813
+
12814
+ ingest_workflow_api_PresignedFileInput.__name__ = "PresignedFileInput"
12815
+ ingest_workflow_api_PresignedFileInput.__qualname__ = "PresignedFileInput"
12816
+ ingest_workflow_api_PresignedFileInput.__module__ = "nominal_api.ingest_workflow_api"
12817
+
12818
+
12724
12819
  class ingest_workflow_api_TimeUnitSeconds(ConjureEnumType):
12725
12820
 
12726
12821
  SECONDS = 'SECONDS'
@@ -12737,6 +12832,50 @@ ingest_workflow_api_TimeUnitSeconds.__qualname__ = "TimeUnitSeconds"
12737
12832
  ingest_workflow_api_TimeUnitSeconds.__module__ = "nominal_api.ingest_workflow_api"
12738
12833
 
12739
12834
 
12835
+ class ingest_workflow_api_ValidatedFileInput(ConjureBeanType):
12836
+
12837
+ @builtins.classmethod
12838
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
12839
+ return {
12840
+ 'handle': ConjureFieldDefinition('handle', scout_catalog_S3Handle),
12841
+ 'file_name': ConjureFieldDefinition('fileName', str),
12842
+ 'env_var': ConjureFieldDefinition('envVar', str)
12843
+ }
12844
+
12845
+ __slots__: List[str] = ['_handle', '_file_name', '_env_var']
12846
+
12847
+ def __init__(self, env_var: str, file_name: str, handle: "scout_catalog_S3Handle") -> None:
12848
+ self._handle = handle
12849
+ self._file_name = file_name
12850
+ self._env_var = env_var
12851
+
12852
+ @builtins.property
12853
+ def handle(self) -> "scout_catalog_S3Handle":
12854
+ """
12855
+ Path to the input file in S3.
12856
+ """
12857
+ return self._handle
12858
+
12859
+ @builtins.property
12860
+ def file_name(self) -> str:
12861
+ """
12862
+ Name of the file that will be placed on disk.
12863
+ """
12864
+ return self._file_name
12865
+
12866
+ @builtins.property
12867
+ def env_var(self) -> str:
12868
+ """
12869
+ Environment variable that will store the path to the file.
12870
+ """
12871
+ return self._env_var
12872
+
12873
+
12874
+ ingest_workflow_api_ValidatedFileInput.__name__ = "ValidatedFileInput"
12875
+ ingest_workflow_api_ValidatedFileInput.__qualname__ = "ValidatedFileInput"
12876
+ ingest_workflow_api_ValidatedFileInput.__module__ = "nominal_api.ingest_workflow_api"
12877
+
12878
+
12740
12879
  class persistent_compute_api_AppendResult(ConjureBeanType):
12741
12880
  """
12742
12881
  An append result won't cover the full `StreamingComputeNodeRequest#windowWidth` but rather just a smaller
@@ -22117,6 +22256,89 @@ scout_chartdefinition_api_ChecklistChartDefinitionV1.__qualname__ = "ChecklistCh
22117
22256
  scout_chartdefinition_api_ChecklistChartDefinitionV1.__module__ = "nominal_api.scout_chartdefinition_api"
22118
22257
 
22119
22258
 
22259
+ class scout_chartdefinition_api_ColorStyle(ConjureUnionType):
22260
+ _mapped: Optional[Dict[str, str]] = None
22261
+ _single: Optional[str] = None
22262
+
22263
+ @builtins.classmethod
22264
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
22265
+ return {
22266
+ 'mapped': ConjureFieldDefinition('mapped', Dict[str, scout_api_HexColor]),
22267
+ 'single': ConjureFieldDefinition('single', scout_api_HexColor)
22268
+ }
22269
+
22270
+ def __init__(
22271
+ self,
22272
+ mapped: Optional[Dict[str, str]] = None,
22273
+ single: Optional[str] = None,
22274
+ type_of_union: Optional[str] = None
22275
+ ) -> None:
22276
+ if type_of_union is None:
22277
+ if (mapped is not None) + (single is not None) != 1:
22278
+ raise ValueError('a union must contain a single member')
22279
+
22280
+ if mapped is not None:
22281
+ self._mapped = mapped
22282
+ self._type = 'mapped'
22283
+ if single is not None:
22284
+ self._single = single
22285
+ self._type = 'single'
22286
+
22287
+ elif type_of_union == 'mapped':
22288
+ if mapped is None:
22289
+ raise ValueError('a union value must not be None')
22290
+ self._mapped = mapped
22291
+ self._type = 'mapped'
22292
+ elif type_of_union == 'single':
22293
+ if single is None:
22294
+ raise ValueError('a union value must not be None')
22295
+ self._single = single
22296
+ self._type = 'single'
22297
+
22298
+ @builtins.property
22299
+ def mapped(self) -> Optional[Dict[str, str]]:
22300
+ """
22301
+ Defines specific colors for specific values
22302
+ """
22303
+ return self._mapped
22304
+
22305
+ @builtins.property
22306
+ def single(self) -> Optional[str]:
22307
+ """
22308
+ A single color to apply to the whole plot
22309
+ """
22310
+ return self._single
22311
+
22312
+ def accept(self, visitor) -> Any:
22313
+ if not isinstance(visitor, scout_chartdefinition_api_ColorStyleVisitor):
22314
+ raise ValueError('{} is not an instance of scout_chartdefinition_api_ColorStyleVisitor'.format(visitor.__class__.__name__))
22315
+ if self._type == 'mapped' and self.mapped is not None:
22316
+ return visitor._mapped(self.mapped)
22317
+ if self._type == 'single' and self.single is not None:
22318
+ return visitor._single(self.single)
22319
+
22320
+
22321
+ scout_chartdefinition_api_ColorStyle.__name__ = "ColorStyle"
22322
+ scout_chartdefinition_api_ColorStyle.__qualname__ = "ColorStyle"
22323
+ scout_chartdefinition_api_ColorStyle.__module__ = "nominal_api.scout_chartdefinition_api"
22324
+
22325
+
22326
+ class scout_chartdefinition_api_ColorStyleVisitor:
22327
+
22328
+ @abstractmethod
22329
+ def _mapped(self, mapped: Dict[str, str]) -> Any:
22330
+ pass
22331
+
22332
+ @abstractmethod
22333
+ def _single(self, single: str) -> Any:
22334
+ pass
22335
+
22336
+
22337
+ scout_chartdefinition_api_ColorStyleVisitor.__name__ = "ColorStyleVisitor"
22338
+ scout_chartdefinition_api_ColorStyleVisitor.__qualname__ = "ColorStyleVisitor"
22339
+ scout_chartdefinition_api_ColorStyleVisitor.__module__ = "nominal_api.scout_chartdefinition_api"
22340
+
22341
+
22120
22342
  class scout_chartdefinition_api_DefaultFill(ConjureBeanType):
22121
22343
 
22122
22344
  @builtins.classmethod
@@ -23872,6 +24094,140 @@ scout_chartdefinition_api_NumericValueVisualisationV2Visitor.__qualname__ = "Num
23872
24094
  scout_chartdefinition_api_NumericValueVisualisationV2Visitor.__module__ = "nominal_api.scout_chartdefinition_api"
23873
24095
 
23874
24096
 
24097
+ class scout_chartdefinition_api_OverlayScope(ConjureEnumType):
24098
+
24099
+ ROW = 'ROW'
24100
+ '''ROW'''
24101
+ PANEL = 'PANEL'
24102
+ '''PANEL'''
24103
+ UNKNOWN = 'UNKNOWN'
24104
+ '''UNKNOWN'''
24105
+
24106
+ def __reduce_ex__(self, proto):
24107
+ return self.__class__, (self.name,)
24108
+
24109
+
24110
+ scout_chartdefinition_api_OverlayScope.__name__ = "OverlayScope"
24111
+ scout_chartdefinition_api_OverlayScope.__qualname__ = "OverlayScope"
24112
+ scout_chartdefinition_api_OverlayScope.__module__ = "nominal_api.scout_chartdefinition_api"
24113
+
24114
+
24115
+ class scout_chartdefinition_api_PersistAll(ConjureBeanType):
24116
+
24117
+ @builtins.classmethod
24118
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
24119
+ return {
24120
+ }
24121
+
24122
+ __slots__: List[str] = []
24123
+
24124
+
24125
+
24126
+ scout_chartdefinition_api_PersistAll.__name__ = "PersistAll"
24127
+ scout_chartdefinition_api_PersistAll.__qualname__ = "PersistAll"
24128
+ scout_chartdefinition_api_PersistAll.__module__ = "nominal_api.scout_chartdefinition_api"
24129
+
24130
+
24131
+ class scout_chartdefinition_api_PersistByValue(ConjureBeanType):
24132
+
24133
+ @builtins.classmethod
24134
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
24135
+ return {
24136
+ 'values': ConjureFieldDefinition('values', List[str])
24137
+ }
24138
+
24139
+ __slots__: List[str] = ['_values']
24140
+
24141
+ def __init__(self, values: List[str]) -> None:
24142
+ self._values = values
24143
+
24144
+ @builtins.property
24145
+ def values(self) -> List[str]:
24146
+ return self._values
24147
+
24148
+
24149
+ scout_chartdefinition_api_PersistByValue.__name__ = "PersistByValue"
24150
+ scout_chartdefinition_api_PersistByValue.__qualname__ = "PersistByValue"
24151
+ scout_chartdefinition_api_PersistByValue.__module__ = "nominal_api.scout_chartdefinition_api"
24152
+
24153
+
24154
+ class scout_chartdefinition_api_PersistValueOverlay(ConjureUnionType):
24155
+ _by_value: Optional["scout_chartdefinition_api_PersistByValue"] = None
24156
+ _all: Optional["scout_chartdefinition_api_PersistAll"] = None
24157
+
24158
+ @builtins.classmethod
24159
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
24160
+ return {
24161
+ 'by_value': ConjureFieldDefinition('byValue', scout_chartdefinition_api_PersistByValue),
24162
+ 'all': ConjureFieldDefinition('all', scout_chartdefinition_api_PersistAll)
24163
+ }
24164
+
24165
+ def __init__(
24166
+ self,
24167
+ by_value: Optional["scout_chartdefinition_api_PersistByValue"] = None,
24168
+ all: Optional["scout_chartdefinition_api_PersistAll"] = None,
24169
+ type_of_union: Optional[str] = None
24170
+ ) -> None:
24171
+ if type_of_union is None:
24172
+ if (by_value is not None) + (all is not None) != 1:
24173
+ raise ValueError('a union must contain a single member')
24174
+
24175
+ if by_value is not None:
24176
+ self._by_value = by_value
24177
+ self._type = 'byValue'
24178
+ if all is not None:
24179
+ self._all = all
24180
+ self._type = 'all'
24181
+
24182
+ elif type_of_union == 'byValue':
24183
+ if by_value is None:
24184
+ raise ValueError('a union value must not be None')
24185
+ self._by_value = by_value
24186
+ self._type = 'byValue'
24187
+ elif type_of_union == 'all':
24188
+ if all is None:
24189
+ raise ValueError('a union value must not be None')
24190
+ self._all = all
24191
+ self._type = 'all'
24192
+
24193
+ @builtins.property
24194
+ def by_value(self) -> Optional["scout_chartdefinition_api_PersistByValue"]:
24195
+ return self._by_value
24196
+
24197
+ @builtins.property
24198
+ def all(self) -> Optional["scout_chartdefinition_api_PersistAll"]:
24199
+ return self._all
24200
+
24201
+ def accept(self, visitor) -> Any:
24202
+ if not isinstance(visitor, scout_chartdefinition_api_PersistValueOverlayVisitor):
24203
+ raise ValueError('{} is not an instance of scout_chartdefinition_api_PersistValueOverlayVisitor'.format(visitor.__class__.__name__))
24204
+ if self._type == 'byValue' and self.by_value is not None:
24205
+ return visitor._by_value(self.by_value)
24206
+ if self._type == 'all' and self.all is not None:
24207
+ return visitor._all(self.all)
24208
+
24209
+
24210
+ scout_chartdefinition_api_PersistValueOverlay.__name__ = "PersistValueOverlay"
24211
+ scout_chartdefinition_api_PersistValueOverlay.__qualname__ = "PersistValueOverlay"
24212
+ scout_chartdefinition_api_PersistValueOverlay.__module__ = "nominal_api.scout_chartdefinition_api"
24213
+
24214
+
24215
+ class scout_chartdefinition_api_PersistValueOverlayVisitor:
24216
+
24217
+ @abstractmethod
24218
+ def _by_value(self, by_value: "scout_chartdefinition_api_PersistByValue") -> Any:
24219
+ pass
24220
+
24221
+ @abstractmethod
24222
+ def _all(self, all: "scout_chartdefinition_api_PersistAll") -> Any:
24223
+ pass
24224
+
24225
+
24226
+ scout_chartdefinition_api_PersistValueOverlayVisitor.__name__ = "PersistValueOverlayVisitor"
24227
+ scout_chartdefinition_api_PersistValueOverlayVisitor.__qualname__ = "PersistValueOverlayVisitor"
24228
+ scout_chartdefinition_api_PersistValueOverlayVisitor.__module__ = "nominal_api.scout_chartdefinition_api"
24229
+
24230
+
23875
24231
  class scout_chartdefinition_api_PlotlyPanelDefinition(ConjureUnionType):
23876
24232
  _v1: Optional["scout_chartdefinition_api_PlotlyPanelDefinitionV1"] = None
23877
24233
 
@@ -23985,6 +24341,24 @@ scout_chartdefinition_api_PlotlyPreset.__qualname__ = "PlotlyPreset"
23985
24341
  scout_chartdefinition_api_PlotlyPreset.__module__ = "nominal_api.scout_chartdefinition_api"
23986
24342
 
23987
24343
 
24344
+ class scout_chartdefinition_api_Position(ConjureEnumType):
24345
+
24346
+ TOP = 'TOP'
24347
+ '''TOP'''
24348
+ BOTTOM = 'BOTTOM'
24349
+ '''BOTTOM'''
24350
+ UNKNOWN = 'UNKNOWN'
24351
+ '''UNKNOWN'''
24352
+
24353
+ def __reduce_ex__(self, proto):
24354
+ return self.__class__, (self.name,)
24355
+
24356
+
24357
+ scout_chartdefinition_api_Position.__name__ = "Position"
24358
+ scout_chartdefinition_api_Position.__qualname__ = "Position"
24359
+ scout_chartdefinition_api_Position.__module__ = "nominal_api.scout_chartdefinition_api"
24360
+
24361
+
23988
24362
  class scout_chartdefinition_api_RangeCellConfig(ConjureBeanType):
23989
24363
 
23990
24364
  @builtins.classmethod
@@ -24384,6 +24758,99 @@ scout_chartdefinition_api_TimeSeriesChartDefinitionV1.__qualname__ = "TimeSeries
24384
24758
  scout_chartdefinition_api_TimeSeriesChartDefinitionV1.__module__ = "nominal_api.scout_chartdefinition_api"
24385
24759
 
24386
24760
 
24761
+ class scout_chartdefinition_api_TimeSeriesEnumPlot(ConjureBeanType):
24762
+
24763
+ @builtins.classmethod
24764
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
24765
+ return {
24766
+ 'color': ConjureFieldDefinition('color', scout_chartdefinition_api_ColorStyle),
24767
+ 'position': ConjureFieldDefinition('position', scout_chartdefinition_api_Position),
24768
+ 'persist_value_overlays': ConjureFieldDefinition('persistValueOverlays', scout_chartdefinition_api_PersistValueOverlay),
24769
+ 'overlay_scope': ConjureFieldDefinition('overlayScope', scout_chartdefinition_api_OverlayScope),
24770
+ 'display_inline': ConjureFieldDefinition('displayInline', bool)
24771
+ }
24772
+
24773
+ __slots__: List[str] = ['_color', '_position', '_persist_value_overlays', '_overlay_scope', '_display_inline']
24774
+
24775
+ def __init__(self, color: "scout_chartdefinition_api_ColorStyle", display_inline: bool, overlay_scope: "scout_chartdefinition_api_OverlayScope", persist_value_overlays: "scout_chartdefinition_api_PersistValueOverlay", position: "scout_chartdefinition_api_Position") -> None:
24776
+ self._color = color
24777
+ self._position = position
24778
+ self._persist_value_overlays = persist_value_overlays
24779
+ self._overlay_scope = overlay_scope
24780
+ self._display_inline = display_inline
24781
+
24782
+ @builtins.property
24783
+ def color(self) -> "scout_chartdefinition_api_ColorStyle":
24784
+ """
24785
+ How to color the value ranges
24786
+ """
24787
+ return self._color
24788
+
24789
+ @builtins.property
24790
+ def position(self) -> "scout_chartdefinition_api_Position":
24791
+ """
24792
+ Where to place the plot within the row
24793
+ """
24794
+ return self._position
24795
+
24796
+ @builtins.property
24797
+ def persist_value_overlays(self) -> "scout_chartdefinition_api_PersistValueOverlay":
24798
+ """
24799
+ Render certain values' full-row/full-panel color overlays
24800
+ even when not interacting with the plot
24801
+ """
24802
+ return self._persist_value_overlays
24803
+
24804
+ @builtins.property
24805
+ def overlay_scope(self) -> "scout_chartdefinition_api_OverlayScope":
24806
+ """
24807
+ How far to extend the overlay
24808
+ """
24809
+ return self._overlay_scope
24810
+
24811
+ @builtins.property
24812
+ def display_inline(self) -> bool:
24813
+ """
24814
+ Whether to display the value ranges on the same line or stagger them
24815
+ such that each value gets a line to itself
24816
+ """
24817
+ return self._display_inline
24818
+
24819
+
24820
+ scout_chartdefinition_api_TimeSeriesEnumPlot.__name__ = "TimeSeriesEnumPlot"
24821
+ scout_chartdefinition_api_TimeSeriesEnumPlot.__qualname__ = "TimeSeriesEnumPlot"
24822
+ scout_chartdefinition_api_TimeSeriesEnumPlot.__module__ = "nominal_api.scout_chartdefinition_api"
24823
+
24824
+
24825
+ class scout_chartdefinition_api_TimeSeriesNumericPlot(ConjureBeanType):
24826
+
24827
+ @builtins.classmethod
24828
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
24829
+ return {
24830
+ 'color': ConjureFieldDefinition('color', scout_api_HexColor),
24831
+ 'line_style': ConjureFieldDefinition('lineStyle', scout_chartdefinition_api_LineStyle)
24832
+ }
24833
+
24834
+ __slots__: List[str] = ['_color', '_line_style']
24835
+
24836
+ def __init__(self, color: str, line_style: "scout_chartdefinition_api_LineStyle") -> None:
24837
+ self._color = color
24838
+ self._line_style = line_style
24839
+
24840
+ @builtins.property
24841
+ def color(self) -> str:
24842
+ return self._color
24843
+
24844
+ @builtins.property
24845
+ def line_style(self) -> "scout_chartdefinition_api_LineStyle":
24846
+ return self._line_style
24847
+
24848
+
24849
+ scout_chartdefinition_api_TimeSeriesNumericPlot.__name__ = "TimeSeriesNumericPlot"
24850
+ scout_chartdefinition_api_TimeSeriesNumericPlot.__qualname__ = "TimeSeriesNumericPlot"
24851
+ scout_chartdefinition_api_TimeSeriesNumericPlot.__module__ = "nominal_api.scout_chartdefinition_api"
24852
+
24853
+
24387
24854
  class scout_chartdefinition_api_TimeSeriesPlot(ConjureBeanType):
24388
24855
 
24389
24856
  @builtins.classmethod
@@ -24431,6 +24898,168 @@ scout_chartdefinition_api_TimeSeriesPlot.__qualname__ = "TimeSeriesPlot"
24431
24898
  scout_chartdefinition_api_TimeSeriesPlot.__module__ = "nominal_api.scout_chartdefinition_api"
24432
24899
 
24433
24900
 
24901
+ class scout_chartdefinition_api_TimeSeriesPlotConfig(ConjureUnionType):
24902
+ _numeric: Optional["scout_chartdefinition_api_TimeSeriesNumericPlot"] = None
24903
+ _range: Optional["scout_chartdefinition_api_TimeSeriesRangePlot"] = None
24904
+ _enum: Optional["scout_chartdefinition_api_TimeSeriesEnumPlot"] = None
24905
+
24906
+ @builtins.classmethod
24907
+ def _options(cls) -> Dict[str, ConjureFieldDefinition]:
24908
+ return {
24909
+ 'numeric': ConjureFieldDefinition('numeric', scout_chartdefinition_api_TimeSeriesNumericPlot),
24910
+ 'range': ConjureFieldDefinition('range', scout_chartdefinition_api_TimeSeriesRangePlot),
24911
+ 'enum': ConjureFieldDefinition('enum', scout_chartdefinition_api_TimeSeriesEnumPlot)
24912
+ }
24913
+
24914
+ def __init__(
24915
+ self,
24916
+ numeric: Optional["scout_chartdefinition_api_TimeSeriesNumericPlot"] = None,
24917
+ range: Optional["scout_chartdefinition_api_TimeSeriesRangePlot"] = None,
24918
+ enum: Optional["scout_chartdefinition_api_TimeSeriesEnumPlot"] = None,
24919
+ type_of_union: Optional[str] = None
24920
+ ) -> None:
24921
+ if type_of_union is None:
24922
+ if (numeric is not None) + (range is not None) + (enum is not None) != 1:
24923
+ raise ValueError('a union must contain a single member')
24924
+
24925
+ if numeric is not None:
24926
+ self._numeric = numeric
24927
+ self._type = 'numeric'
24928
+ if range is not None:
24929
+ self._range = range
24930
+ self._type = 'range'
24931
+ if enum is not None:
24932
+ self._enum = enum
24933
+ self._type = 'enum'
24934
+
24935
+ elif type_of_union == 'numeric':
24936
+ if numeric is None:
24937
+ raise ValueError('a union value must not be None')
24938
+ self._numeric = numeric
24939
+ self._type = 'numeric'
24940
+ elif type_of_union == 'range':
24941
+ if range is None:
24942
+ raise ValueError('a union value must not be None')
24943
+ self._range = range
24944
+ self._type = 'range'
24945
+ elif type_of_union == 'enum':
24946
+ if enum is None:
24947
+ raise ValueError('a union value must not be None')
24948
+ self._enum = enum
24949
+ self._type = 'enum'
24950
+
24951
+ @builtins.property
24952
+ def numeric(self) -> Optional["scout_chartdefinition_api_TimeSeriesNumericPlot"]:
24953
+ return self._numeric
24954
+
24955
+ @builtins.property
24956
+ def range(self) -> Optional["scout_chartdefinition_api_TimeSeriesRangePlot"]:
24957
+ return self._range
24958
+
24959
+ @builtins.property
24960
+ def enum(self) -> Optional["scout_chartdefinition_api_TimeSeriesEnumPlot"]:
24961
+ return self._enum
24962
+
24963
+ def accept(self, visitor) -> Any:
24964
+ if not isinstance(visitor, scout_chartdefinition_api_TimeSeriesPlotConfigVisitor):
24965
+ raise ValueError('{} is not an instance of scout_chartdefinition_api_TimeSeriesPlotConfigVisitor'.format(visitor.__class__.__name__))
24966
+ if self._type == 'numeric' and self.numeric is not None:
24967
+ return visitor._numeric(self.numeric)
24968
+ if self._type == 'range' and self.range is not None:
24969
+ return visitor._range(self.range)
24970
+ if self._type == 'enum' and self.enum is not None:
24971
+ return visitor._enum(self.enum)
24972
+
24973
+
24974
+ scout_chartdefinition_api_TimeSeriesPlotConfig.__name__ = "TimeSeriesPlotConfig"
24975
+ scout_chartdefinition_api_TimeSeriesPlotConfig.__qualname__ = "TimeSeriesPlotConfig"
24976
+ scout_chartdefinition_api_TimeSeriesPlotConfig.__module__ = "nominal_api.scout_chartdefinition_api"
24977
+
24978
+
24979
+ class scout_chartdefinition_api_TimeSeriesPlotConfigVisitor:
24980
+
24981
+ @abstractmethod
24982
+ def _numeric(self, numeric: "scout_chartdefinition_api_TimeSeriesNumericPlot") -> Any:
24983
+ pass
24984
+
24985
+ @abstractmethod
24986
+ def _range(self, range: "scout_chartdefinition_api_TimeSeriesRangePlot") -> Any:
24987
+ pass
24988
+
24989
+ @abstractmethod
24990
+ def _enum(self, enum: "scout_chartdefinition_api_TimeSeriesEnumPlot") -> Any:
24991
+ pass
24992
+
24993
+
24994
+ scout_chartdefinition_api_TimeSeriesPlotConfigVisitor.__name__ = "TimeSeriesPlotConfigVisitor"
24995
+ scout_chartdefinition_api_TimeSeriesPlotConfigVisitor.__qualname__ = "TimeSeriesPlotConfigVisitor"
24996
+ scout_chartdefinition_api_TimeSeriesPlotConfigVisitor.__module__ = "nominal_api.scout_chartdefinition_api"
24997
+
24998
+
24999
+ class scout_chartdefinition_api_TimeSeriesPlotV2(ConjureBeanType):
25000
+
25001
+ @builtins.classmethod
25002
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
25003
+ return {
25004
+ 'variable_name': ConjureFieldDefinition('variableName', scout_channelvariables_api_ChannelVariableName),
25005
+ 'enabled': ConjureFieldDefinition('enabled', OptionalTypeWrapper[bool]),
25006
+ 'y_axis_id': ConjureFieldDefinition('yAxisId', scout_chartdefinition_api_AxisId),
25007
+ 'type': ConjureFieldDefinition('type', scout_chartdefinition_api_TimeSeriesPlotConfig)
25008
+ }
25009
+
25010
+ __slots__: List[str] = ['_variable_name', '_enabled', '_y_axis_id', '_type']
25011
+
25012
+ def __init__(self, type: "scout_chartdefinition_api_TimeSeriesPlotConfig", variable_name: str, y_axis_id: str, enabled: Optional[bool] = None) -> None:
25013
+ self._variable_name = variable_name
25014
+ self._enabled = enabled
25015
+ self._y_axis_id = y_axis_id
25016
+ self._type = type
25017
+
25018
+ @builtins.property
25019
+ def variable_name(self) -> str:
25020
+ return self._variable_name
25021
+
25022
+ @builtins.property
25023
+ def enabled(self) -> Optional[bool]:
25024
+ return self._enabled
25025
+
25026
+ @builtins.property
25027
+ def y_axis_id(self) -> str:
25028
+ return self._y_axis_id
25029
+
25030
+ @builtins.property
25031
+ def type(self) -> "scout_chartdefinition_api_TimeSeriesPlotConfig":
25032
+ return self._type
25033
+
25034
+
25035
+ scout_chartdefinition_api_TimeSeriesPlotV2.__name__ = "TimeSeriesPlotV2"
25036
+ scout_chartdefinition_api_TimeSeriesPlotV2.__qualname__ = "TimeSeriesPlotV2"
25037
+ scout_chartdefinition_api_TimeSeriesPlotV2.__module__ = "nominal_api.scout_chartdefinition_api"
25038
+
25039
+
25040
+ class scout_chartdefinition_api_TimeSeriesRangePlot(ConjureBeanType):
25041
+
25042
+ @builtins.classmethod
25043
+ def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
25044
+ return {
25045
+ 'color': ConjureFieldDefinition('color', scout_api_HexColor)
25046
+ }
25047
+
25048
+ __slots__: List[str] = ['_color']
25049
+
25050
+ def __init__(self, color: str) -> None:
25051
+ self._color = color
25052
+
25053
+ @builtins.property
25054
+ def color(self) -> str:
25055
+ return self._color
25056
+
25057
+
25058
+ scout_chartdefinition_api_TimeSeriesRangePlot.__name__ = "TimeSeriesRangePlot"
25059
+ scout_chartdefinition_api_TimeSeriesRangePlot.__qualname__ = "TimeSeriesRangePlot"
25060
+ scout_chartdefinition_api_TimeSeriesRangePlot.__module__ = "nominal_api.scout_chartdefinition_api"
25061
+
25062
+
24434
25063
  class scout_chartdefinition_api_TimeSeriesRow(ConjureBeanType):
24435
25064
 
24436
25065
  @builtins.classmethod
@@ -24438,15 +25067,17 @@ class scout_chartdefinition_api_TimeSeriesRow(ConjureBeanType):
24438
25067
  return {
24439
25068
  'title': ConjureFieldDefinition('title', OptionalTypeWrapper[str]),
24440
25069
  'plots': ConjureFieldDefinition('plots', List[scout_chartdefinition_api_TimeSeriesPlot]),
25070
+ 'plots_v2': ConjureFieldDefinition('plotsV2', OptionalTypeWrapper[List[scout_chartdefinition_api_TimeSeriesPlotV2]]),
24441
25071
  'row_flex_size': ConjureFieldDefinition('rowFlexSize', float),
24442
25072
  'enabled': ConjureFieldDefinition('enabled', OptionalTypeWrapper[bool])
24443
25073
  }
24444
25074
 
24445
- __slots__: List[str] = ['_title', '_plots', '_row_flex_size', '_enabled']
25075
+ __slots__: List[str] = ['_title', '_plots', '_plots_v2', '_row_flex_size', '_enabled']
24446
25076
 
24447
- def __init__(self, plots: List["scout_chartdefinition_api_TimeSeriesPlot"], row_flex_size: float, enabled: Optional[bool] = None, title: Optional[str] = None) -> None:
25077
+ def __init__(self, plots: List["scout_chartdefinition_api_TimeSeriesPlot"], row_flex_size: float, enabled: Optional[bool] = None, plots_v2: Optional[List["scout_chartdefinition_api_TimeSeriesPlotV2"]] = None, title: Optional[str] = None) -> None:
24448
25078
  self._title = title
24449
25079
  self._plots = plots
25080
+ self._plots_v2 = plots_v2
24450
25081
  self._row_flex_size = row_flex_size
24451
25082
  self._enabled = enabled
24452
25083
 
@@ -24458,6 +25089,10 @@ class scout_chartdefinition_api_TimeSeriesRow(ConjureBeanType):
24458
25089
  def plots(self) -> List["scout_chartdefinition_api_TimeSeriesPlot"]:
24459
25090
  return self._plots
24460
25091
 
25092
+ @builtins.property
25093
+ def plots_v2(self) -> Optional[List["scout_chartdefinition_api_TimeSeriesPlotV2"]]:
25094
+ return self._plots_v2
25095
+
24461
25096
  @builtins.property
24462
25097
  def row_flex_size(self) -> float:
24463
25098
  return self._row_flex_size
@@ -79791,6 +80426,8 @@ scout_rids_api_SnapshotRid = str
79791
80426
 
79792
80427
  scout_units_api_UnitName = str
79793
80428
 
80429
+ ingest_api_FileSuffix = str
80430
+
79794
80431
  scout_datasource_connection_api_TableName = str
79795
80432
 
79796
80433
  timeseries_seriescache_api_Resolution = int
@@ -79937,6 +80574,8 @@ scout_video_api_ErrorType = str
79937
80574
 
79938
80575
  scout_comparisonnotebook_api_ComparisonChannelVariableMap = Dict[scout_comparisonnotebook_api_VariableName, scout_comparisonnotebook_api_ChannelVariable]
79939
80576
 
80577
+ ingest_workflow_api_PresignedUrl = str
80578
+
79940
80579
  timeseries_logicalseries_api_FieldName = str
79941
80580
 
79942
80581
  scout_channelvariables_api_WorkbookChannelVariableMap = Dict[scout_channelvariables_api_ChannelVariableName, scout_channelvariables_api_ChannelVariable]
@@ -30,6 +30,9 @@ from .._impl import (
30
30
  ingest_api_ExistingDatasetIngestDestination as ExistingDatasetIngestDestination,
31
31
  ingest_api_ExistingVideoIngestDestination as ExistingVideoIngestDestination,
32
32
  ingest_api_FileExtractionInput as FileExtractionInput,
33
+ ingest_api_FileFilter as FileFilter,
34
+ ingest_api_FileFilterVisitor as FileFilterVisitor,
35
+ ingest_api_FileSuffix as FileSuffix,
33
36
  ingest_api_GcsIngestSource as GcsIngestSource,
34
37
  ingest_api_GetContainerizedExtractorsRequest as GetContainerizedExtractorsRequest,
35
38
  ingest_api_GetContainerizedExtractorsResponse as GetContainerizedExtractorsResponse,
@@ -20,6 +20,9 @@ from .._impl import (
20
20
  ingest_workflow_api_McapTopicName as McapTopicName,
21
21
  ingest_workflow_api_MultipartUploadDetails as MultipartUploadDetails,
22
22
  ingest_workflow_api_ObjectLocator as ObjectLocator,
23
+ ingest_workflow_api_PresignedFileInput as PresignedFileInput,
24
+ ingest_workflow_api_PresignedUrl as PresignedUrl,
23
25
  ingest_workflow_api_TimeUnitSeconds as TimeUnitSeconds,
26
+ ingest_workflow_api_ValidatedFileInput as ValidatedFileInput,
24
27
  )
25
28
 
@@ -21,6 +21,8 @@ from .._impl import (
21
21
  scout_chartdefinition_api_ChecklistChartDefinition as ChecklistChartDefinition,
22
22
  scout_chartdefinition_api_ChecklistChartDefinitionV1 as ChecklistChartDefinitionV1,
23
23
  scout_chartdefinition_api_ChecklistChartDefinitionVisitor as ChecklistChartDefinitionVisitor,
24
+ scout_chartdefinition_api_ColorStyle as ColorStyle,
25
+ scout_chartdefinition_api_ColorStyleVisitor as ColorStyleVisitor,
24
26
  scout_chartdefinition_api_DataSourceRefName as DataSourceRefName,
25
27
  scout_chartdefinition_api_DefaultFill as DefaultFill,
26
28
  scout_chartdefinition_api_EnumCellConfig as EnumCellConfig,
@@ -79,10 +81,16 @@ from .._impl import (
79
81
  scout_chartdefinition_api_NumericValueVisualisationV2 as NumericValueVisualisationV2,
80
82
  scout_chartdefinition_api_NumericValueVisualisationV2Visitor as NumericValueVisualisationV2Visitor,
81
83
  scout_chartdefinition_api_NumericValueVisualisationVisitor as NumericValueVisualisationVisitor,
84
+ scout_chartdefinition_api_OverlayScope as OverlayScope,
85
+ scout_chartdefinition_api_PersistAll as PersistAll,
86
+ scout_chartdefinition_api_PersistByValue as PersistByValue,
87
+ scout_chartdefinition_api_PersistValueOverlay as PersistValueOverlay,
88
+ scout_chartdefinition_api_PersistValueOverlayVisitor as PersistValueOverlayVisitor,
82
89
  scout_chartdefinition_api_PlotlyPanelDefinition as PlotlyPanelDefinition,
83
90
  scout_chartdefinition_api_PlotlyPanelDefinitionV1 as PlotlyPanelDefinitionV1,
84
91
  scout_chartdefinition_api_PlotlyPanelDefinitionVisitor as PlotlyPanelDefinitionVisitor,
85
92
  scout_chartdefinition_api_PlotlyPreset as PlotlyPreset,
93
+ scout_chartdefinition_api_Position as Position,
86
94
  scout_chartdefinition_api_RangeCellConfig as RangeCellConfig,
87
95
  scout_chartdefinition_api_RangeRawVisualisation as RangeRawVisualisation,
88
96
  scout_chartdefinition_api_RangeValueChannel as RangeValueChannel,
@@ -96,7 +104,13 @@ from .._impl import (
96
104
  scout_chartdefinition_api_TimeSeriesChartDefinition as TimeSeriesChartDefinition,
97
105
  scout_chartdefinition_api_TimeSeriesChartDefinitionV1 as TimeSeriesChartDefinitionV1,
98
106
  scout_chartdefinition_api_TimeSeriesChartDefinitionVisitor as TimeSeriesChartDefinitionVisitor,
107
+ scout_chartdefinition_api_TimeSeriesEnumPlot as TimeSeriesEnumPlot,
108
+ scout_chartdefinition_api_TimeSeriesNumericPlot as TimeSeriesNumericPlot,
99
109
  scout_chartdefinition_api_TimeSeriesPlot as TimeSeriesPlot,
110
+ scout_chartdefinition_api_TimeSeriesPlotConfig as TimeSeriesPlotConfig,
111
+ scout_chartdefinition_api_TimeSeriesPlotConfigVisitor as TimeSeriesPlotConfigVisitor,
112
+ scout_chartdefinition_api_TimeSeriesPlotV2 as TimeSeriesPlotV2,
113
+ scout_chartdefinition_api_TimeSeriesRangePlot as TimeSeriesRangePlot,
100
114
  scout_chartdefinition_api_TimeSeriesRow as TimeSeriesRow,
101
115
  scout_chartdefinition_api_Trace as Trace,
102
116
  scout_chartdefinition_api_TraceCompute as TraceCompute,
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: nominal-api
3
- Version: 0.654.0
3
+ Version: 0.656.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.654.0',
9
+ version='0.656.0',
10
10
  python_requires='>=3.8',
11
11
  package_data={"": ["py.typed"]},
12
12
  packages=find_packages(),
File without changes