databricks-sdk 0.46.0__py3-none-any.whl → 0.47.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.

@@ -63,6 +63,10 @@ class Ai21LabsConfig:
63
63
 
64
64
  @dataclass
65
65
  class AiGatewayConfig:
66
+ fallback_config: Optional[FallbackConfig] = None
67
+ """Configuration for traffic fallback which auto fallbacks to other served entities if the request
68
+ to a served entity fails with certain error codes, to increase availability."""
69
+
66
70
  guardrails: Optional[AiGatewayGuardrails] = None
67
71
  """Configuration for AI Guardrails to prevent unwanted data and unsafe data in requests and
68
72
  responses."""
@@ -81,6 +85,8 @@ class AiGatewayConfig:
81
85
  def as_dict(self) -> dict:
82
86
  """Serializes the AiGatewayConfig into a dictionary suitable for use as a JSON request body."""
83
87
  body = {}
88
+ if self.fallback_config:
89
+ body["fallback_config"] = self.fallback_config.as_dict()
84
90
  if self.guardrails:
85
91
  body["guardrails"] = self.guardrails.as_dict()
86
92
  if self.inference_table_config:
@@ -94,6 +100,8 @@ class AiGatewayConfig:
94
100
  def as_shallow_dict(self) -> dict:
95
101
  """Serializes the AiGatewayConfig into a shallow dictionary of its immediate attributes."""
96
102
  body = {}
103
+ if self.fallback_config:
104
+ body["fallback_config"] = self.fallback_config
97
105
  if self.guardrails:
98
106
  body["guardrails"] = self.guardrails
99
107
  if self.inference_table_config:
@@ -108,6 +116,7 @@ class AiGatewayConfig:
108
116
  def from_dict(cls, d: Dict[str, Any]) -> AiGatewayConfig:
109
117
  """Deserializes the AiGatewayConfig from a dictionary."""
110
118
  return cls(
119
+ fallback_config=_from_dict(d, "fallback_config", FallbackConfig),
111
120
  guardrails=_from_dict(d, "guardrails", AiGatewayGuardrails),
112
121
  inference_table_config=_from_dict(d, "inference_table_config", AiGatewayInferenceTableConfig),
113
122
  rate_limits=_repeated_dict(d, "rate_limits", AiGatewayRateLimit),
@@ -506,6 +515,47 @@ class AnthropicConfig:
506
515
  )
507
516
 
508
517
 
518
+ @dataclass
519
+ class ApiKeyAuth:
520
+ key: str
521
+ """The name of the API key parameter used for authentication."""
522
+
523
+ value: Optional[str] = None
524
+ """The Databricks secret key reference for an API Key. If you prefer to paste your token directly,
525
+ see `value_plaintext`."""
526
+
527
+ value_plaintext: Optional[str] = None
528
+ """The API Key provided as a plaintext string. If you prefer to reference your token using
529
+ Databricks Secrets, see `value`."""
530
+
531
+ def as_dict(self) -> dict:
532
+ """Serializes the ApiKeyAuth into a dictionary suitable for use as a JSON request body."""
533
+ body = {}
534
+ if self.key is not None:
535
+ body["key"] = self.key
536
+ if self.value is not None:
537
+ body["value"] = self.value
538
+ if self.value_plaintext is not None:
539
+ body["value_plaintext"] = self.value_plaintext
540
+ return body
541
+
542
+ def as_shallow_dict(self) -> dict:
543
+ """Serializes the ApiKeyAuth into a shallow dictionary of its immediate attributes."""
544
+ body = {}
545
+ if self.key is not None:
546
+ body["key"] = self.key
547
+ if self.value is not None:
548
+ body["value"] = self.value
549
+ if self.value_plaintext is not None:
550
+ body["value_plaintext"] = self.value_plaintext
551
+ return body
552
+
553
+ @classmethod
554
+ def from_dict(cls, d: Dict[str, Any]) -> ApiKeyAuth:
555
+ """Deserializes the ApiKeyAuth from a dictionary."""
556
+ return cls(key=d.get("key", None), value=d.get("value", None), value_plaintext=d.get("value_plaintext", None))
557
+
558
+
509
559
  @dataclass
510
560
  class AutoCaptureConfigInput:
511
561
  catalog_name: Optional[str] = None
@@ -645,6 +695,40 @@ class AutoCaptureState:
645
695
  return cls(payload_table=_from_dict(d, "payload_table", PayloadTable))
646
696
 
647
697
 
