nominal-api 0.740.0__py3-none-any.whl → 0.742.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 +1 -1
- nominal_api/_impl.py +127 -19
- nominal_api/timeseries_archetype_api/__init__.py +2 -0
- {nominal_api-0.740.0.dist-info → nominal_api-0.742.0.dist-info}/METADATA +1 -1
- {nominal_api-0.740.0.dist-info → nominal_api-0.742.0.dist-info}/RECORD +7 -7
- {nominal_api-0.740.0.dist-info → nominal_api-0.742.0.dist-info}/WHEEL +0 -0
- {nominal_api-0.740.0.dist-info → nominal_api-0.742.0.dist-info}/top_level.txt +0 -0
nominal_api/__init__.py
CHANGED
nominal_api/_impl.py
CHANGED
@@ -4428,46 +4428,49 @@ class datasource_api_SearchFilteredChannelsRequest(ConjureBeanType):
|
|
4428
4428
|
@builtins.classmethod
|
4429
4429
|
def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
|
4430
4430
|
return {
|
4431
|
-
'
|
4432
|
-
'
|
4431
|
+
'substrings': ConjureFieldDefinition('substrings', OptionalTypeWrapper[List[str]]),
|
4432
|
+
'subsequences': ConjureFieldDefinition('subsequences', OptionalTypeWrapper[List[str]]),
|
4433
4433
|
'data_sources': ConjureFieldDefinition('dataSources', List[api_rids_DataSourceRid]),
|
4434
|
-
'previously_selected_channels': ConjureFieldDefinition('previouslySelectedChannels', OptionalTypeWrapper[Dict[api_rids_DataSourceRid, List[api_Channel]]]),
|
4435
4434
|
'result_size': ConjureFieldDefinition('resultSize', OptionalTypeWrapper[int]),
|
4436
4435
|
'tags': ConjureFieldDefinition('tags', Dict[api_rids_DataSourceRid, Dict[api_TagName, api_TagValue]]),
|
4437
4436
|
'min_data_updated_time': ConjureFieldDefinition('minDataUpdatedTime', OptionalTypeWrapper[scout_run_api_UtcTimestamp]),
|
4438
|
-
'max_data_start_time': ConjureFieldDefinition('maxDataStartTime', OptionalTypeWrapper[scout_run_api_UtcTimestamp])
|
4437
|
+
'max_data_start_time': ConjureFieldDefinition('maxDataStartTime', OptionalTypeWrapper[scout_run_api_UtcTimestamp]),
|
4438
|
+
'previously_selected_channels': ConjureFieldDefinition('previouslySelectedChannels', OptionalTypeWrapper[Dict[api_rids_DataSourceRid, List[api_Channel]]]),
|
4439
|
+
'fuzzy_search_text': ConjureFieldDefinition('fuzzySearchText', OptionalTypeWrapper[str]),
|
4440
|
+
'exact_match': ConjureFieldDefinition('exactMatch', OptionalTypeWrapper[List[str]])
|
4439
4441
|
}
|
4440
4442
|
|
4441
|
-
__slots__: List[str] = ['
|
4443
|
+
__slots__: List[str] = ['_substrings', '_subsequences', '_data_sources', '_result_size', '_tags', '_min_data_updated_time', '_max_data_start_time', '_previously_selected_channels', '_fuzzy_search_text', '_exact_match']
|
4442
4444
|
|
4443
|
-
def __init__(self, data_sources: List[str],
|
4444
|
-
self.
|
4445
|
-
self.
|
4445
|
+
def __init__(self, data_sources: List[str], tags: Dict[str, Dict[str, str]], exact_match: Optional[List[str]] = None, fuzzy_search_text: Optional[str] = None, max_data_start_time: Optional["scout_run_api_UtcTimestamp"] = None, min_data_updated_time: Optional["scout_run_api_UtcTimestamp"] = None, previously_selected_channels: Optional[Dict[str, List[str]]] = None, result_size: Optional[int] = None, subsequences: Optional[List[str]] = None, substrings: Optional[List[str]] = None) -> None:
|
4446
|
+
self._substrings = substrings
|
4447
|
+
self._subsequences = subsequences
|
4446
4448
|
self._data_sources = data_sources
|
4447
|
-
self._previously_selected_channels = previously_selected_channels
|
4448
4449
|
self._result_size = result_size
|
4449
4450
|
self._tags = tags
|
4450
4451
|
self._min_data_updated_time = min_data_updated_time
|
4451
4452
|
self._max_data_start_time = max_data_start_time
|
4453
|
+
self._previously_selected_channels = previously_selected_channels
|
4454
|
+
self._fuzzy_search_text = fuzzy_search_text
|
4455
|
+
self._exact_match = exact_match
|
4452
4456
|
|
4453
4457
|
@builtins.property
|
4454
|
-
def
|
4455
|
-
|
4458
|
+
def substrings(self) -> Optional[List[str]]:
|
4459
|
+
"""All of the strings in the set must appear exactly as substrings within the channel name.
|
4460
|
+
"""
|
4461
|
+
return self._substrings
|
4456
4462
|
|
4457
4463
|
@builtins.property
|
4458
|
-
def
|
4459
|
-
"""
|
4464
|
+
def subsequences(self) -> Optional[List[str]]:
|
4465
|
+
"""All of the characters in the string will appear in the same order (not necessarily adjacently)
|
4466
|
+
within the channel name. Only supports one subsequence to match at this time.
|
4460
4467
|
"""
|
4461
|
-
return self.
|
4468
|
+
return self._subsequences
|
4462
4469
|
|
4463
4470
|
@builtins.property
|
4464
4471
|
def data_sources(self) -> List[str]:
|
4465
4472
|
return self._data_sources
|
4466
4473
|
|
4467
|
-
@builtins.property
|
4468
|
-
def previously_selected_channels(self) -> Optional[Dict[str, List[str]]]:
|
4469
|
-
return self._previously_selected_channels
|
4470
|
-
|
4471
4474
|
@builtins.property
|
4472
4475
|
def result_size(self) -> Optional[int]:
|
4473
4476
|
"""Defaults to 200. Will throw if larger than 200.
|
@@ -4494,6 +4497,20 @@ in this map, or if a data source points to an empty map of tags, it will be sear
|
|
4494
4497
|
"""
|
4495
4498
|
return self._max_data_start_time
|
4496
4499
|
|
4500
|
+
@builtins.property
|
4501
|
+
def previously_selected_channels(self) -> Optional[Dict[str, List[str]]]:
|
4502
|
+
return self._previously_selected_channels
|
4503
|
+
|
4504
|
+
@builtins.property
|
4505
|
+
def fuzzy_search_text(self) -> Optional[str]:
|
4506
|
+
return self._fuzzy_search_text
|
4507
|
+
|
4508
|
+
@builtins.property
|
4509
|
+
def exact_match(self) -> Optional[List[str]]:
|
4510
|
+
"""Will return only channels that contain all strings specified as exact matches (case insensitive).
|
4511
|
+
"""
|
4512
|
+
return self._exact_match
|
4513
|
+
|
4497
4514
|
|
4498
4515
|
datasource_api_SearchFilteredChannelsRequest.__name__ = "SearchFilteredChannelsRequest"
|
4499
4516
|
datasource_api_SearchFilteredChannelsRequest.__qualname__ = "SearchFilteredChannelsRequest"
|
@@ -69100,6 +69117,8 @@ class scout_metadata_ResourceType(ConjureEnumType):
|
|
69100
69117
|
'''ASSET'''
|
69101
69118
|
EVENT = 'EVENT'
|
69102
69119
|
'''EVENT'''
|
69120
|
+
DATASET = 'DATASET'
|
69121
|
+
'''DATASET'''
|
69103
69122
|
UNKNOWN = 'UNKNOWN'
|
69104
69123
|
'''UNKNOWN'''
|
69105
69124
|
|
@@ -81900,6 +81919,74 @@ timeseries_archetype_api_CreateSeriesArchetypeRequest.__qualname__ = "CreateSeri
|
|
81900
81919
|
timeseries_archetype_api_CreateSeriesArchetypeRequest.__module__ = "nominal_api.timeseries_archetype_api"
|
81901
81920
|
|
81902
81921
|
|
81922
|
+
class timeseries_archetype_api_CsvLocatorTemplate(ConjureBeanType):
|
81923
|
+
"""Deprecated in favor of CsvLocatorV2Template
|
81924
|
+
"""
|
81925
|
+
|
81926
|
+
@builtins.classmethod
|
81927
|
+
def _fields(cls) -> Dict[str, ConjureFieldDefinition]:
|
81928
|
+
return {
|
81929
|
+
's3_path': ConjureFieldDefinition('s3Path', api_S3Path),
|
81930
|
+
'index': ConjureFieldDefinition('index', int),
|
81931
|
+
'uses_legacy_format': ConjureFieldDefinition('usesLegacyFormat', OptionalTypeWrapper[bool]),
|
81932
|
+
'x_series_handle': ConjureFieldDefinition('xSeriesHandle', OptionalTypeWrapper[str]),
|
81933
|
+
'y_series_handle': ConjureFieldDefinition('ySeriesHandle', OptionalTypeWrapper[str]),
|
81934
|
+
'type': ConjureFieldDefinition('type', storage_series_api_NominalDataType),
|
81935
|
+
'channel': ConjureFieldDefinition('channel', api_Channel)
|
81936
|
+
}
|
81937
|
+
|
81938
|
+
__slots__: List[str] = ['_s3_path', '_index', '_uses_legacy_format', '_x_series_handle', '_y_series_handle', '_type', '_channel']
|
81939
|
+
|
81940
|
+
def __init__(self, channel: str, index: int, s3_path: str, type: "storage_series_api_NominalDataType", uses_legacy_format: Optional[bool] = None, x_series_handle: Optional[str] = None, y_series_handle: Optional[str] = None) -> None:
|
81941
|
+
self._s3_path = s3_path
|
81942
|
+
self._index = index
|
81943
|
+
self._uses_legacy_format = uses_legacy_format
|
81944
|
+
self._x_series_handle = x_series_handle
|
81945
|
+
self._y_series_handle = y_series_handle
|
81946
|
+
self._type = type
|
81947
|
+
self._channel = channel
|
81948
|
+
|
81949
|
+
@builtins.property
|
81950
|
+
def s3_path(self) -> str:
|
81951
|
+
return self._s3_path
|
81952
|
+
|
81953
|
+
@builtins.property
|
81954
|
+
def index(self) -> int:
|
81955
|
+
return self._index
|
81956
|
+
|
81957
|
+
@builtins.property
|
81958
|
+
def uses_legacy_format(self) -> Optional[bool]:
|
81959
|
+
"""If empty, defaults to false. This refers to whether the CSV was ingested using legacy format where the timestamp
|
81960
|
+
and values are split into two separate arrow files.
|
81961
|
+
"""
|
81962
|
+
return self._uses_legacy_format
|
81963
|
+
|
81964
|
+
@builtins.property
|
81965
|
+
def x_series_handle(self) -> Optional[str]:
|
81966
|
+
"""The handle of the x series to use for this logical series.
|
81967
|
+
"""
|
81968
|
+
return self._x_series_handle
|
81969
|
+
|
81970
|
+
@builtins.property
|
81971
|
+
def y_series_handle(self) -> Optional[str]:
|
81972
|
+
"""The handle of the y series to use for this logical series.
|
81973
|
+
"""
|
81974
|
+
return self._y_series_handle
|
81975
|
+
|
81976
|
+
@builtins.property
|
81977
|
+
def type(self) -> "storage_series_api_NominalDataType":
|
81978
|
+
return self._type
|
81979
|
+
|
81980
|
+
@builtins.property
|
81981
|
+
def channel(self) -> str:
|
81982
|
+
return self._channel
|
81983
|
+
|
81984
|
+
|
81985
|
+
timeseries_archetype_api_CsvLocatorTemplate.__name__ = "CsvLocatorTemplate"
|
81986
|
+
timeseries_archetype_api_CsvLocatorTemplate.__qualname__ = "CsvLocatorTemplate"
|
81987
|
+
timeseries_archetype_api_CsvLocatorTemplate.__module__ = "nominal_api.timeseries_archetype_api"
|
81988
|
+
|
81989
|
+
|
81903
81990
|
class timeseries_archetype_api_CsvLocatorV2Template(ConjureBeanType):
|
81904
81991
|
|
81905
81992
|
@builtins.classmethod
|
@@ -82039,6 +82126,7 @@ class timeseries_archetype_api_LocatorTemplate(ConjureUnionType):
|
|
82039
82126
|
_timestream: Optional["timeseries_archetype_api_TimestreamLocatorTemplate"] = None
|
82040
82127
|
_visual_crossing: Optional["timeseries_archetype_api_VisualCrossingLocatorTemplate"] = None
|
82041
82128
|
_big_query: Optional["timeseries_archetype_api_BigQueryLocatorTemplate"] = None
|
82129
|
+
_csv: Optional["timeseries_archetype_api_CsvLocatorTemplate"] = None
|
82042
82130
|
_csv_v2: Optional["timeseries_archetype_api_CsvLocatorV2Template"] = None
|
82043
82131
|
|
82044
82132
|
@builtins.classmethod
|
@@ -82051,6 +82139,7 @@ class timeseries_archetype_api_LocatorTemplate(ConjureUnionType):
|
|
82051
82139
|
'timestream': ConjureFieldDefinition('timestream', timeseries_archetype_api_TimestreamLocatorTemplate),
|
82052
82140
|
'visual_crossing': ConjureFieldDefinition('visualCrossing', timeseries_archetype_api_VisualCrossingLocatorTemplate),
|
82053
82141
|
'big_query': ConjureFieldDefinition('bigQuery', timeseries_archetype_api_BigQueryLocatorTemplate),
|
82142
|
+
'csv': ConjureFieldDefinition('csv', timeseries_archetype_api_CsvLocatorTemplate),
|
82054
82143
|
'csv_v2': ConjureFieldDefinition('csvV2', timeseries_archetype_api_CsvLocatorV2Template)
|
82055
82144
|
}
|
82056
82145
|
|
@@ -82063,11 +82152,12 @@ class timeseries_archetype_api_LocatorTemplate(ConjureUnionType):
|
|
82063
82152
|
timestream: Optional["timeseries_archetype_api_TimestreamLocatorTemplate"] = None,
|
82064
82153
|
visual_crossing: Optional["timeseries_archetype_api_VisualCrossingLocatorTemplate"] = None,
|
82065
82154
|
big_query: Optional["timeseries_archetype_api_BigQueryLocatorTemplate"] = None,
|
82155
|
+
csv: Optional["timeseries_archetype_api_CsvLocatorTemplate"] = None,
|
82066
82156
|
csv_v2: Optional["timeseries_archetype_api_CsvLocatorV2Template"] = None,
|
82067
82157
|
type_of_union: Optional[str] = None
|
82068
82158
|
) -> None:
|
82069
82159
|
if type_of_union is None:
|
82070
|
-
if (timescale_db is not None) + (influx is not None) + (influx1 is not None) + (nominal is not None) + (timestream is not None) + (visual_crossing is not None) + (big_query is not None) + (csv_v2 is not None) != 1:
|
82160
|
+
if (timescale_db is not None) + (influx is not None) + (influx1 is not None) + (nominal is not None) + (timestream is not None) + (visual_crossing is not None) + (big_query is not None) + (csv is not None) + (csv_v2 is not None) != 1:
|
82071
82161
|
raise ValueError('a union must contain a single member')
|
82072
82162
|
|
82073
82163
|
if timescale_db is not None:
|
@@ -82091,6 +82181,9 @@ class timeseries_archetype_api_LocatorTemplate(ConjureUnionType):
|
|
82091
82181
|
if big_query is not None:
|
82092
82182
|
self._big_query = big_query
|
82093
82183
|
self._type = 'bigQuery'
|
82184
|
+
if csv is not None:
|
82185
|
+
self._csv = csv
|
82186
|
+
self._type = 'csv'
|
82094
82187
|
if csv_v2 is not None:
|
82095
82188
|
self._csv_v2 = csv_v2
|
82096
82189
|
self._type = 'csvV2'
|
@@ -82130,6 +82223,11 @@ class timeseries_archetype_api_LocatorTemplate(ConjureUnionType):
|
|
82130
82223
|
raise ValueError('a union value must not be None')
|
82131
82224
|
self._big_query = big_query
|
82132
82225
|
self._type = 'bigQuery'
|
82226
|
+
elif type_of_union == 'csv':
|
82227
|
+
if csv is None:
|
82228
|
+
raise ValueError('a union value must not be None')
|
82229
|
+
self._csv = csv
|
82230
|
+
self._type = 'csv'
|
82133
82231
|
elif type_of_union == 'csvV2':
|
82134
82232
|
if csv_v2 is None:
|
82135
82233
|
raise ValueError('a union value must not be None')
|
@@ -82164,6 +82262,10 @@ class timeseries_archetype_api_LocatorTemplate(ConjureUnionType):
|
|
82164
82262
|
def big_query(self) -> Optional["timeseries_archetype_api_BigQueryLocatorTemplate"]:
|
82165
82263
|
return self._big_query
|
82166
82264
|
|
82265
|
+
@builtins.property
|
82266
|
+
def csv(self) -> Optional["timeseries_archetype_api_CsvLocatorTemplate"]:
|
82267
|
+
return self._csv
|
82268
|
+
|
82167
82269
|
@builtins.property
|
82168
82270
|
def csv_v2(self) -> Optional["timeseries_archetype_api_CsvLocatorV2Template"]:
|
82169
82271
|
return self._csv_v2
|
@@ -82185,6 +82287,8 @@ class timeseries_archetype_api_LocatorTemplate(ConjureUnionType):
|
|
82185
82287
|
return visitor._visual_crossing(self.visual_crossing)
|
82186
82288
|
if self._type == 'bigQuery' and self.big_query is not None:
|
82187
82289
|
return visitor._big_query(self.big_query)
|
82290
|
+
if self._type == 'csv' and self.csv is not None:
|
82291
|
+
return visitor._csv(self.csv)
|
82188
82292
|
if self._type == 'csvV2' and self.csv_v2 is not None:
|
82189
82293
|
return visitor._csv_v2(self.csv_v2)
|
82190
82294
|
|
@@ -82224,6 +82328,10 @@ class timeseries_archetype_api_LocatorTemplateVisitor:
|
|
82224
82328
|
def _big_query(self, big_query: "timeseries_archetype_api_BigQueryLocatorTemplate") -> Any:
|
82225
82329
|
pass
|
82226
82330
|
|
82331
|
+
@abstractmethod
|
82332
|
+
def _csv(self, csv: "timeseries_archetype_api_CsvLocatorTemplate") -> Any:
|
82333
|
+
pass
|
82334
|
+
|
82227
82335
|
@abstractmethod
|
82228
82336
|
def _csv_v2(self, csv_v2: "timeseries_archetype_api_CsvLocatorV2Template") -> Any:
|
82229
82337
|
pass
|
@@ -5,6 +5,7 @@ from .._impl import (
|
|
5
5
|
timeseries_archetype_api_BatchGetSeriesArchetypeResponse as BatchGetSeriesArchetypeResponse,
|
6
6
|
timeseries_archetype_api_BigQueryLocatorTemplate as BigQueryLocatorTemplate,
|
7
7
|
timeseries_archetype_api_CreateSeriesArchetypeRequest as CreateSeriesArchetypeRequest,
|
8
|
+
timeseries_archetype_api_CsvLocatorTemplate as CsvLocatorTemplate,
|
8
9
|
timeseries_archetype_api_CsvLocatorV2Template as CsvLocatorV2Template,
|
9
10
|
timeseries_archetype_api_Influx1LocatorTemplate as Influx1LocatorTemplate,
|
10
11
|
timeseries_archetype_api_Influx2LocatorTemplate as Influx2LocatorTemplate,
|
@@ -25,6 +26,7 @@ __all__ = [
|
|
25
26
|
'BatchGetSeriesArchetypeResponse',
|
26
27
|
'BigQueryLocatorTemplate',
|
27
28
|
'CreateSeriesArchetypeRequest',
|
29
|
+
'CsvLocatorTemplate',
|
28
30
|
'CsvLocatorV2Template',
|
29
31
|
'Influx1LocatorTemplate',
|
30
32
|
'Influx2LocatorTemplate',
|
@@ -1,5 +1,5 @@
|
|
1
|
-
nominal_api/__init__.py,sha256=
|
2
|
-
nominal_api/_impl.py,sha256=
|
1
|
+
nominal_api/__init__.py,sha256=HxU-gdKcOVcQ5u26ymv67xzFrqBaliNPT96pGSiGayE,1990
|
2
|
+
nominal_api/_impl.py,sha256=WkxwVjj-bvAQsYYUTWP9-l18Lfn1Bo1mJBM2I3dB4B0,3368839
|
3
3
|
nominal_api/py.typed,sha256=eoZ6GfifbqhMLNzjlqRDVil-yyBkOmVN9ujSgJWNBlY,15
|
4
4
|
nominal_api/api/__init__.py,sha256=PMREKP7UhxJ1_gHkrlJET46qlDHksKMm6-woR1p6WnU,1970
|
5
5
|
nominal_api/api_ids/__init__.py,sha256=sxqN5dMk6bOx0SKOd0ANG3_kmx1VtdSVotzEGn_q6sE,114
|
@@ -66,7 +66,7 @@ nominal_api/storage_series_api/__init__.py,sha256=wq6d_C7M31wVt9CM-bw0DtOBfcrPyv
|
|
66
66
|
nominal_api/storage_writer_api/__init__.py,sha256=a6EGXk7GgDraTFLYRdJTi4baAYtuRsEX7xrKQTYRydo,2587
|
67
67
|
nominal_api/themes_api/__init__.py,sha256=ep1lghKFHuXCRbvHc4Qsa8O5h-Idr3n9aDTSuKEF4Nk,1341
|
68
68
|
nominal_api/timeseries_archetype/__init__.py,sha256=sZdZCA3nTyv0rF4YHaAZTw4kglrNREcsYTMjjl85hWY,160
|
69
|
-
nominal_api/timeseries_archetype_api/__init__.py,sha256=
|
69
|
+
nominal_api/timeseries_archetype_api/__init__.py,sha256=xd51luqmUAPR5gn1vVWx6Kzw1EU6rzfit7iK8vYlkB8,2137
|
70
70
|
nominal_api/timeseries_channelmetadata/__init__.py,sha256=K5rQ2FnPxUJJ-763HWInYu0tRfnOyf1V9H232SyliD4,166
|
71
71
|
nominal_api/timeseries_channelmetadata_api/__init__.py,sha256=cnW4lnburn1z58pMO1inqf7DCqbxcTivQmEMCEtqtvQ,1086
|
72
72
|
nominal_api/timeseries_logicalseries/__init__.py,sha256=8GyG6TLiwCUsfooVx8fotkILjCFwsqiDmy9LmSb-OrY,158
|
@@ -74,7 +74,7 @@ nominal_api/timeseries_logicalseries_api/__init__.py,sha256=BwdqHLq_98LOsRV14JA3
|
|
74
74
|
nominal_api/timeseries_seriescache/__init__.py,sha256=hL5hN8jKLEGE_fDiZzdASmWIrRjU6tncpmDeuc_47P4,150
|
75
75
|
nominal_api/timeseries_seriescache_api/__init__.py,sha256=USBxFmNnVFdnhTPLvWi3UgsvBZ4Iz4ycNgBTi10F-zI,1603
|
76
76
|
nominal_api/upload_api/__init__.py,sha256=7-XXuZUqKPV4AMWvxNpZPZ5vBun4x-AomXj3Vol_BN4,123
|
77
|
-
nominal_api-0.
|
78
|
-
nominal_api-0.
|
79
|
-
nominal_api-0.
|
80
|
-
nominal_api-0.
|
77
|
+
nominal_api-0.742.0.dist-info/METADATA,sha256=eO66XMYiBwGRNmibRFjHkbutRRxsn66BmeUgDAj36rA,199
|
78
|
+
nominal_api-0.742.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
79
|
+
nominal_api-0.742.0.dist-info/top_level.txt,sha256=gI1ZdNJbuHcJZeKtCzzBXsEtpU1GX6XJKs6ksi_gCRA,12
|
80
|
+
nominal_api-0.742.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|