databricks-sdk 0.70.0__py3-none-any.whl → 0.72.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.
Potentially problematic release.
This version of databricks-sdk might be problematic. Click here for more details.
- databricks/sdk/__init__.py +25 -25
- databricks/sdk/mixins/files.py +51 -15
- databricks/sdk/service/agentbricks.py +2 -0
- databricks/sdk/service/apps.py +10 -0
- databricks/sdk/service/billing.py +13 -3
- databricks/sdk/service/catalog.py +149 -46
- databricks/sdk/service/cleanrooms.py +11 -3
- databricks/sdk/service/compute.py +55 -0
- databricks/sdk/service/dashboards.py +11 -0
- databricks/sdk/service/database.py +12 -0
- databricks/sdk/service/dataquality.py +4 -0
- databricks/sdk/service/files.py +7 -72
- databricks/sdk/service/iam.py +26 -36
- databricks/sdk/service/iamv2.py +6 -0
- databricks/sdk/service/jobs.py +22 -122
- databricks/sdk/service/marketplace.py +18 -0
- databricks/sdk/service/ml.py +321 -17
- databricks/sdk/service/oauth2.py +10 -18
- databricks/sdk/service/pipelines.py +44 -13
- databricks/sdk/service/provisioning.py +9 -0
- databricks/sdk/service/qualitymonitorv2.py +2 -0
- databricks/sdk/service/serving.py +16 -21
- databricks/sdk/service/settings.py +43 -72
- databricks/sdk/service/settingsv2.py +2 -0
- databricks/sdk/service/sharing.py +23 -31
- databricks/sdk/service/sql.py +48 -24
- databricks/sdk/service/tags.py +2 -0
- databricks/sdk/service/vectorsearch.py +11 -1
- databricks/sdk/service/workspace.py +18 -91
- databricks/sdk/version.py +1 -1
- {databricks_sdk-0.70.0.dist-info → databricks_sdk-0.72.0.dist-info}/METADATA +1 -1
- {databricks_sdk-0.70.0.dist-info → databricks_sdk-0.72.0.dist-info}/RECORD +36 -36
- {databricks_sdk-0.70.0.dist-info → databricks_sdk-0.72.0.dist-info}/WHEEL +0 -0
- {databricks_sdk-0.70.0.dist-info → databricks_sdk-0.72.0.dist-info}/licenses/LICENSE +0 -0
- {databricks_sdk-0.70.0.dist-info → databricks_sdk-0.72.0.dist-info}/licenses/NOTICE +0 -0
- {databricks_sdk-0.70.0.dist-info → databricks_sdk-0.72.0.dist-info}/top_level.txt +0 -0
databricks/sdk/service/ml.py
CHANGED
|
@@ -201,6 +201,31 @@ class ApproveTransitionRequestResponse:
|
|
|
201
201
|
return cls(activity=_from_dict(d, "activity", Activity))
|
|
202
202
|
|
|
203
203
|
|
|
204
|
+
@dataclass
|
|
205
|
+
class BatchCreateMaterializedFeaturesResponse:
|
|
206
|
+
materialized_features: Optional[List[MaterializedFeature]] = None
|
|
207
|
+
"""The created materialized features with assigned IDs."""
|
|
208
|
+
|
|
209
|
+
def as_dict(self) -> dict:
|
|
210
|
+
"""Serializes the BatchCreateMaterializedFeaturesResponse into a dictionary suitable for use as a JSON request body."""
|
|
211
|
+
body = {}
|
|
212
|
+
if self.materialized_features:
|
|
213
|
+
body["materialized_features"] = [v.as_dict() for v in self.materialized_features]
|
|
214
|
+
return body
|
|
215
|
+
|
|
216
|
+
def as_shallow_dict(self) -> dict:
|
|
217
|
+
"""Serializes the BatchCreateMaterializedFeaturesResponse into a shallow dictionary of its immediate attributes."""
|
|
218
|
+
body = {}
|
|
219
|
+
if self.materialized_features:
|
|
220
|
+
body["materialized_features"] = self.materialized_features
|
|
221
|
+
return body
|
|
222
|
+
|
|
223
|
+
@classmethod
|
|
224
|
+
def from_dict(cls, d: Dict[str, Any]) -> BatchCreateMaterializedFeaturesResponse:
|
|
225
|
+
"""Deserializes the BatchCreateMaterializedFeaturesResponse from a dictionary."""
|
|
226
|
+
return cls(materialized_features=_repeated_dict(d, "materialized_features", MaterializedFeature))
|
|
227
|
+
|
|
228
|
+
|
|
204
229
|
class CommentActivityAction(Enum):
|
|
205
230
|
"""An action that a user (with sufficient permissions) could take on an activity or comment.
|
|
206
231
|
|
|
@@ -291,6 +316,38 @@ class CommentObject:
|
|
|
291
316
|
)
|
|
292
317
|
|
|
293
318
|
|
|
319
|
+
@dataclass
|
|
320
|
+
class ContinuousWindow:
|
|
321
|
+
window_duration: str
|
|
322
|
+
"""The duration of the continuous window (must be positive)."""
|
|
323
|
+
|
|
324
|
+
offset: Optional[str] = None
|
|
325
|
+
"""The offset of the continuous window (must be non-positive)."""
|
|
326
|
+
|
|
327
|
+
def as_dict(self) -> dict:
|
|
328
|
+
"""Serializes the ContinuousWindow into a dictionary suitable for use as a JSON request body."""
|
|
329
|
+
body = {}
|
|
330
|
+
if self.offset is not None:
|
|
331
|
+
body["offset"] = self.offset
|
|
332
|
+
if self.window_duration is not None:
|
|
333
|
+
body["window_duration"] = self.window_duration
|
|
334
|
+
return body
|
|
335
|
+
|
|
336
|
+
def as_shallow_dict(self) -> dict:
|
|
337
|
+
"""Serializes the ContinuousWindow into a shallow dictionary of its immediate attributes."""
|
|
338
|
+
body = {}
|
|
339
|
+
if self.offset is not None:
|
|
340
|
+
body["offset"] = self.offset
|
|
341
|
+
if self.window_duration is not None:
|
|
342
|
+
body["window_duration"] = self.window_duration
|
|
343
|
+
return body
|
|
344
|
+
|
|
345
|
+
@classmethod
|
|
346
|
+
def from_dict(cls, d: Dict[str, Any]) -> ContinuousWindow:
|
|
347
|
+
"""Deserializes the ContinuousWindow from a dictionary."""
|
|
348
|
+
return cls(offset=d.get("offset", None), window_duration=d.get("window_duration", None))
|
|
349
|
+
|
|
350
|
+
|
|
294
351
|
@dataclass
|
|
295
352
|
class CreateCommentResponse:
|
|
296
353
|
comment: Optional[CommentObject] = None
|
|
@@ -391,6 +448,31 @@ class CreateLoggedModelResponse:
|
|
|
391
448
|
return cls(model=_from_dict(d, "model", LoggedModel))
|
|
392
449
|
|
|
393
450
|
|
|
451
|
+
@dataclass
|
|
452
|
+
class CreateMaterializedFeatureRequest:
|
|
453
|
+
materialized_feature: MaterializedFeature
|
|
454
|
+
"""The materialized feature to create."""
|
|
455
|
+
|
|
456
|
+
def as_dict(self) -> dict:
|
|
457
|
+
"""Serializes the CreateMaterializedFeatureRequest into a dictionary suitable for use as a JSON request body."""
|
|
458
|
+
body = {}
|
|
459
|
+
if self.materialized_feature:
|
|
460
|
+
body["materialized_feature"] = self.materialized_feature.as_dict()
|
|
461
|
+
return body
|
|
462
|
+
|
|
463
|
+
def as_shallow_dict(self) -> dict:
|
|
464
|
+
"""Serializes the CreateMaterializedFeatureRequest into a shallow dictionary of its immediate attributes."""
|
|
465
|
+
body = {}
|
|
466
|
+
if self.materialized_feature:
|
|
467
|
+
body["materialized_feature"] = self.materialized_feature
|
|
468
|
+
return body
|
|
469
|
+
|
|
470
|
+
@classmethod
|
|
471
|
+
def from_dict(cls, d: Dict[str, Any]) -> CreateMaterializedFeatureRequest:
|
|
472
|
+
"""Deserializes the CreateMaterializedFeatureRequest from a dictionary."""
|
|
473
|
+
return cls(materialized_feature=_from_dict(d, "materialized_feature", MaterializedFeature))
|
|
474
|
+
|
|
475
|
+
|
|
394
476
|
@dataclass
|
|
395
477
|
class CreateModelResponse:
|
|
396
478
|
registered_model: Optional[Model] = None
|
|
@@ -1302,6 +1384,9 @@ class Feature:
|
|
|
1302
1384
|
filter_condition: Optional[str] = None
|
|
1303
1385
|
"""The filter condition applied to the source data before aggregation."""
|
|
1304
1386
|
|
|
1387
|
+
lineage_context: Optional[LineageContext] = None
|
|
1388
|
+
"""Lineage context information for this feature."""
|
|
1389
|
+
|
|
1305
1390
|
def as_dict(self) -> dict:
|
|
1306
1391
|
"""Serializes the Feature into a dictionary suitable for use as a JSON request body."""
|
|
1307
1392
|
body = {}
|
|
@@ -1315,6 +1400,8 @@ class Feature:
|
|
|
1315
1400
|
body["function"] = self.function.as_dict()
|
|
1316
1401
|
if self.inputs:
|
|
1317
1402
|
body["inputs"] = [v for v in self.inputs]
|
|
1403
|
+
if self.lineage_context:
|
|
1404
|
+
body["lineage_context"] = self.lineage_context.as_dict()
|
|
1318
1405
|
if self.source:
|
|
1319
1406
|
body["source"] = self.source.as_dict()
|
|
1320
1407
|
if self.time_window:
|
|
@@ -1334,6 +1421,8 @@ class Feature:
|
|
|
1334
1421
|
body["function"] = self.function
|
|
1335
1422
|
if self.inputs:
|
|
1336
1423
|
body["inputs"] = self.inputs
|
|
1424
|
+
if self.lineage_context:
|
|
1425
|
+
body["lineage_context"] = self.lineage_context
|
|
1337
1426
|
if self.source:
|
|
1338
1427
|
body["source"] = self.source
|
|
1339
1428
|
if self.time_window:
|
|
@@ -1349,6 +1438,7 @@ class Feature:
|
|
|
1349
1438
|
full_name=d.get("full_name", None),
|
|
1350
1439
|
function=_from_dict(d, "function", Function),
|
|
1351
1440
|
inputs=d.get("inputs", None),
|
|
1441
|
+
lineage_context=_from_dict(d, "lineage_context", LineageContext),
|
|
1352
1442
|
source=_from_dict(d, "source", DataSource),
|
|
1353
1443
|
time_window=_from_dict(d, "time_window", TimeWindow),
|
|
1354
1444
|
)
|
|
@@ -2160,6 +2250,38 @@ class InputTag:
|
|
|
2160
2250
|
return cls(key=d.get("key", None), value=d.get("value", None))
|
|
2161
2251
|
|
|
2162
2252
|
|
|
2253
|
+
@dataclass
|
|
2254
|
+
class JobContext:
|
|
2255
|
+
job_id: Optional[int] = None
|
|
2256
|
+
"""The job ID where this API invoked."""
|
|
2257
|
+
|
|
2258
|
+
job_run_id: Optional[int] = None
|
|
2259
|
+
"""The job run ID where this API was invoked."""
|
|
2260
|
+
|
|
2261
|
+
def as_dict(self) -> dict:
|
|
2262
|
+
"""Serializes the JobContext into a dictionary suitable for use as a JSON request body."""
|
|
2263
|
+
body = {}
|
|
2264
|
+
if self.job_id is not None:
|
|
2265
|
+
body["job_id"] = self.job_id
|
|
2266
|
+
if self.job_run_id is not None:
|
|
2267
|
+
body["job_run_id"] = self.job_run_id
|
|
2268
|
+
return body
|
|
2269
|
+
|
|
2270
|
+
def as_shallow_dict(self) -> dict:
|
|
2271
|
+
"""Serializes the JobContext into a shallow dictionary of its immediate attributes."""
|
|
2272
|
+
body = {}
|
|
2273
|
+
if self.job_id is not None:
|
|
2274
|
+
body["job_id"] = self.job_id
|
|
2275
|
+
if self.job_run_id is not None:
|
|
2276
|
+
body["job_run_id"] = self.job_run_id
|
|
2277
|
+
return body
|
|
2278
|
+
|
|
2279
|
+
@classmethod
|
|
2280
|
+
def from_dict(cls, d: Dict[str, Any]) -> JobContext:
|
|
2281
|
+
"""Deserializes the JobContext from a dictionary."""
|
|
2282
|
+
return cls(job_id=d.get("job_id", None), job_run_id=d.get("job_run_id", None))
|
|
2283
|
+
|
|
2284
|
+
|
|
2163
2285
|
@dataclass
|
|
2164
2286
|
class JobSpec:
|
|
2165
2287
|
job_id: str
|
|
@@ -2237,6 +2359,42 @@ class JobSpecWithoutSecret:
|
|
|
2237
2359
|
return cls(job_id=d.get("job_id", None), workspace_url=d.get("workspace_url", None))
|
|
2238
2360
|
|
|
2239
2361
|
|
|
2362
|
+
@dataclass
|
|
2363
|
+
class LineageContext:
|
|
2364
|
+
"""Lineage context information for tracking where an API was invoked. This will allow us to track
|
|
2365
|
+
lineage, which currently uses caller entity information for use across the Lineage Client and
|
|
2366
|
+
Observability in Lumberjack."""
|
|
2367
|
+
|
|
2368
|
+
job_context: Optional[JobContext] = None
|
|
2369
|
+
"""Job context information including job ID and run ID."""
|
|
2370
|
+
|
|
2371
|
+
notebook_id: Optional[int] = None
|
|
2372
|
+
"""The notebook ID where this API was invoked."""
|
|
2373
|
+
|
|
2374
|
+
def as_dict(self) -> dict:
|
|
2375
|
+
"""Serializes the LineageContext into a dictionary suitable for use as a JSON request body."""
|
|
2376
|
+
body = {}
|
|
2377
|
+
if self.job_context:
|
|
2378
|
+
body["job_context"] = self.job_context.as_dict()
|
|
2379
|
+
if self.notebook_id is not None:
|
|
2380
|
+
body["notebook_id"] = self.notebook_id
|
|
2381
|
+
return body
|
|
2382
|
+
|
|
2383
|
+
def as_shallow_dict(self) -> dict:
|
|
2384
|
+
"""Serializes the LineageContext into a shallow dictionary of its immediate attributes."""
|
|
2385
|
+
body = {}
|
|
2386
|
+
if self.job_context:
|
|
2387
|
+
body["job_context"] = self.job_context
|
|
2388
|
+
if self.notebook_id is not None:
|
|
2389
|
+
body["notebook_id"] = self.notebook_id
|
|
2390
|
+
return body
|
|
2391
|
+
|
|
2392
|
+
@classmethod
|
|
2393
|
+
def from_dict(cls, d: Dict[str, Any]) -> LineageContext:
|
|
2394
|
+
"""Deserializes the LineageContext from a dictionary."""
|
|
2395
|
+
return cls(job_context=_from_dict(d, "job_context", JobContext), notebook_id=d.get("notebook_id", None))
|
|
2396
|
+
|
|
2397
|
+
|
|
2240
2398
|
@dataclass
|
|
2241
2399
|
class LinkedFeature:
|
|
2242
2400
|
"""Feature for model version. ([ML-57150] Renamed from Feature to LinkedFeature)"""
|
|
@@ -2987,10 +3145,6 @@ class MaterializedFeature:
|
|
|
2987
3145
|
feature_name: str
|
|
2988
3146
|
"""The full name of the feature in Unity Catalog."""
|
|
2989
3147
|
|
|
2990
|
-
offline_store_config: OfflineStoreConfig
|
|
2991
|
-
|
|
2992
|
-
online_store_config: OnlineStore
|
|
2993
|
-
|
|
2994
3148
|
last_materialization_time: Optional[str] = None
|
|
2995
3149
|
"""The timestamp when the pipeline last ran and updated the materialized feature values. If the
|
|
2996
3150
|
pipeline has not run yet, this field will be null."""
|
|
@@ -2998,6 +3152,10 @@ class MaterializedFeature:
|
|
|
2998
3152
|
materialized_feature_id: Optional[str] = None
|
|
2999
3153
|
"""Unique identifier for the materialized feature."""
|
|
3000
3154
|
|
|
3155
|
+
offline_store_config: Optional[OfflineStoreConfig] = None
|
|
3156
|
+
|
|
3157
|
+
online_store_config: Optional[OnlineStore] = None
|
|
3158
|
+
|
|
3001
3159
|
pipeline_schedule_state: Optional[MaterializedFeaturePipelineScheduleState] = None
|
|
3002
3160
|
"""The schedule state of the materialization pipeline."""
|
|
3003
3161
|
|
|
@@ -5114,6 +5272,38 @@ class SetTagResponse:
|
|
|
5114
5272
|
return cls()
|
|
5115
5273
|
|
|
5116
5274
|
|
|
5275
|
+
@dataclass
|
|
5276
|
+
class SlidingWindow:
|
|
5277
|
+
window_duration: str
|
|
5278
|
+
"""The duration of the sliding window."""
|
|
5279
|
+
|
|
5280
|
+
slide_duration: str
|
|
5281
|
+
"""The slide duration (interval by which windows advance, must be positive and less than duration)."""
|
|
5282
|
+
|
|
5283
|
+
def as_dict(self) -> dict:
|
|
5284
|
+
"""Serializes the SlidingWindow into a dictionary suitable for use as a JSON request body."""
|
|
5285
|
+
body = {}
|
|
5286
|
+
if self.slide_duration is not None:
|
|
5287
|
+
body["slide_duration"] = self.slide_duration
|
|
5288
|
+
if self.window_duration is not None:
|
|
5289
|
+
body["window_duration"] = self.window_duration
|
|
5290
|
+
return body
|
|
5291
|
+
|
|
5292
|
+
def as_shallow_dict(self) -> dict:
|
|
5293
|
+
"""Serializes the SlidingWindow into a shallow dictionary of its immediate attributes."""
|
|
5294
|
+
body = {}
|
|
5295
|
+
if self.slide_duration is not None:
|
|
5296
|
+
body["slide_duration"] = self.slide_duration
|
|
5297
|
+
if self.window_duration is not None:
|
|
5298
|
+
body["window_duration"] = self.window_duration
|
|
5299
|
+
return body
|
|
5300
|
+
|
|
5301
|
+
@classmethod
|
|
5302
|
+
def from_dict(cls, d: Dict[str, Any]) -> SlidingWindow:
|
|
5303
|
+
"""Deserializes the SlidingWindow from a dictionary."""
|
|
5304
|
+
return cls(slide_duration=d.get("slide_duration", None), window_duration=d.get("window_duration", None))
|
|
5305
|
+
|
|
5306
|
+
|
|
5117
5307
|
class Status(Enum):
|
|
5118
5308
|
"""The status of the model version. Valid values are: * `PENDING_REGISTRATION`: Request to register
|
|
5119
5309
|
a new model version is pending as server performs background tasks.
|
|
@@ -5161,34 +5351,42 @@ class TestRegistryWebhookResponse:
|
|
|
5161
5351
|
|
|
5162
5352
|
@dataclass
|
|
5163
5353
|
class TimeWindow:
|
|
5164
|
-
|
|
5165
|
-
"""The duration of the time window."""
|
|
5354
|
+
continuous: Optional[ContinuousWindow] = None
|
|
5166
5355
|
|
|
5167
|
-
|
|
5168
|
-
|
|
5356
|
+
sliding: Optional[SlidingWindow] = None
|
|
5357
|
+
|
|
5358
|
+
tumbling: Optional[TumblingWindow] = None
|
|
5169
5359
|
|
|
5170
5360
|
def as_dict(self) -> dict:
|
|
5171
5361
|
"""Serializes the TimeWindow into a dictionary suitable for use as a JSON request body."""
|
|
5172
5362
|
body = {}
|
|
5173
|
-
if self.
|
|
5174
|
-
body["
|
|
5175
|
-
if self.
|
|
5176
|
-
body["
|
|
5363
|
+
if self.continuous:
|
|
5364
|
+
body["continuous"] = self.continuous.as_dict()
|
|
5365
|
+
if self.sliding:
|
|
5366
|
+
body["sliding"] = self.sliding.as_dict()
|
|
5367
|
+
if self.tumbling:
|
|
5368
|
+
body["tumbling"] = self.tumbling.as_dict()
|
|
5177
5369
|
return body
|
|
5178
5370
|
|
|
5179
5371
|
def as_shallow_dict(self) -> dict:
|
|
5180
5372
|
"""Serializes the TimeWindow into a shallow dictionary of its immediate attributes."""
|
|
5181
5373
|
body = {}
|
|
5182
|
-
if self.
|
|
5183
|
-
body["
|
|
5184
|
-
if self.
|
|
5185
|
-
body["
|
|
5374
|
+
if self.continuous:
|
|
5375
|
+
body["continuous"] = self.continuous
|
|
5376
|
+
if self.sliding:
|
|
5377
|
+
body["sliding"] = self.sliding
|
|
5378
|
+
if self.tumbling:
|
|
5379
|
+
body["tumbling"] = self.tumbling
|
|
5186
5380
|
return body
|
|
5187
5381
|
|
|
5188
5382
|
@classmethod
|
|
5189
5383
|
def from_dict(cls, d: Dict[str, Any]) -> TimeWindow:
|
|
5190
5384
|
"""Deserializes the TimeWindow from a dictionary."""
|
|
5191
|
-
return cls(
|
|
5385
|
+
return cls(
|
|
5386
|
+
continuous=_from_dict(d, "continuous", ContinuousWindow),
|
|
5387
|
+
sliding=_from_dict(d, "sliding", SlidingWindow),
|
|
5388
|
+
tumbling=_from_dict(d, "tumbling", TumblingWindow),
|
|
5389
|
+
)
|
|
5192
5390
|
|
|
5193
5391
|
|
|
5194
5392
|
@dataclass
|
|
@@ -5286,6 +5484,31 @@ class TransitionStageResponse:
|
|
|
5286
5484
|
return cls(model_version_databricks=_from_dict(d, "model_version_databricks", ModelVersionDatabricks))
|
|
5287
5485
|
|
|
5288
5486
|
|
|
5487
|
+
@dataclass
|
|
5488
|
+
class TumblingWindow:
|
|
5489
|
+
window_duration: str
|
|
5490
|
+
"""The duration of each tumbling window (non-overlapping, fixed-duration windows)."""
|
|
5491
|
+
|
|
5492
|
+
def as_dict(self) -> dict:
|
|
5493
|
+
"""Serializes the TumblingWindow into a dictionary suitable for use as a JSON request body."""
|
|
5494
|
+
body = {}
|
|
5495
|
+
if self.window_duration is not None:
|
|
5496
|
+
body["window_duration"] = self.window_duration
|
|
5497
|
+
return body
|
|
5498
|
+
|
|
5499
|
+
def as_shallow_dict(self) -> dict:
|
|
5500
|
+
"""Serializes the TumblingWindow into a shallow dictionary of its immediate attributes."""
|
|
5501
|
+
body = {}
|
|
5502
|
+
if self.window_duration is not None:
|
|
5503
|
+
body["window_duration"] = self.window_duration
|
|
5504
|
+
return body
|
|
5505
|
+
|
|
5506
|
+
@classmethod
|
|
5507
|
+
def from_dict(cls, d: Dict[str, Any]) -> TumblingWindow:
|
|
5508
|
+
"""Deserializes the TumblingWindow from a dictionary."""
|
|
5509
|
+
return cls(window_duration=d.get("window_duration", None))
|
|
5510
|
+
|
|
5511
|
+
|
|
5289
5512
|
@dataclass
|
|
5290
5513
|
class UpdateCommentResponse:
|
|
5291
5514
|
comment: Optional[CommentObject] = None
|
|
@@ -5478,6 +5701,7 @@ class ExperimentsAPI:
|
|
|
5478
5701
|
|
|
5479
5702
|
:returns: :class:`CreateExperimentResponse`
|
|
5480
5703
|
"""
|
|
5704
|
+
|
|
5481
5705
|
body = {}
|
|
5482
5706
|
if artifact_location is not None:
|
|
5483
5707
|
body["artifact_location"] = artifact_location
|
|
@@ -5520,6 +5744,7 @@ class ExperimentsAPI:
|
|
|
5520
5744
|
|
|
5521
5745
|
:returns: :class:`CreateLoggedModelResponse`
|
|
5522
5746
|
"""
|
|
5747
|
+
|
|
5523
5748
|
body = {}
|
|
5524
5749
|
if experiment_id is not None:
|
|
5525
5750
|
body["experiment_id"] = experiment_id
|
|
@@ -5568,6 +5793,7 @@ class ExperimentsAPI:
|
|
|
5568
5793
|
|
|
5569
5794
|
:returns: :class:`CreateRunResponse`
|
|
5570
5795
|
"""
|
|
5796
|
+
|
|
5571
5797
|
body = {}
|
|
5572
5798
|
if experiment_id is not None:
|
|
5573
5799
|
body["experiment_id"] = experiment_id
|
|
@@ -5596,6 +5822,7 @@ class ExperimentsAPI:
|
|
|
5596
5822
|
|
|
5597
5823
|
|
|
5598
5824
|
"""
|
|
5825
|
+
|
|
5599
5826
|
body = {}
|
|
5600
5827
|
if experiment_id is not None:
|
|
5601
5828
|
body["experiment_id"] = experiment_id
|
|
@@ -5646,6 +5873,7 @@ class ExperimentsAPI:
|
|
|
5646
5873
|
|
|
5647
5874
|
|
|
5648
5875
|
"""
|
|
5876
|
+
|
|
5649
5877
|
body = {}
|
|
5650
5878
|
if run_id is not None:
|
|
5651
5879
|
body["run_id"] = run_id
|
|
@@ -5674,6 +5902,7 @@ class ExperimentsAPI:
|
|
|
5674
5902
|
|
|
5675
5903
|
:returns: :class:`DeleteRunsResponse`
|
|
5676
5904
|
"""
|
|
5905
|
+
|
|
5677
5906
|
body = {}
|
|
5678
5907
|
if experiment_id is not None:
|
|
5679
5908
|
body["experiment_id"] = experiment_id
|
|
@@ -5700,6 +5929,7 @@ class ExperimentsAPI:
|
|
|
5700
5929
|
|
|
5701
5930
|
|
|
5702
5931
|
"""
|
|
5932
|
+
|
|
5703
5933
|
body = {}
|
|
5704
5934
|
if key is not None:
|
|
5705
5935
|
body["key"] = key
|
|
@@ -5723,6 +5953,7 @@ class ExperimentsAPI:
|
|
|
5723
5953
|
|
|
5724
5954
|
:returns: :class:`FinalizeLoggedModelResponse`
|
|
5725
5955
|
"""
|
|
5956
|
+
|
|
5726
5957
|
body = {}
|
|
5727
5958
|
if status is not None:
|
|
5728
5959
|
body["status"] = status.value
|
|
@@ -6061,6 +6292,7 @@ class ExperimentsAPI:
|
|
|
6061
6292
|
|
|
6062
6293
|
|
|
6063
6294
|
"""
|
|
6295
|
+
|
|
6064
6296
|
body = {}
|
|
6065
6297
|
if metrics is not None:
|
|
6066
6298
|
body["metrics"] = [v.as_dict() for v in metrics]
|
|
@@ -6091,6 +6323,7 @@ class ExperimentsAPI:
|
|
|
6091
6323
|
|
|
6092
6324
|
|
|
6093
6325
|
"""
|
|
6326
|
+
|
|
6094
6327
|
body = {}
|
|
6095
6328
|
if datasets is not None:
|
|
6096
6329
|
body["datasets"] = [v.as_dict() for v in datasets]
|
|
@@ -6117,6 +6350,7 @@ class ExperimentsAPI:
|
|
|
6117
6350
|
|
|
6118
6351
|
|
|
6119
6352
|
"""
|
|
6353
|
+
|
|
6120
6354
|
body = {}
|
|
6121
6355
|
if params is not None:
|
|
6122
6356
|
body["params"] = [v.as_dict() for v in params]
|
|
@@ -6168,6 +6402,7 @@ class ExperimentsAPI:
|
|
|
6168
6402
|
|
|
6169
6403
|
|
|
6170
6404
|
"""
|
|
6405
|
+
|
|
6171
6406
|
body = {}
|
|
6172
6407
|
if dataset_digest is not None:
|
|
6173
6408
|
body["dataset_digest"] = dataset_digest
|
|
@@ -6207,6 +6442,7 @@ class ExperimentsAPI:
|
|
|
6207
6442
|
|
|
6208
6443
|
|
|
6209
6444
|
"""
|
|
6445
|
+
|
|
6210
6446
|
body = {}
|
|
6211
6447
|
if model_json is not None:
|
|
6212
6448
|
body["model_json"] = model_json
|
|
@@ -6229,6 +6465,7 @@ class ExperimentsAPI:
|
|
|
6229
6465
|
|
|
6230
6466
|
|
|
6231
6467
|
"""
|
|
6468
|
+
|
|
6232
6469
|
body = {}
|
|
6233
6470
|
if models is not None:
|
|
6234
6471
|
body["models"] = [v.as_dict() for v in models]
|
|
@@ -6258,6 +6495,7 @@ class ExperimentsAPI:
|
|
|
6258
6495
|
|
|
6259
6496
|
|
|
6260
6497
|
"""
|
|
6498
|
+
|
|
6261
6499
|
body = {}
|
|
6262
6500
|
if key is not None:
|
|
6263
6501
|
body["key"] = key
|
|
@@ -6286,6 +6524,7 @@ class ExperimentsAPI:
|
|
|
6286
6524
|
|
|
6287
6525
|
|
|
6288
6526
|
"""
|
|
6527
|
+
|
|
6289
6528
|
body = {}
|
|
6290
6529
|
if experiment_id is not None:
|
|
6291
6530
|
body["experiment_id"] = experiment_id
|
|
@@ -6306,6 +6545,7 @@ class ExperimentsAPI:
|
|
|
6306
6545
|
|
|
6307
6546
|
|
|
6308
6547
|
"""
|
|
6548
|
+
|
|
6309
6549
|
body = {}
|
|
6310
6550
|
if run_id is not None:
|
|
6311
6551
|
body["run_id"] = run_id
|
|
@@ -6334,6 +6574,7 @@ class ExperimentsAPI:
|
|
|
6334
6574
|
|
|
6335
6575
|
:returns: :class:`RestoreRunsResponse`
|
|
6336
6576
|
"""
|
|
6577
|
+
|
|
6337
6578
|
body = {}
|
|
6338
6579
|
if experiment_id is not None:
|
|
6339
6580
|
body["experiment_id"] = experiment_id
|
|
@@ -6375,6 +6616,7 @@ class ExperimentsAPI:
|
|
|
6375
6616
|
|
|
6376
6617
|
:returns: Iterator over :class:`Experiment`
|
|
6377
6618
|
"""
|
|
6619
|
+
|
|
6378
6620
|
body = {}
|
|
6379
6621
|
if filter is not None:
|
|
6380
6622
|
body["filter"] = filter
|
|
@@ -6434,6 +6676,7 @@ class ExperimentsAPI:
|
|
|
6434
6676
|
|
|
6435
6677
|
:returns: :class:`SearchLoggedModelsResponse`
|
|
6436
6678
|
"""
|
|
6679
|
+
|
|
6437
6680
|
body = {}
|
|
6438
6681
|
if datasets is not None:
|
|
6439
6682
|
body["datasets"] = [v.as_dict() for v in datasets]
|
|
@@ -6497,6 +6740,7 @@ class ExperimentsAPI:
|
|
|
6497
6740
|
|
|
6498
6741
|
:returns: Iterator over :class:`Run`
|
|
6499
6742
|
"""
|
|
6743
|
+
|
|
6500
6744
|
body = {}
|
|
6501
6745
|
if experiment_ids is not None:
|
|
6502
6746
|
body["experiment_ids"] = [v for v in experiment_ids]
|
|
@@ -6536,6 +6780,7 @@ class ExperimentsAPI:
|
|
|
6536
6780
|
|
|
6537
6781
|
|
|
6538
6782
|
"""
|
|
6783
|
+
|
|
6539
6784
|
body = {}
|
|
6540
6785
|
if experiment_id is not None:
|
|
6541
6786
|
body["experiment_id"] = experiment_id
|
|
@@ -6560,6 +6805,7 @@ class ExperimentsAPI:
|
|
|
6560
6805
|
|
|
6561
6806
|
|
|
6562
6807
|
"""
|
|
6808
|
+
|
|
6563
6809
|
body = {}
|
|
6564
6810
|
if tags is not None:
|
|
6565
6811
|
body["tags"] = [v.as_dict() for v in tags]
|
|
@@ -6582,6 +6828,7 @@ class ExperimentsAPI:
|
|
|
6582
6828
|
|
|
6583
6829
|
:returns: :class:`ExperimentPermissions`
|
|
6584
6830
|
"""
|
|
6831
|
+
|
|
6585
6832
|
body = {}
|
|
6586
6833
|
if access_control_list is not None:
|
|
6587
6834
|
body["access_control_list"] = [v.as_dict() for v in access_control_list]
|
|
@@ -6608,6 +6855,7 @@ class ExperimentsAPI:
|
|
|
6608
6855
|
|
|
6609
6856
|
|
|
6610
6857
|
"""
|
|
6858
|
+
|
|
6611
6859
|
body = {}
|
|
6612
6860
|
if key is not None:
|
|
6613
6861
|
body["key"] = key
|
|
@@ -6634,6 +6882,7 @@ class ExperimentsAPI:
|
|
|
6634
6882
|
|
|
6635
6883
|
|
|
6636
6884
|
"""
|
|
6885
|
+
|
|
6637
6886
|
body = {}
|
|
6638
6887
|
if experiment_id is not None:
|
|
6639
6888
|
body["experiment_id"] = experiment_id
|
|
@@ -6657,6 +6906,7 @@ class ExperimentsAPI:
|
|
|
6657
6906
|
|
|
6658
6907
|
:returns: :class:`ExperimentPermissions`
|
|
6659
6908
|
"""
|
|
6909
|
+
|
|
6660
6910
|
body = {}
|
|
6661
6911
|
if access_control_list is not None:
|
|
6662
6912
|
body["access_control_list"] = [v.as_dict() for v in access_control_list]
|
|
@@ -6693,6 +6943,7 @@ class ExperimentsAPI:
|
|
|
6693
6943
|
|
|
6694
6944
|
:returns: :class:`UpdateRunResponse`
|
|
6695
6945
|
"""
|
|
6946
|
+
|
|
6696
6947
|
body = {}
|
|
6697
6948
|
if end_time is not None:
|
|
6698
6949
|
body["end_time"] = end_time
|
|
@@ -6719,6 +6970,30 @@ class FeatureEngineeringAPI:
|
|
|
6719
6970
|
def __init__(self, api_client):
|
|
6720
6971
|
self._api = api_client
|
|
6721
6972
|
|
|
6973
|
+
def batch_create_materialized_features(
|
|
6974
|
+
self, requests: List[CreateMaterializedFeatureRequest]
|
|
6975
|
+
) -> BatchCreateMaterializedFeaturesResponse:
|
|
6976
|
+
"""Batch create materialized features.
|
|
6977
|
+
|
|
6978
|
+
:param requests: List[:class:`CreateMaterializedFeatureRequest`]
|
|
6979
|
+
The requests to create materialized features.
|
|
6980
|
+
|
|
6981
|
+
:returns: :class:`BatchCreateMaterializedFeaturesResponse`
|
|
6982
|
+
"""
|
|
6983
|
+
|
|
6984
|
+
body = {}
|
|
6985
|
+
if requests is not None:
|
|
6986
|
+
body["requests"] = [v.as_dict() for v in requests]
|
|
6987
|
+
headers = {
|
|
6988
|
+
"Accept": "application/json",
|
|
6989
|
+
"Content-Type": "application/json",
|
|
6990
|
+
}
|
|
6991
|
+
|
|
6992
|
+
res = self._api.do(
|
|
6993
|
+
"POST", "/api/2.0/feature-engineering/materialized-features:batchCreate", body=body, headers=headers
|
|
6994
|
+
)
|
|
6995
|
+
return BatchCreateMaterializedFeaturesResponse.from_dict(res)
|
|
6996
|
+
|
|
6722
6997
|
def create_feature(self, feature: Feature) -> Feature:
|
|
6723
6998
|
"""Create a Feature.
|
|
6724
6999
|
|
|
@@ -6727,6 +7002,7 @@ class FeatureEngineeringAPI:
|
|
|
6727
7002
|
|
|
6728
7003
|
:returns: :class:`Feature`
|
|
6729
7004
|
"""
|
|
7005
|
+
|
|
6730
7006
|
body = feature.as_dict()
|
|
6731
7007
|
headers = {
|
|
6732
7008
|
"Accept": "application/json",
|
|
@@ -6744,6 +7020,7 @@ class FeatureEngineeringAPI:
|
|
|
6744
7020
|
|
|
6745
7021
|
:returns: :class:`MaterializedFeature`
|
|
6746
7022
|
"""
|
|
7023
|
+
|
|
6747
7024
|
body = materialized_feature.as_dict()
|
|
6748
7025
|
headers = {
|
|
6749
7026
|
"Accept": "application/json",
|
|
@@ -6899,6 +7176,7 @@ class FeatureEngineeringAPI:
|
|
|
6899
7176
|
|
|
6900
7177
|
:returns: :class:`Feature`
|
|
6901
7178
|
"""
|
|
7179
|
+
|
|
6902
7180
|
body = feature.as_dict()
|
|
6903
7181
|
query = {}
|
|
6904
7182
|
if update_mask is not None:
|
|
@@ -6928,6 +7206,7 @@ class FeatureEngineeringAPI:
|
|
|
6928
7206
|
|
|
6929
7207
|
:returns: :class:`MaterializedFeature`
|
|
6930
7208
|
"""
|
|
7209
|
+
|
|
6931
7210
|
body = materialized_feature.as_dict()
|
|
6932
7211
|
query = {}
|
|
6933
7212
|
if update_mask is not None:
|
|
@@ -6966,6 +7245,7 @@ class FeatureStoreAPI:
|
|
|
6966
7245
|
|
|
6967
7246
|
:returns: :class:`OnlineStore`
|
|
6968
7247
|
"""
|
|
7248
|
+
|
|
6969
7249
|
body = online_store.as_dict()
|
|
6970
7250
|
headers = {
|
|
6971
7251
|
"Accept": "application/json",
|
|
@@ -7047,6 +7327,7 @@ class FeatureStoreAPI:
|
|
|
7047
7327
|
|
|
7048
7328
|
:returns: :class:`PublishTableResponse`
|
|
7049
7329
|
"""
|
|
7330
|
+
|
|
7050
7331
|
body = {}
|
|
7051
7332
|
if publish_spec is not None:
|
|
7052
7333
|
body["publish_spec"] = publish_spec.as_dict()
|
|
@@ -7072,6 +7353,7 @@ class FeatureStoreAPI:
|
|
|
7072
7353
|
|
|
7073
7354
|
:returns: :class:`OnlineStore`
|
|
7074
7355
|
"""
|
|
7356
|
+
|
|
7075
7357
|
body = online_store.as_dict()
|
|
7076
7358
|
query = {}
|
|
7077
7359
|
if update_mask is not None:
|
|
@@ -7204,6 +7486,7 @@ class ForecastingAPI:
|
|
|
7204
7486
|
Long-running operation waiter for :class:`ForecastingExperiment`.
|
|
7205
7487
|
See :method:wait_get_experiment_forecasting_succeeded for more details.
|
|
7206
7488
|
"""
|
|
7489
|
+
|
|
7207
7490
|
body = {}
|
|
7208
7491
|
if custom_weights_column is not None:
|
|
7209
7492
|
body["custom_weights_column"] = custom_weights_column
|
|
@@ -7326,6 +7609,7 @@ class MaterializedFeaturesAPI:
|
|
|
7326
7609
|
|
|
7327
7610
|
:returns: :class:`FeatureTag`
|
|
7328
7611
|
"""
|
|
7612
|
+
|
|
7329
7613
|
body = feature_tag.as_dict()
|
|
7330
7614
|
headers = {
|
|
7331
7615
|
"Accept": "application/json",
|
|
@@ -7464,6 +7748,7 @@ class MaterializedFeaturesAPI:
|
|
|
7464
7748
|
|
|
7465
7749
|
:returns: :class:`FeatureTag`
|
|
7466
7750
|
"""
|
|
7751
|
+
|
|
7467
7752
|
body = feature_tag.as_dict()
|
|
7468
7753
|
query = {}
|
|
7469
7754
|
if update_mask is not None:
|
|
@@ -7521,6 +7806,7 @@ class ModelRegistryAPI:
|
|
|
7521
7806
|
|
|
7522
7807
|
:returns: :class:`ApproveTransitionRequestResponse`
|
|
7523
7808
|
"""
|
|
7809
|
+
|
|
7524
7810
|
body = {}
|
|
7525
7811
|
if archive_existing_versions is not None:
|
|
7526
7812
|
body["archive_existing_versions"] = archive_existing_versions
|
|
@@ -7553,6 +7839,7 @@ class ModelRegistryAPI:
|
|
|
7553
7839
|
|
|
7554
7840
|
:returns: :class:`CreateCommentResponse`
|
|
7555
7841
|
"""
|
|
7842
|
+
|
|
7556
7843
|
body = {}
|
|
7557
7844
|
if comment is not None:
|
|
7558
7845
|
body["comment"] = comment
|
|
@@ -7583,6 +7870,7 @@ class ModelRegistryAPI:
|
|
|
7583
7870
|
|
|
7584
7871
|
:returns: :class:`CreateModelResponse`
|
|
7585
7872
|
"""
|
|
7873
|
+
|
|
7586
7874
|
body = {}
|
|
7587
7875
|
if description is not None:
|
|
7588
7876
|
body["description"] = description
|
|
@@ -7627,6 +7915,7 @@ class ModelRegistryAPI:
|
|
|
7627
7915
|
|
|
7628
7916
|
:returns: :class:`CreateModelVersionResponse`
|
|
7629
7917
|
"""
|
|
7918
|
+
|
|
7630
7919
|
body = {}
|
|
7631
7920
|
if description is not None:
|
|
7632
7921
|
body["description"] = description
|
|
@@ -7672,6 +7961,7 @@ class ModelRegistryAPI:
|
|
|
7672
7961
|
|
|
7673
7962
|
:returns: :class:`CreateTransitionRequestResponse`
|
|
7674
7963
|
"""
|
|
7964
|
+
|
|
7675
7965
|
body = {}
|
|
7676
7966
|
if comment is not None:
|
|
7677
7967
|
body["comment"] = comment
|
|
@@ -7750,6 +8040,7 @@ class ModelRegistryAPI:
|
|
|
7750
8040
|
|
|
7751
8041
|
:returns: :class:`CreateWebhookResponse`
|
|
7752
8042
|
"""
|
|
8043
|
+
|
|
7753
8044
|
body = {}
|
|
7754
8045
|
if description is not None:
|
|
7755
8046
|
body["description"] = description
|
|
@@ -7953,6 +8244,7 @@ class ModelRegistryAPI:
|
|
|
7953
8244
|
|
|
7954
8245
|
:returns: Iterator over :class:`ModelVersion`
|
|
7955
8246
|
"""
|
|
8247
|
+
|
|
7956
8248
|
body = {}
|
|
7957
8249
|
if name is not None:
|
|
7958
8250
|
body["name"] = name
|
|
@@ -8222,6 +8514,7 @@ class ModelRegistryAPI:
|
|
|
8222
8514
|
|
|
8223
8515
|
:returns: :class:`RejectTransitionRequestResponse`
|
|
8224
8516
|
"""
|
|
8517
|
+
|
|
8225
8518
|
body = {}
|
|
8226
8519
|
if comment is not None:
|
|
8227
8520
|
body["comment"] = comment
|
|
@@ -8249,6 +8542,7 @@ class ModelRegistryAPI:
|
|
|
8249
8542
|
|
|
8250
8543
|
:returns: :class:`RenameModelResponse`
|
|
8251
8544
|
"""
|
|
8545
|
+
|
|
8252
8546
|
body = {}
|
|
8253
8547
|
if name is not None:
|
|
8254
8548
|
body["name"] = name
|
|
@@ -8372,6 +8666,7 @@ class ModelRegistryAPI:
|
|
|
8372
8666
|
|
|
8373
8667
|
|
|
8374
8668
|
"""
|
|
8669
|
+
|
|
8375
8670
|
body = {}
|
|
8376
8671
|
if key is not None:
|
|
8377
8672
|
body["key"] = key
|
|
@@ -8403,6 +8698,7 @@ class ModelRegistryAPI:
|
|
|
8403
8698
|
|
|
8404
8699
|
|
|
8405
8700
|
"""
|
|
8701
|
+
|
|
8406
8702
|
body = {}
|
|
8407
8703
|
if key is not None:
|
|
8408
8704
|
body["key"] = key
|
|
@@ -8434,6 +8730,7 @@ class ModelRegistryAPI:
|
|
|
8434
8730
|
|
|
8435
8731
|
:returns: :class:`RegisteredModelPermissions`
|
|
8436
8732
|
"""
|
|
8733
|
+
|
|
8437
8734
|
body = {}
|
|
8438
8735
|
if access_control_list is not None:
|
|
8439
8736
|
body["access_control_list"] = [v.as_dict() for v in access_control_list]
|
|
@@ -8460,6 +8757,7 @@ class ModelRegistryAPI:
|
|
|
8460
8757
|
|
|
8461
8758
|
:returns: :class:`TestRegistryWebhookResponse`
|
|
8462
8759
|
"""
|
|
8760
|
+
|
|
8463
8761
|
body = {}
|
|
8464
8762
|
if event is not None:
|
|
8465
8763
|
body["event"] = event.value
|
|
@@ -8502,6 +8800,7 @@ class ModelRegistryAPI:
|
|
|
8502
8800
|
|
|
8503
8801
|
:returns: :class:`TransitionStageResponse`
|
|
8504
8802
|
"""
|
|
8803
|
+
|
|
8505
8804
|
body = {}
|
|
8506
8805
|
if archive_existing_versions is not None:
|
|
8507
8806
|
body["archive_existing_versions"] = archive_existing_versions
|
|
@@ -8533,6 +8832,7 @@ class ModelRegistryAPI:
|
|
|
8533
8832
|
|
|
8534
8833
|
:returns: :class:`UpdateCommentResponse`
|
|
8535
8834
|
"""
|
|
8835
|
+
|
|
8536
8836
|
body = {}
|
|
8537
8837
|
if comment is not None:
|
|
8538
8838
|
body["comment"] = comment
|
|
@@ -8556,6 +8856,7 @@ class ModelRegistryAPI:
|
|
|
8556
8856
|
|
|
8557
8857
|
:returns: :class:`UpdateModelResponse`
|
|
8558
8858
|
"""
|
|
8859
|
+
|
|
8559
8860
|
body = {}
|
|
8560
8861
|
if description is not None:
|
|
8561
8862
|
body["description"] = description
|
|
@@ -8583,6 +8884,7 @@ class ModelRegistryAPI:
|
|
|
8583
8884
|
|
|
8584
8885
|
:returns: :class:`UpdateModelVersionResponse`
|
|
8585
8886
|
"""
|
|
8887
|
+
|
|
8586
8888
|
body = {}
|
|
8587
8889
|
if description is not None:
|
|
8588
8890
|
body["description"] = description
|
|
@@ -8613,6 +8915,7 @@ class ModelRegistryAPI:
|
|
|
8613
8915
|
|
|
8614
8916
|
:returns: :class:`RegisteredModelPermissions`
|
|
8615
8917
|
"""
|
|
8918
|
+
|
|
8616
8919
|
body = {}
|
|
8617
8920
|
if access_control_list is not None:
|
|
8618
8921
|
body["access_control_list"] = [v.as_dict() for v in access_control_list]
|
|
@@ -8677,6 +8980,7 @@ class ModelRegistryAPI:
|
|
|
8677
8980
|
|
|
8678
8981
|
:returns: :class:`UpdateWebhookResponse`
|
|
8679
8982
|
"""
|
|
8983
|
+
|
|
8680
8984
|
body = {}
|
|
8681
8985
|
if description is not None:
|
|
8682
8986
|
body["description"] = description
|