698
+ @dataclass
699
+ class BearerTokenAuth:
700
+ token: Optional[str] = None
701
+ """The Databricks secret key reference for a token. If you prefer to paste your token directly, see
702
+ `token_plaintext`."""
703
+
704
+ token_plaintext: Optional[str] = None
705
+ """The token provided as a plaintext string. If you prefer to reference your token using Databricks
706
+ Secrets, see `token`."""
707
+
708
+ def as_dict(self) -> dict:
709
+ """Serializes the BearerTokenAuth into a dictionary suitable for use as a JSON request body."""
710
+ body = {}
711
+ if self.token is not None:
712
+ body["token"] = self.token
713
+ if self.token_plaintext is not None:
714
+ body["token_plaintext"] = self.token_plaintext
715
+ return body
716
+
717
+ def as_shallow_dict(self) -> dict:
718
+ """Serializes the BearerTokenAuth into a shallow dictionary of its immediate attributes."""
719
+ body = {}
720
+ if self.token is not None:
721
+ body["token"] = self.token
722
+ if self.token_plaintext is not None:
723
+ body["token_plaintext"] = self.token_plaintext
724
+ return body
725
+
726
+ @classmethod
727
+ def from_dict(cls, d: Dict[str, Any]) -> BearerTokenAuth:
728
+ """Deserializes the BearerTokenAuth from a dictionary."""
729
+ return cls(token=d.get("token", None), token_plaintext=d.get("token_plaintext", None))
730
+
731
+
648
732
  @dataclass
649
733
  class BuildLogsResponse:
650
734
  logs: str
@@ -836,6 +920,53 @@ class CreateServingEndpoint:
836
920
  )
837
921
 
838
922
 
923
+ @dataclass
924
+ class CustomProviderConfig:
925
+ """Configs needed to create a custom provider model route."""
926
+
927
+ custom_provider_url: str
928
+ """This is a field to provide the URL of the custom provider API."""
929
+
930
+ api_key_auth: Optional[ApiKeyAuth] = None
931
+ """This is a field to provide API key authentication for the custom provider API. You can only
932
+ specify one authentication method."""
933
+
934
+ bearer_token_auth: Optional[BearerTokenAuth] = None
935
+ """This is a field to provide bearer token authentication for the custom provider API. You can only
936
+ specify one authentication method."""
937
+
938
+ def as_dict(self) -> dict:
939
+ """Serializes the CustomProviderConfig into a dictionary suitable for use as a JSON request body."""
940
+ body = {}
941
+ if self.api_key_auth:
942
+ body["api_key_auth"] = self.api_key_auth.as_dict()
943
+ if self.bearer_token_auth:
944
+ body["bearer_token_auth"] = self.bearer_token_auth.as_dict()
945
+ if self.custom_provider_url is not None:
946
+ body["custom_provider_url"] = self.custom_provider_url
947
+ return body
948
+
949
+ def as_shallow_dict(self) -> dict:
950
+ """Serializes the CustomProviderConfig into a shallow dictionary of its immediate attributes."""
951
+ body = {}
952
+ if self.api_key_auth:
953
+ body["api_key_auth"] = self.api_key_auth
954
+ if self.bearer_token_auth:
955
+ body["bearer_token_auth"] = self.bearer_token_auth
956
+ if self.custom_provider_url is not None:
957
+ body["custom_provider_url"] = self.custom_provider_url
958
+ return body
959
+
960
+ @classmethod
961
+ def from_dict(cls, d: Dict[str, Any]) -> CustomProviderConfig:
962
+ """Deserializes the CustomProviderConfig from a dictionary."""
963
+ return cls(
964
+ api_key_auth=_from_dict(d, "api_key_auth", ApiKeyAuth),
965
+ bearer_token_auth=_from_dict(d, "bearer_token_auth", BearerTokenAuth),
966
+ custom_provider_url=d.get("custom_provider_url", None),
967
+ )
968
+
969
+
839
970
  @dataclass
840
971
  class DataPlaneInfo:
841
972
  """Details necessary to query this object's API through the DataPlane APIs."""
@@ -1495,6 +1626,9 @@ class ExternalModel:
1495
1626
  cohere_config: Optional[CohereConfig] = None
1496
1627
  """Cohere Config. Only required if the provider is 'cohere'."""
1497
1628
 
1629
+ custom_provider_config: Optional[CustomProviderConfig] = None
1630
+ """Custom Provider Config. Only required if the provider is 'custom'."""
1631
+
1498
1632
  databricks_model_serving_config: Optional[DatabricksModelServingConfig] = None
1499
1633
  """Databricks Model Serving Config. Only required if the provider is 'databricks-model-serving'."""
1500
1634
 
@@ -1518,6 +1652,8 @@ class ExternalModel:
1518
1652
  body["anthropic_config"] = self.anthropic_config.as_dict()
1519
1653
  if self.cohere_config:
1520
1654
  body["cohere_config"] = self.cohere_config.as_dict()
1655
+ if self.custom_provider_config:
1656
+ body["custom_provider_config"] = self.custom_provider_config.as_dict()
1521
1657
  if self.databricks_model_serving_config:
1522
1658
  body["databricks_model_serving_config"] = self.databricks_model_serving_config.as_dict()
1523
1659
  if self.google_cloud_vertex_ai_config:
@@ -1545,6 +1681,8 @@ class ExternalModel:
1545
1681
  body["anthropic_config"] = self.anthropic_config
1546
1682
  if self.cohere_config:
1547
1683
  body["cohere_config"] = self.cohere_config
1684
+ if self.custom_provider_config:
1685
+ body["custom_provider_config"] = self.custom_provider_config
1548
1686
  if self.databricks_model_serving_config:
1549
1687
  body["databricks_model_serving_config"] = self.databricks_model_serving_config
1550
1688
  if self.google_cloud_vertex_ai_config:
@@ -1569,6 +1707,7 @@ class ExternalModel:
1569
1707
  amazon_bedrock_config=_from_dict(d, "amazon_bedrock_config", AmazonBedrockConfig),
1570
1708
  anthropic_config=_from_dict(d, "anthropic_config", AnthropicConfig),
1571
1709
  cohere_config=_from_dict(d, "cohere_config", CohereConfig),
1710
+ custom_provider_config=_from_dict(d, "custom_provider_config", CustomProviderConfig),
1572
1711
  databricks_model_serving_config=_from_dict(
1573
1712
  d, "databricks_model_serving_config", DatabricksModelServingConfig
1574
1713
  ),
@@ -1587,6 +1726,7 @@ class ExternalModelProvider(Enum):
1587
1726
  AMAZON_BEDROCK = "amazon-bedrock"
1588
1727
  ANTHROPIC = "anthropic"
1589
1728
  COHERE = "cohere"
1729
+ CUSTOM = "custom"
1590
1730
  DATABRICKS_MODEL_SERVING = "databricks-model-serving"
1591
1731
  GOOGLE_CLOUD_VERTEX_AI = "google-cloud-vertex-ai"
1592
1732
  OPENAI = "openai"
@@ -1636,6 +1776,35 @@ class ExternalModelUsageElement:
1636
1776
  )
1637
1777
 
1638
1778
 
1779
+ @dataclass
1780
+ class FallbackConfig:
1781
+ enabled: bool
1782
+ """Whether to enable traffic fallback. When a served entity in the serving endpoint returns
1783
+ specific error codes (e.g. 500), the request will automatically be round-robin attempted with
1784
+ other served entities in the same endpoint, following the order of served entity list, until a
1785
+ successful response is returned. If all attempts fail, return the last response with the error
1786
+ code."""
1787
+
1788
+ def as_dict(self) -> dict:
1789
+ """Serializes the FallbackConfig into a dictionary suitable for use as a JSON request body."""
1790
+ body = {}
1791
+ if self.enabled is not None:
1792
+ body["enabled"] = self.enabled
1793
+ return body
1794
+
1795
+ def as_shallow_dict(self) -> dict:
1796
+ """Serializes the FallbackConfig into a shallow dictionary of its immediate attributes."""
1797
+ body = {}
1798
+ if self.enabled is not None:
1799
+ body["enabled"] = self.enabled
1800
+ return body
1801
+
1802
+ @classmethod
1803
+ def from_dict(cls, d: Dict[str, Any]) -> FallbackConfig:
1804
+ """Deserializes the FallbackConfig from a dictionary."""
1805
+ return cls(enabled=d.get("enabled", None))
1806
+
1807
+
1639
1808
  @dataclass
1640
1809
  class FoundationModel:
1641
1810
  """All fields are not sensitive as they are hard-coded in the system and made available to
@@ -2124,6 +2293,10 @@ class PayloadTable:
2124
2293
 
2125
2294
  @dataclass
2126
2295
  class PutAiGatewayRequest:
2296
+ fallback_config: Optional[FallbackConfig] = None
2297
+ """Configuration for traffic fallback which auto fallbacks to other served entities if the request
2298
+ to a served entity fails with certain error codes, to increase availability."""
2299
+
2127
2300
  guardrails: Optional[AiGatewayGuardrails] = None
2128
2301
  """Configuration for AI Guardrails to prevent unwanted data and unsafe data in requests and
2129
2302
  responses."""
@@ -2145,6 +2318,8 @@ class PutAiGatewayRequest:
2145
2318
  def as_dict(self) -> dict:
2146
2319
  """Serializes the PutAiGatewayRequest into a dictionary suitable for use as a JSON request body."""
2147
2320
  body = {}
2321
+ if self.fallback_config:
2322
+ body["fallback_config"] = self.fallback_config.as_dict()
2148
2323
  if self.guardrails:
2149
2324
  body["guardrails"] = self.guardrails.as_dict()
2150
2325
  if self.inference_table_config:
@@ -2160,6 +2335,8 @@ class PutAiGatewayRequest:
2160
2335
  def as_shallow_dict(self) -> dict:
2161
2336
  """Serializes the PutAiGatewayRequest into a shallow dictionary of its immediate attributes."""
2162
2337
  body = {}
2338
+ if self.fallback_config:
2339
+ body["fallback_config"] = self.fallback_config
2163
2340
  if self.guardrails:
2164
2341
  body["guardrails"] = self.guardrails
2165
2342
  if self.inference_table_config:
@@ -2176,6 +2353,7 @@ class PutAiGatewayRequest:
2176
2353
  def from_dict(cls, d: Dict[str, Any]) -> PutAiGatewayRequest:
2177
2354
  """Deserializes the PutAiGatewayRequest from a dictionary."""
2178
2355
  return cls(
2356
+ fallback_config=_from_dict(d, "fallback_config", FallbackConfig),
2179
2357
  guardrails=_from_dict(d, "guardrails", AiGatewayGuardrails),
2180
2358
  inference_table_config=_from_dict(d, "inference_table_config", AiGatewayInferenceTableConfig),
2181
2359
  name=d.get("name", None),
@@ -2186,6 +2364,10 @@ class PutAiGatewayRequest:
2186
2364
 
2187
2365
  @dataclass
2188
2366
  class PutAiGatewayResponse:
2367
+ fallback_config: Optional[FallbackConfig] = None
2368
+ """Configuration for traffic fallback which auto fallbacks to other served entities if the request
2369
+ to a served entity fails with certain error codes, to increase availability."""
2370
+
2189
2371
  guardrails: Optional[AiGatewayGuardrails] = None
2190
2372
  """Configuration for AI Guardrails to prevent unwanted data and unsafe data in requests and
2191
2373
  responses."""
@@ -2204,6 +2386,8 @@ class PutAiGatewayResponse:
2204
2386
  def as_dict(self) -> dict:
2205
2387
  """Serializes the PutAiGatewayResponse into a dictionary suitable for use as a JSON request body."""
2206
2388
  body = {}
2389
+ if self.fallback_config:
2390
+ body["fallback_config"] = self.fallback_config.as_dict()
2207
2391
  if self.guardrails:
2208
2392
  body["guardrails"] = self.guardrails.as_dict()
2209
2393
  if self.inference_table_config:
@@ -2217,6 +2401,8 @@ class PutAiGatewayResponse:
2217
2401
  def as_shallow_dict(self) -> dict:
2218
2402
  """Serializes the PutAiGatewayResponse into a shallow dictionary of its immediate attributes."""
2219
2403
  body = {}
2404
+ if self.fallback_config:
2405
+ body["fallback_config"] = self.fallback_config
2220
2406
  if self.guardrails:
2221
2407
  body["guardrails"] = self.guardrails
2222
2408
  if self.inference_table_config:
@@ -2231,6 +2417,7 @@ class PutAiGatewayResponse:
2231
2417
  def from_dict(cls, d: Dict[str, Any]) -> PutAiGatewayResponse:
2232
2418
  """Deserializes the PutAiGatewayResponse from a dictionary."""
2233
2419
  return cls(
2420
+ fallback_config=_from_dict(d, "fallback_config", FallbackConfig),
2234
2421
  guardrails=_from_dict(d, "guardrails", AiGatewayGuardrails),
2235
2422
  inference_table_config=_from_dict(d, "inference_table_config", AiGatewayInferenceTableConfig),
2236
2423
  rate_limits=_repeated_dict(d, "rate_limits", AiGatewayRateLimit),
@@ -4369,6 +4556,7 @@ class ServingEndpointsAPI:
4369
4556
  self,
4370
4557
  name: str,
4371
4558
  *,
4559
+ fallback_config: Optional[FallbackConfig] = None,
4372
4560
  guardrails: Optional[AiGatewayGuardrails] = None,
4373
4561
  inference_table_config: Optional[AiGatewayInferenceTableConfig] = None,
4374
4562
  rate_limits: Optional[List[AiGatewayRateLimit]] = None,
@@ -4381,6 +4569,9 @@ class ServingEndpointsAPI:
4381
4569
 
4382
4570
  :param name: str
4383
4571
  The name of the serving endpoint whose AI Gateway is being updated. This field is required.
4572
+ :param fallback_config: :class:`FallbackConfig` (optional)
4573
+ Configuration for traffic fallback which auto fallbacks to other served entities if the request to a
4574
+ served entity fails with certain error codes, to increase availability.
4384
4575
  :param guardrails: :class:`AiGatewayGuardrails` (optional)
4385
4576
  Configuration for AI Guardrails to prevent unwanted data and unsafe data in requests and responses.
4386
4577
  :param inference_table_config: :class:`AiGatewayInferenceTableConfig` (optional)
@@ -4395,6 +4586,8 @@ class ServingEndpointsAPI:
4395
4586
  :returns: :class:`PutAiGatewayResponse`
4396
4587
  """
4397
4588
  body = {}
4589
+ if fallback_config is not None:
4590
+ body["fallback_config"] = fallback_config.as_dict()
4398
4591
  if guardrails is not None:
4399
4592
  body["guardrails"] = guardrails.as_dict()
4400
4593
  if inference_table_config is not None:
@@ -324,71 +324,7 @@ class DeltaSharingDependencyList:
324
324
 
325
325
 
326
326
  @dataclass
327
- class DeltaSharingFunctionDependency:
328
- """A Function in UC as a dependency."""
329
-
330
- function_name: Optional[str] = None
331
-
332
- schema_name: Optional[str] = None
333
-
334
- def as_dict(self) -> dict:
335
- """Serializes the DeltaSharingFunctionDependency into a dictionary suitable for use as a JSON request body."""
336
- body = {}
337
- if self.function_name is not None:
338
- body["function_name"] = self.function_name
339
- if self.schema_name is not None:
340
- body["schema_name"] = self.schema_name
341
- return body
342
-
343
- def as_shallow_dict(self) -> dict:
344
- """Serializes the DeltaSharingFunctionDependency into a shallow dictionary of its immediate attributes."""
345
- body = {}
346
- if self.function_name is not None:
347
- body["function_name"] = self.function_name
348
- if self.schema_name is not None:
349
- body["schema_name"] = self.schema_name
350
- return body
351
-
352
- @classmethod
353
- def from_dict(cls, d: Dict[str, Any]) -> DeltaSharingFunctionDependency:
354
- """Deserializes the DeltaSharingFunctionDependency from a dictionary."""
355
- return cls(function_name=d.get("function_name", None), schema_name=d.get("schema_name", None))
356
-
357
-
358
- @dataclass
359
- class DeltaSharingTableDependency:
360
- """A Table in UC as a dependency."""
361
-
362
- schema_name: Optional[str] = None
363
-
364
- table_name: Optional[str] = None
365
-
366
- def as_dict(self) -> dict:
367
- """Serializes the DeltaSharingTableDependency into a dictionary suitable for use as a JSON request body."""
368
- body = {}
369
- if self.schema_name is not None:
370
- body["schema_name"] = self.schema_name
371
- if self.table_name is not None:
372
- body["table_name"] = self.table_name
373
- return body
374
-
375
- def as_shallow_dict(self) -> dict:
376
- """Serializes the DeltaSharingTableDependency into a shallow dictionary of its immediate attributes."""
377
- body = {}
378
- if self.schema_name is not None:
379
- body["schema_name"] = self.schema_name
380
- if self.table_name is not None:
381
- body["table_name"] = self.table_name
382
- return body
383
-
384
- @classmethod
385
- def from_dict(cls, d: Dict[str, Any]) -> DeltaSharingTableDependency:
386
- """Deserializes the DeltaSharingTableDependency from a dictionary."""
387
- return cls(schema_name=d.get("schema_name", None), table_name=d.get("table_name", None))
388
-
389
-
390
- @dataclass
391
- class Function:
327
+ class DeltaSharingFunction:
392
328
  aliases: Optional[List[RegisteredModelAlias]] = None
393
329
  """The aliass of registered model."""
394
330
 
@@ -438,7 +374,7 @@ class Function:
438
374
  """The tags of the function."""
439
375
 
440
376
  def as_dict(self) -> dict:
441
- """Serializes the Function into a dictionary suitable for use as a JSON request body."""
377
+ """Serializes the DeltaSharingFunction into a dictionary suitable for use as a JSON request body."""
442
378
  body = {}
443
379
  if self.aliases:
444
380
  body["aliases"] = [v.as_dict() for v in self.aliases]
@@ -475,7 +411,7 @@ class Function:
475
411
  return body
476
412
 
477
413
  def as_shallow_dict(self) -> dict:
478
- """Serializes the Function into a shallow dictionary of its immediate attributes."""
414
+ """Serializes the DeltaSharingFunction into a shallow dictionary of its immediate attributes."""
479
415
  body = {}
480
416
  if self.aliases:
481
417
  body["aliases"] = self.aliases
@@ -512,8 +448,8 @@ class Function:
512
448
  return body
513
449
 
514
450
  @classmethod
515
- def from_dict(cls, d: Dict[str, Any]) -> Function:
516
- """Deserializes the Function from a dictionary."""
451
+ def from_dict(cls, d: Dict[str, Any]) -> DeltaSharingFunction:
452
+ """Deserializes the DeltaSharingFunction from a dictionary."""
517
453
  return cls(
518
454
  aliases=_repeated_dict(d, "aliases", RegisteredModelAlias),
519
455
  comment=d.get("comment", None),
@@ -534,6 +470,70 @@ class Function:
534
470
  )
535
471
 
536
472
 
473
+ @dataclass
474
+ class DeltaSharingFunctionDependency:
475
+ """A Function in UC as a dependency."""
476
+
477
+ function_name: Optional[str] = None
478
+
479
+ schema_name: Optional[str] = None
480
+
481
+ def as_dict(self) -> dict:
482
+ """Serializes the DeltaSharingFunctionDependency into a dictionary suitable for use as a JSON request body."""
483
+ body = {}
484
+ if self.function_name is not None:
485
+ body["function_name"] = self.function_name
486
+ if self.schema_name is not None:
487
+ body["schema_name"] = self.schema_name
488
+ return body
489
+
490
+ def as_shallow_dict(self) -> dict:
491
+ """Serializes the DeltaSharingFunctionDependency into a shallow dictionary of its immediate attributes."""
492
+ body = {}
493
+ if self.function_name is not None:
494
+ body["function_name"] = self.function_name
495
+ if self.schema_name is not None:
496
+ body["schema_name"] = self.schema_name
497
+ return body
498
+
499
+ @classmethod
500
+ def from_dict(cls, d: Dict[str, Any]) -> DeltaSharingFunctionDependency:
501
+ """Deserializes the DeltaSharingFunctionDependency from a dictionary."""
502
+ return cls(function_name=d.get("function_name", None), schema_name=d.get("schema_name", None))
503
+
504
+
505
+ @dataclass
506
+ class DeltaSharingTableDependency:
507
+ """A Table in UC as a dependency."""
508
+
509
+ schema_name: Optional[str] = None
510
+
511
+ table_name: Optional[str] = None
512
+
513
+ def as_dict(self) -> dict:
514
+ """Serializes the DeltaSharingTableDependency into a dictionary suitable for use as a JSON request body."""
515
+ body = {}
516
+ if self.schema_name is not None:
517
+ body["schema_name"] = self.schema_name
518
+ if self.table_name is not None:
519
+ body["table_name"] = self.table_name
520
+ return body
521
+
522
+ def as_shallow_dict(self) -> dict:
523
+ """Serializes the DeltaSharingTableDependency into a shallow dictionary of its immediate attributes."""
524
+ body = {}
525
+ if self.schema_name is not None:
526
+ body["schema_name"] = self.schema_name
527
+ if self.table_name is not None:
528
+ body["table_name"] = self.table_name
529
+ return body
530
+
531
+ @classmethod
532
+ def from_dict(cls, d: Dict[str, Any]) -> DeltaSharingTableDependency:
533
+ """Deserializes the DeltaSharingTableDependency from a dictionary."""
534
+ return cls(schema_name=d.get("schema_name", None), table_name=d.get("table_name", None))
535
+
536
+
537
537
  @dataclass
538
538
  class FunctionParameterInfo:
539
539
  """Represents a parameter of a function. The same message is used for both input and output
@@ -809,7 +809,7 @@ class IpAccessList:
809
809
  class ListProviderShareAssetsResponse:
810
810
  """Response to ListProviderShareAssets, which contains the list of assets of a share."""
811
811
 
812
- functions: Optional[List[Function]] = None
812
+ functions: Optional[List[DeltaSharingFunction]] = None
813
813
  """The list of functions in the share."""
814
814
 
815
815
  notebooks: Optional[List[NotebookFile]] = None
@@ -851,7 +851,7 @@ class ListProviderShareAssetsResponse:
851
851
  def from_dict(cls, d: Dict[str, Any]) -> ListProviderShareAssetsResponse:
852
852
  """Deserializes the ListProviderShareAssetsResponse from a dictionary."""
853
853
  return cls(
854
- functions=_repeated_dict(d, "functions", Function),
854
+ functions=_repeated_dict(d, "functions", DeltaSharingFunction),
855
855
  notebooks=_repeated_dict(d, "notebooks", NotebookFile),
856
856
  tables=_repeated_dict(d, "tables", Table),
857
857
  volumes=_repeated_dict(d, "volumes", Volume),
databricks/sdk/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = "0.46.0"
1
+ __version__ = "0.47.0"
@@ -1,6 +1,6 @@
1
- Metadata-Version: 2.2
1
+ Metadata-Version: 2.4
2
2
  Name: databricks-sdk
3
- Version: 0.46.0
3
+ Version: 0.47.0
4
4
  Summary: Databricks SDK for Python (Beta)
5
5
  Project-URL: Documentation, https://databricks-sdk-py.readthedocs.io
6
6
  Keywords: databricks,sdk
@@ -44,12 +44,13 @@ Requires-Dist: langchain-openai; python_version > "3.7" and extra == "dev"
44
44
  Requires-Dist: httpx; extra == "dev"
45
45
  Requires-Dist: build; extra == "dev"
46
46
  Provides-Extra: notebook
47
- Requires-Dist: ipython<9,>=8; extra == "notebook"
47
+ Requires-Dist: ipython<10,>=8; extra == "notebook"
48
48
  Requires-Dist: ipywidgets<9,>=8; extra == "notebook"
49
49
  Provides-Extra: openai
50
50
  Requires-Dist: openai; extra == "openai"
51
51
  Requires-Dist: langchain-openai; python_version > "3.7" and extra == "openai"
52
52
  Requires-Dist: httpx; extra == "openai"
53
+ Dynamic: license-file
53
54
 
54
55
  # Databricks SDK for Python (Beta)
55
56
 
@@ -11,11 +11,11 @@ databricks/sdk/credentials_provider.py,sha256=sFqCsVOe9-pKSTzkZELnIgeOalnM4h6EGw
11
11
  databricks/sdk/data_plane.py,sha256=br5IPnOdE611IBubxP8xkUR9_qzbSRSYyVWSua6znWs,3109
12
12
  databricks/sdk/dbutils.py,sha256=PoDIwNAYGZhVZC7krox7tsudUDNVSk0gsFjFWlKJXVk,15753
13
13
  databricks/sdk/environments.py,sha256=9eVeb68cksqY2Lqwth2PJNmK0JEGdIjh-ebrrmUbqCc,3963
14
- databricks/sdk/oauth.py,sha256=rXvPGPSXmm2ZL0HkmrvkdCaSD-uM02jTbx58L1fm-J0,28186
14
+ databricks/sdk/oauth.py,sha256=8Cod3Fa4gPuVhd7zFBkVOVLB1fwiAKkyibU6_wnpqDE,28411
15
15
  databricks/sdk/py.typed,sha256=pSvaHpbY1UPNEXyVFUjlgBhjPFZMmVC_UNrPC7eMOHI,74
16
16
  databricks/sdk/retries.py,sha256=7k2kEexGqGKXHNAWHbPFSZSugU8UIU0qtyly_hix22Q,2581
17
17
  databricks/sdk/useragent.py,sha256=boEgzTv-Zmo6boipZKjSopNy0CXg4GShC1_lTKpJgqs,7361
18
- databricks/sdk/version.py,sha256=VTDTPpzZ6KwzjCPZhHgalFxPlpuy4ZGRkHB_n3WGwYs,23
18
+ databricks/sdk/version.py,sha256=aqLqdmGXCjcE1UvvJF8OHznHKbGMeoRrk-C4_mjzdPs,23
19
19
  databricks/sdk/_widgets/__init__.py,sha256=VhI-VvLlr3rKUT1nbROslHJIbmZX_tPJ9rRhrdFsYUA,2811
20
20
  databricks/sdk/_widgets/default_widgets_utils.py,sha256=_hwCbptLbRzWEmknco0H1wQNAYcuy2pjFO9NiRbvFeo,1127
21
21
  databricks/sdk/_widgets/ipywidgets_utils.py,sha256=mg3rEPG9z76e0yVjGgcLybUvd_zSuN5ziGeKiZ-c8Ew,2927
@@ -44,27 +44,27 @@ databricks/sdk/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3
44
44
  databricks/sdk/service/_internal.py,sha256=PY83MPehEwGuMzCnyvolqglnfZeQ7-eS38kedTa7KDU,1985
45
45
  databricks/sdk/service/apps.py,sha256=NdPhpycOpsYlXlBB5JTvt-AmiaCxIqFKMz7370CKKQo,54550
46
46
  databricks/sdk/service/billing.py,sha256=s-QN57TyMMfJSA40CfIjjno8iWHBssjpxcy0xcEcwyw,98590
47
- databricks/sdk/service/catalog.py,sha256=eu1zLzoeQxirFPMbthS5d5Mt0EjdbuqYP4sESotNwHc,602387
47
+ databricks/sdk/service/catalog.py,sha256=5WF82Dr4nfbgbg3pjU-WkvHLnoUEb1Hooic959tqBwA,602410
48
48
  databricks/sdk/service/cleanrooms.py,sha256=TON2V0-T_TOk31K9bUypuRJaAJhHMM0bQDbMjJWlCDQ,58613
49
- databricks/sdk/service/compute.py,sha256=R8GilWUVYVljZHfdNuiP4AJiAFWqKG4_XKn6Wg-um68,553503
50
- databricks/sdk/service/dashboards.py,sha256=MhKFjglM4odyOiNzagII4pprkPMh8FOfzvwm9Ntlyr8,105263
49
+ databricks/sdk/service/compute.py,sha256=NaZitVVTvLZNb_7Fl8I3mlwp5PJo8O5zgZtks4HlQEM,565066
50
+ databricks/sdk/service/dashboards.py,sha256=FDwue1IyStw2wMMG5Zamfzh38RLRtuliy6WgOoL1nn4,105413
51
51
  databricks/sdk/service/files.py,sha256=gWjtORuRe7B1VZol0rr_dcSHq1gMmuKszGHaMqunslU,46234
52
- databricks/sdk/service/iam.py,sha256=TFKlhh7A1INGVcfAZQ1f0ORpAIzWLJ78l23vkerTe4M,174846
53
- databricks/sdk/service/jobs.py,sha256=2DQIqaeYq2tOeRzeeq23Q8_ntXaeJNK0LHhlcbd_8A4,443424
54
- databricks/sdk/service/marketplace.py,sha256=h-hGo2GHrjbVe0lXuengvqIDEN5VGhBdna4di9at5hA,175736
55
- databricks/sdk/service/ml.py,sha256=q5vdOguyLiTpGqT6R5w41l_cCendUx4Hm-fQeW1-08k,316482
56
- databricks/sdk/service/oauth2.py,sha256=LLp1uMvxfPOXzuekLjnLH6si6YOCvie7qZSpjSNDYd4,79788
57
- databricks/sdk/service/pipelines.py,sha256=_2RpczckyhexbCtLoB_ewVKgZNFseN8bCwABod6YUqs,166666
52
+ databricks/sdk/service/iam.py,sha256=23mpLuwFwNAwK632y11dI7TH3jXmShJLiDx_KxKt6JQ,173744
53
+ databricks/sdk/service/jobs.py,sha256=iipYTJyIULZW1IIhpkYfgvVqhPgQRD6UBAa2S60dUjE,443450
54
+ databricks/sdk/service/marketplace.py,sha256=6vXKIXYC1qC3HtCjm9sEgc2MqxMn2P-GxQMuFrZnDXI,175794
55
+ databricks/sdk/service/ml.py,sha256=cnBxWeSjXwNWwojT90d7aXI1cXu9QocB9NWleK6vFU0,314696
56
+ databricks/sdk/service/oauth2.py,sha256=EKptQcQnTX0M4JDLfzwTKekjWLDS_LPIwZdTXv6-YwU,80467
57
+ databricks/sdk/service/pipelines.py,sha256=XKQgD82GfH6NAPhwTF5nEFFZenbWgaaQA2vbB8HkTuI,166604
58
58
  databricks/sdk/service/provisioning.py,sha256=-Ly2o02i-jhNmiP9zLPeYF8H2usoB-oTG0RLF5gkIpc,169311
59
- databricks/sdk/service/serving.py,sha256=eHPRoxeOpqV-dyVf7V8_6_FHBoTTwXqr5W9Y6b_iZtI,204406
59
+ databricks/sdk/service/serving.py,sha256=LJthhQxyMijFzAVOMUOKmHhL2mxuyRLTEu_kX7seFxY,212881
60
60
  databricks/sdk/service/settings.py,sha256=9I8NHnVTtTn_u91fYQi-QpDMjKPF2c2Sec0gEub6on0,323112
61
- databricks/sdk/service/sharing.py,sha256=jP3XWl3qojFWmZE9xkgCixqEZPuGZAJC_M-eGXMrPQs,142473
61
+ databricks/sdk/service/sharing.py,sha256=IV-rws5EzsHFfyjSBlbPEDQKZvbH4OgDp9Yxg9Hyrwk,142557
62
62
  databricks/sdk/service/sql.py,sha256=2t8QhrEUyLekRYHnRYKkxVY8qpDbxE7JayfMSds6OKM,409593
63
63
  databricks/sdk/service/vectorsearch.py,sha256=stdRmV-iE8L0rGzhSSG5tmoVRXb9bPItSE_ss6HQVDo,79897
64
64
  databricks/sdk/service/workspace.py,sha256=T0ZbnG1qcPjKysGO_tBzl5x1PyalydeYJRBZbooYNm0,130893
65
- databricks_sdk-0.46.0.dist-info/LICENSE,sha256=afBgTZo-JsYqj4VOjnejBetMuHKcFR30YobDdpVFkqY,11411
66
- databricks_sdk-0.46.0.dist-info/METADATA,sha256=f3lrq-aclP8VS34ht65GoP5mUPPaaogzFQYVoi7Eue8,38311
67
- databricks_sdk-0.46.0.dist-info/NOTICE,sha256=tkRcQYA1k68wDLcnOWbg2xJDsUOJw8G8DGBhb8dnI3w,1588
68
- databricks_sdk-0.46.0.dist-info/WHEEL,sha256=52BFRY2Up02UkjOa29eZOS2VxUrpPORXg1pkohGGUS8,91
69
- databricks_sdk-0.46.0.dist-info/top_level.txt,sha256=7kRdatoSgU0EUurRQJ_3F1Nv4EOSHWAr6ng25tJOJKU,11
70
- databricks_sdk-0.46.0.dist-info/RECORD,,
65
+ databricks_sdk-0.47.0.dist-info/licenses/LICENSE,sha256=afBgTZo-JsYqj4VOjnejBetMuHKcFR30YobDdpVFkqY,11411
66
+ databricks_sdk-0.47.0.dist-info/licenses/NOTICE,sha256=tkRcQYA1k68wDLcnOWbg2xJDsUOJw8G8DGBhb8dnI3w,1588
67
+ databricks_sdk-0.47.0.dist-info/METADATA,sha256=d2YUxXc45ClHJg64khqr2vSGyKFNGAWdQEvugrWOD3Q,38334
68
+ databricks_sdk-0.47.0.dist-info/WHEEL,sha256=1tXe9gY0PYatrMPMDd6jXqjfpz_B-Wqm32CPfRC58XU,91
69
+ databricks_sdk-0.47.0.dist-info/top_level.txt,sha256=7kRdatoSgU0EUurRQJ_3F1Nv4EOSHWAr6ng25tJOJKU,11
70
+ databricks_sdk-0.47.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (76.0.0)
2
+ Generator: setuptools (77.0.3)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5