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

Files changed (32) hide show
  1. databricks/sdk/__init__.py +16 -12
  2. databricks/sdk/azure.py +0 -27
  3. databricks/sdk/config.py +71 -19
  4. databricks/sdk/core.py +27 -0
  5. databricks/sdk/credentials_provider.py +121 -44
  6. databricks/sdk/dbutils.py +81 -3
  7. databricks/sdk/environments.py +34 -1
  8. databricks/sdk/errors/__init__.py +1 -0
  9. databricks/sdk/errors/mapper.py +4 -0
  10. databricks/sdk/errors/private_link.py +60 -0
  11. databricks/sdk/oauth.py +8 -6
  12. databricks/sdk/service/catalog.py +774 -632
  13. databricks/sdk/service/compute.py +91 -116
  14. databricks/sdk/service/dashboards.py +707 -2
  15. databricks/sdk/service/jobs.py +126 -163
  16. databricks/sdk/service/marketplace.py +145 -31
  17. databricks/sdk/service/oauth2.py +22 -0
  18. databricks/sdk/service/pipelines.py +119 -4
  19. databricks/sdk/service/serving.py +217 -64
  20. databricks/sdk/service/settings.py +1 -0
  21. databricks/sdk/service/sharing.py +36 -2
  22. databricks/sdk/service/sql.py +103 -24
  23. databricks/sdk/service/vectorsearch.py +263 -1
  24. databricks/sdk/service/workspace.py +8 -4
  25. databricks/sdk/version.py +1 -1
  26. {databricks_sdk-0.27.1.dist-info → databricks_sdk-0.29.0.dist-info}/METADATA +2 -1
  27. databricks_sdk-0.29.0.dist-info/RECORD +57 -0
  28. databricks_sdk-0.27.1.dist-info/RECORD +0 -56
  29. {databricks_sdk-0.27.1.dist-info → databricks_sdk-0.29.0.dist-info}/LICENSE +0 -0
  30. {databricks_sdk-0.27.1.dist-info → databricks_sdk-0.29.0.dist-info}/NOTICE +0 -0
  31. {databricks_sdk-0.27.1.dist-info → databricks_sdk-0.29.0.dist-info}/WHEEL +0 -0
  32. {databricks_sdk-0.27.1.dist-info → databricks_sdk-0.29.0.dist-info}/top_level.txt +0 -0
@@ -235,7 +235,11 @@ class DeltaSyncVectorIndexSpecRequest:
235
235
  """The columns that contain the embedding source."""
236
236
 
237
237
  embedding_vector_columns: Optional[List[EmbeddingVectorColumn]] = None
238
- """The columns that contain the embedding vectors."""
238
+ """The columns that contain the embedding vectors. The format should be array[double]."""
239
+
240
+ embedding_writeback_table: Optional[str] = None
241
+ """[Optional] Automatically sync the vector index contents and computed embeddings to the specified
242
+ Delta table. The only supported table name is the index name with the suffix `_writeback_table`."""
239
243
 
240
244
  pipeline_type: Optional[PipelineType] = None
241
245
  """Pipeline execution mode.
@@ -256,6 +260,8 @@ class DeltaSyncVectorIndexSpecRequest:
256
260
  body['embedding_source_columns'] = [v.as_dict() for v in self.embedding_source_columns]
257
261
  if self.embedding_vector_columns:
258
262
  body['embedding_vector_columns'] = [v.as_dict() for v in self.embedding_vector_columns]
263
+ if self.embedding_writeback_table is not None:
264
+ body['embedding_writeback_table'] = self.embedding_writeback_table
259
265
  if self.pipeline_type is not None: body['pipeline_type'] = self.pipeline_type.value
260
266
  if self.source_table is not None: body['source_table'] = self.source_table
261
267
  return body
@@ -267,6 +273,7 @@ class DeltaSyncVectorIndexSpecRequest:
267
273
  EmbeddingSourceColumn),
268
274
  embedding_vector_columns=_repeated_dict(d, 'embedding_vector_columns',
269
275
  EmbeddingVectorColumn),
276
+ embedding_writeback_table=d.get('embedding_writeback_table', None),
270
277
  pipeline_type=_enum(d, 'pipeline_type', PipelineType),
271
278
  source_table=d.get('source_table', None))
272
279
 
@@ -279,6 +286,9 @@ class DeltaSyncVectorIndexSpecResponse:
279
286
  embedding_vector_columns: Optional[List[EmbeddingVectorColumn]] = None
280
287
  """The columns that contain the embedding vectors."""
281
288
 
289
+ embedding_writeback_table: Optional[str] = None
290
+ """[Optional] Name of the Delta table to sync the vector index contents and computed embeddings to."""
291
+
282
292
  pipeline_id: Optional[str] = None
283
293
  """The ID of the pipeline that is used to sync the index."""
284
294
 
@@ -301,6 +311,8 @@ class DeltaSyncVectorIndexSpecResponse:
301
311
  body['embedding_source_columns'] = [v.as_dict() for v in self.embedding_source_columns]
302
312
  if self.embedding_vector_columns:
303
313
  body['embedding_vector_columns'] = [v.as_dict() for v in self.embedding_vector_columns]
314
+ if self.embedding_writeback_table is not None:
315
+ body['embedding_writeback_table'] = self.embedding_writeback_table
304
316
  if self.pipeline_id is not None: body['pipeline_id'] = self.pipeline_id
305
317
  if self.pipeline_type is not None: body['pipeline_type'] = self.pipeline_type.value
306
318
  if self.source_table is not None: body['source_table'] = self.source_table
@@ -313,6 +325,7 @@ class DeltaSyncVectorIndexSpecResponse:
313
325
  EmbeddingSourceColumn),
314
326
  embedding_vector_columns=_repeated_dict(d, 'embedding_vector_columns',
315
327
  EmbeddingVectorColumn),
328
+ embedding_writeback_table=d.get('embedding_writeback_table', None),
316
329
  pipeline_id=d.get('pipeline_id', None),
317
330
  pipeline_type=_enum(d, 'pipeline_type', PipelineType),
318
331
  source_table=d.get('source_table', None))
@@ -515,6 +528,22 @@ class ListEndpointResponse:
515
528
  next_page_token=d.get('next_page_token', None))
516
529
 
517
530
 
531
+ @dataclass
532
+ class ListValue:
533
+ values: Optional[List[Value]] = None
534
+
535
+ def as_dict(self) -> dict:
536
+ """Serializes the ListValue into a dictionary suitable for use as a JSON request body."""
537
+ body = {}
538
+ if self.values: body['values'] = [v.as_dict() for v in self.values]
539
+ return body
540
+
541
+ @classmethod
542
+ def from_dict(cls, d: Dict[str, any]) -> ListValue:
543
+ """Deserializes the ListValue from a dictionary."""
544
+ return cls(values=_repeated_dict(d, 'values', Value))
545
+
546
+
518
547
  @dataclass
519
548
  class ListVectorIndexesResponse:
520
549
  next_page_token: Optional[str] = None
@@ -537,6 +566,29 @@ class ListVectorIndexesResponse:
537
566
  vector_indexes=_repeated_dict(d, 'vector_indexes', MiniVectorIndex))
538
567
 
539
568
 
569
+ @dataclass
570
+ class MapStringValueEntry:
571
+ """Key-value pair."""
572
+
573
+ key: Optional[str] = None
574
+ """Column name."""
575
+
576
+ value: Optional[Value] = None
577
+ """Column value, nullable."""
578
+
579
+ def as_dict(self) -> dict:
580
+ """Serializes the MapStringValueEntry into a dictionary suitable for use as a JSON request body."""
581
+ body = {}
582
+ if self.key is not None: body['key'] = self.key
583
+ if self.value: body['value'] = self.value.as_dict()
584
+ return body
585
+
586
+ @classmethod
587
+ def from_dict(cls, d: Dict[str, any]) -> MapStringValueEntry:
588
+ """Deserializes the MapStringValueEntry from a dictionary."""
589
+ return cls(key=d.get('key', None), value=_from_dict(d, 'value', Value))
590
+
591
+
540
592
  @dataclass
541
593
  class MiniVectorIndex:
542
594
  creator: Optional[str] = None
@@ -592,6 +644,35 @@ class PipelineType(Enum):
592
644
  TRIGGERED = 'TRIGGERED'
593
645
 
594
646
 
647
+ @dataclass
648
+ class QueryVectorIndexNextPageRequest:
649
+ """Request payload for getting next page of results."""
650
+
651
+ endpoint_name: Optional[str] = None
652
+ """Name of the endpoint."""
653
+
654
+ index_name: Optional[str] = None
655
+ """Name of the vector index to query."""
656
+
657
+ page_token: Optional[str] = None
658
+ """Page token returned from previous `QueryVectorIndex` or `QueryVectorIndexNextPage` API."""
659
+
660
+ def as_dict(self) -> dict:
661
+ """Serializes the QueryVectorIndexNextPageRequest into a dictionary suitable for use as a JSON request body."""
662
+ body = {}
663
+ if self.endpoint_name is not None: body['endpoint_name'] = self.endpoint_name
664
+ if self.index_name is not None: body['index_name'] = self.index_name
665
+ if self.page_token is not None: body['page_token'] = self.page_token
666
+ return body
667
+
668
+ @classmethod
669
+ def from_dict(cls, d: Dict[str, any]) -> QueryVectorIndexNextPageRequest:
670
+ """Deserializes the QueryVectorIndexNextPageRequest from a dictionary."""
671
+ return cls(endpoint_name=d.get('endpoint_name', None),
672
+ index_name=d.get('index_name', None),
673
+ page_token=d.get('page_token', None))
674
+
675
+
595
676
  @dataclass
596
677
  class QueryVectorIndexRequest:
597
678
  columns: List[str]
@@ -613,6 +694,9 @@ class QueryVectorIndexRequest:
613
694
  query_text: Optional[str] = None
614
695
  """Query text. Required for Delta Sync Index using model endpoint."""
615
696
 
697
+ query_type: Optional[str] = None
698
+ """The query type to use. Choices are `ANN` and `HYBRID`. Defaults to `ANN`."""
699
+
616
700
  query_vector: Optional[List[float]] = None
617
701
  """Query vector. Required for Direct Vector Access Index and Delta Sync Index using self-managed
618
702
  vectors."""
@@ -628,6 +712,7 @@ class QueryVectorIndexRequest:
628
712
  if self.index_name is not None: body['index_name'] = self.index_name
629
713
  if self.num_results is not None: body['num_results'] = self.num_results
630
714
  if self.query_text is not None: body['query_text'] = self.query_text
715
+ if self.query_type is not None: body['query_type'] = self.query_type
631
716
  if self.query_vector: body['query_vector'] = [v for v in self.query_vector]
632
717
  if self.score_threshold is not None: body['score_threshold'] = self.score_threshold
633
718
  return body
@@ -640,6 +725,7 @@ class QueryVectorIndexRequest:
640
725
  index_name=d.get('index_name', None),
641
726
  num_results=d.get('num_results', None),
642
727
  query_text=d.get('query_text', None),
728
+ query_type=d.get('query_type', None),
643
729
  query_vector=d.get('query_vector', None),
644
730
  score_threshold=d.get('score_threshold', None))
645
731
 
@@ -649,6 +735,11 @@ class QueryVectorIndexResponse:
649
735
  manifest: Optional[ResultManifest] = None
650
736
  """Metadata about the result set."""
651
737
 
738
+ next_page_token: Optional[str] = None
739
+ """[Optional] Token that can be used in `QueryVectorIndexNextPage` API to get next page of results.
740
+ If more than 1000 results satisfy the query, they are returned in groups of 1000. Empty value
741
+ means no more results."""
742
+
652
743
  result: Optional[ResultData] = None
653
744
  """Data returned in the query result."""
654
745
 
@@ -656,6 +747,7 @@ class QueryVectorIndexResponse:
656
747
  """Serializes the QueryVectorIndexResponse into a dictionary suitable for use as a JSON request body."""
657
748
  body = {}
658
749
  if self.manifest: body['manifest'] = self.manifest.as_dict()
750
+ if self.next_page_token is not None: body['next_page_token'] = self.next_page_token
659
751
  if self.result: body['result'] = self.result.as_dict()
660
752
  return body
661
753
 
@@ -663,6 +755,7 @@ class QueryVectorIndexResponse:
663
755
  def from_dict(cls, d: Dict[str, any]) -> QueryVectorIndexResponse:
664
756
  """Deserializes the QueryVectorIndexResponse from a dictionary."""
665
757
  return cls(manifest=_from_dict(d, 'manifest', ResultManifest),
758
+ next_page_token=d.get('next_page_token', None),
666
759
  result=_from_dict(d, 'result', ResultData))
667
760
 
668
761
 
@@ -712,6 +805,75 @@ class ResultManifest:
712
805
  return cls(column_count=d.get('column_count', None), columns=_repeated_dict(d, 'columns', ColumnInfo))
713
806
 
714
807
 
808
+ @dataclass
809
+ class ScanVectorIndexRequest:
810
+ """Request payload for scanning data from a vector index."""
811
+
812
+ index_name: Optional[str] = None
813
+ """Name of the vector index to scan."""
814
+
815
+ last_primary_key: Optional[str] = None
816
+ """Primary key of the last entry returned in the previous scan."""
817
+
818
+ num_results: Optional[int] = None
819
+ """Number of results to return. Defaults to 10."""
820
+
821
+ def as_dict(self) -> dict:
822
+ """Serializes the ScanVectorIndexRequest into a dictionary suitable for use as a JSON request body."""
823
+ body = {}
824
+ if self.index_name is not None: body['index_name'] = self.index_name
825
+ if self.last_primary_key is not None: body['last_primary_key'] = self.last_primary_key
826
+ if self.num_results is not None: body['num_results'] = self.num_results
827
+ return body
828
+
829
+ @classmethod
830
+ def from_dict(cls, d: Dict[str, any]) -> ScanVectorIndexRequest:
831
+ """Deserializes the ScanVectorIndexRequest from a dictionary."""
832
+ return cls(index_name=d.get('index_name', None),
833
+ last_primary_key=d.get('last_primary_key', None),
834
+ num_results=d.get('num_results', None))
835
+
836
+
837
+ @dataclass
838
+ class ScanVectorIndexResponse:
839
+ """Response to a scan vector index request."""
840
+
841
+ data: Optional[List[Struct]] = None
842
+ """List of data entries"""
843
+
844
+ last_primary_key: Optional[str] = None
845
+ """Primary key of the last entry."""
846
+
847
+ def as_dict(self) -> dict:
848
+ """Serializes the ScanVectorIndexResponse into a dictionary suitable for use as a JSON request body."""
849
+ body = {}
850
+ if self.data: body['data'] = [v.as_dict() for v in self.data]
851
+ if self.last_primary_key is not None: body['last_primary_key'] = self.last_primary_key
852
+ return body
853
+
854
+ @classmethod
855
+ def from_dict(cls, d: Dict[str, any]) -> ScanVectorIndexResponse:
856
+ """Deserializes the ScanVectorIndexResponse from a dictionary."""
857
+ return cls(data=_repeated_dict(d, 'data', Struct), last_primary_key=d.get('last_primary_key', None))
858
+
859
+
860
+ @dataclass
861
+ class Struct:
862
+ fields: Optional[List[MapStringValueEntry]] = None
863
+ """Data entry, corresponding to a row in a vector index."""
864
+
865
+ def as_dict(self) -> dict:
866
+ """Serializes the Struct into a dictionary suitable for use as a JSON request body."""
867
+ body = {}
868
+ if self.fields: body['fields'] = [v.as_dict() for v in self.fields]
869
+ return body
870
+
871
+ @classmethod
872
+ def from_dict(cls, d: Dict[str, any]) -> Struct:
873
+ """Deserializes the Struct from a dictionary."""
874
+ return cls(fields=_repeated_dict(d, 'fields', MapStringValueEntry))
875
+
876
+
715
877
  @dataclass
716
878
  class SyncIndexResponse:
717
879
 
@@ -805,6 +967,42 @@ class UpsertDataVectorIndexResponse:
805
967
  status=_enum(d, 'status', UpsertDataStatus))
806
968
 
807
969
 
970
+ @dataclass
971
+ class Value:
972
+ bool_value: Optional[bool] = None
973
+
974
+ list_value: Optional[ListValue] = None
975
+
976
+ null_value: Optional[str] = None
977
+
978
+ number_value: Optional[float] = None
979
+
980
+ string_value: Optional[str] = None
981
+
982
+ struct_value: Optional[Struct] = None
983
+
984
+ def as_dict(self) -> dict:
985
+ """Serializes the Value into a dictionary suitable for use as a JSON request body."""
986
+ body = {}
987
+ if self.bool_value is not None: body['bool_value'] = self.bool_value
988
+ if self.list_value: body['list_value'] = self.list_value.as_dict()
989
+ if self.null_value is not None: body['null_value'] = self.null_value
990
+ if self.number_value is not None: body['number_value'] = self.number_value
991
+ if self.string_value is not None: body['string_value'] = self.string_value
992
+ if self.struct_value: body['struct_value'] = self.struct_value.as_dict()
993
+ return body
994
+
995
+ @classmethod
996
+ def from_dict(cls, d: Dict[str, any]) -> Value:
997
+ """Deserializes the Value from a dictionary."""
998
+ return cls(bool_value=d.get('bool_value', None),
999
+ list_value=_from_dict(d, 'list_value', ListValue),
1000
+ null_value=d.get('null_value', None),
1001
+ number_value=d.get('number_value', None),
1002
+ string_value=d.get('string_value', None),
1003
+ struct_value=_from_dict(d, 'struct_value', Struct))
1004
+
1005
+
808
1006
  @dataclass
809
1007
  class VectorIndex:
810
1008
  creator: Optional[str] = None
@@ -1173,6 +1371,7 @@ class VectorSearchIndexesAPI:
1173
1371
  filters_json: Optional[str] = None,
1174
1372
  num_results: Optional[int] = None,
1175
1373
  query_text: Optional[str] = None,
1374
+ query_type: Optional[str] = None,
1176
1375
  query_vector: Optional[List[float]] = None,
1177
1376
  score_threshold: Optional[float] = None) -> QueryVectorIndexResponse:
1178
1377
  """Query an index.
@@ -1193,6 +1392,8 @@ class VectorSearchIndexesAPI:
1193
1392
  Number of results to return. Defaults to 10.
1194
1393
  :param query_text: str (optional)
1195
1394
  Query text. Required for Delta Sync Index using model endpoint.
1395
+ :param query_type: str (optional)
1396
+ The query type to use. Choices are `ANN` and `HYBRID`. Defaults to `ANN`.
1196
1397
  :param query_vector: List[float] (optional)
1197
1398
  Query vector. Required for Direct Vector Access Index and Delta Sync Index using self-managed
1198
1399
  vectors.
@@ -1206,6 +1407,7 @@ class VectorSearchIndexesAPI:
1206
1407
  if filters_json is not None: body['filters_json'] = filters_json
1207
1408
  if num_results is not None: body['num_results'] = num_results
1208
1409
  if query_text is not None: body['query_text'] = query_text
1410
+ if query_type is not None: body['query_type'] = query_type
1209
1411
  if query_vector is not None: body['query_vector'] = [v for v in query_vector]
1210
1412
  if score_threshold is not None: body['score_threshold'] = score_threshold
1211
1413
  headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
@@ -1216,6 +1418,66 @@ class VectorSearchIndexesAPI:
1216
1418
  headers=headers)
1217
1419
  return QueryVectorIndexResponse.from_dict(res)
1218
1420
 
1421
+ def query_next_page(self,
1422
+ index_name: str,
1423
+ *,
1424
+ endpoint_name: Optional[str] = None,
1425
+ page_token: Optional[str] = None) -> QueryVectorIndexResponse:
1426
+ """Query next page.
1427
+
1428
+ Use `next_page_token` returned from previous `QueryVectorIndex` or `QueryVectorIndexNextPage` request
1429
+ to fetch next page of results.
1430
+
1431
+ :param index_name: str
1432
+ Name of the vector index to query.
1433
+ :param endpoint_name: str (optional)
1434
+ Name of the endpoint.
1435
+ :param page_token: str (optional)
1436
+ Page token returned from previous `QueryVectorIndex` or `QueryVectorIndexNextPage` API.
1437
+
1438
+ :returns: :class:`QueryVectorIndexResponse`
1439
+ """
1440
+ body = {}
1441
+ if endpoint_name is not None: body['endpoint_name'] = endpoint_name
1442
+ if page_token is not None: body['page_token'] = page_token
1443
+ headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
1444
+
1445
+ res = self._api.do('POST',
1446
+ f'/api/2.0/vector-search/indexes/{index_name}/query-next-page',
1447
+ body=body,
1448
+ headers=headers)
1449
+ return QueryVectorIndexResponse.from_dict(res)
1450
+
1451
+ def scan_index(self,
1452
+ index_name: str,
1453
+ *,
1454
+ last_primary_key: Optional[str] = None,
1455
+ num_results: Optional[int] = None) -> ScanVectorIndexResponse:
1456
+ """Scan an index.
1457
+
1458
+ Scan the specified vector index and return the first `num_results` entries after the exclusive
1459
+ `primary_key`.
1460
+
1461
+ :param index_name: str
1462
+ Name of the vector index to scan.
1463
+ :param last_primary_key: str (optional)
1464
+ Primary key of the last entry returned in the previous scan.
1465
+ :param num_results: int (optional)
1466
+ Number of results to return. Defaults to 10.
1467
+
1468
+ :returns: :class:`ScanVectorIndexResponse`
1469
+ """
1470
+ body = {}
1471
+ if last_primary_key is not None: body['last_primary_key'] = last_primary_key
1472
+ if num_results is not None: body['num_results'] = num_results
1473
+ headers = {'Accept': 'application/json', 'Content-Type': 'application/json', }
1474
+
1475
+ res = self._api.do('POST',
1476
+ f'/api/2.0/vector-search/indexes/{index_name}/scan',
1477
+ body=body,
1478
+ headers=headers)
1479
+ return ScanVectorIndexResponse.from_dict(res)
1480
+
1219
1481
  def sync_index(self, index_name: str):
1220
1482
  """Synchronize an index.
1221
1483
 
@@ -144,7 +144,8 @@ class CreateRepo:
144
144
  gitLabEnterpriseEdition and awsCodeCommit."""
145
145
 
146
146
  path: Optional[str] = None
147
- """Desired path for the repo in the workspace. Must be in the format /Repos/{folder}/{repo-name}."""
147
+ """Desired path for the repo in the workspace. Almost any path in the workspace can be chosen. If
148
+ repo is created in /Repos, path must be in the format /Repos/{folder}/{repo-name}."""
148
149
 
149
150
  sparse_checkout: Optional[SparseCheckout] = None
150
151
  """If specified, the repo will be created with sparse checkout enabled. You cannot enable/disable
@@ -949,7 +950,8 @@ class RepoInfo:
949
950
  """ID of the repo object in the workspace."""
950
951
 
951
952
  path: Optional[str] = None
952
- """Desired path for the repo in the workspace. Must be in the format /Repos/{folder}/{repo-name}."""
953
+ """Desired path for the repo in the workspace. Almost any path in the workspace can be chosen. If
954
+ repo is created in /Repos, path must be in the format /Repos/{folder}/{repo-name}."""
953
955
 
954
956
  provider: Optional[str] = None
955
957
  """Git provider. This field is case-insensitive. The available Git providers are gitHub,
@@ -1613,7 +1615,8 @@ class ReposAPI:
1613
1615
  bitbucketCloud, gitLab, azureDevOpsServices, gitHubEnterprise, bitbucketServer,
1614
1616
  gitLabEnterpriseEdition and awsCodeCommit.
1615
1617
  :param path: str (optional)
1616
- Desired path for the repo in the workspace. Must be in the format /Repos/{folder}/{repo-name}.
1618
+ Desired path for the repo in the workspace. Almost any path in the workspace can be chosen. If repo
1619
+ is created in /Repos, path must be in the format /Repos/{folder}/{repo-name}.
1617
1620
  :param sparse_checkout: :class:`SparseCheckout` (optional)
1618
1621
  If specified, the repo will be created with sparse checkout enabled. You cannot enable/disable
1619
1622
  sparse checkout after the repo is created.
@@ -1706,7 +1709,8 @@ class ReposAPI:
1706
1709
  Token used to get the next page of results. If not specified, returns the first page of results as
1707
1710
  well as a next page token if there are more results.
1708
1711
  :param path_prefix: str (optional)
1709
- Filters repos that have paths starting with the given path prefix.
1712
+ Filters repos that have paths starting with the given path prefix. If not provided repos from /Repos
1713
+ will be served.
1710
1714
 
1711
1715
  :returns: Iterator over :class:`RepoInfo`
1712
1716
  """
databricks/sdk/version.py CHANGED
@@ -1 +1 @@
1
- __version__ = '0.27.1'
1
+ __version__ = '0.29.0'
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: databricks-sdk
3
- Version: 0.27.1
3
+ Version: 0.29.0
4
4
  Summary: Databricks SDK for Python (Beta)
5
5
  Home-page: https://databricks-sdk-py.readthedocs.io
6
6
  Author: Serge Smertin
@@ -37,6 +37,7 @@ Requires-Dist: pyfakefs ; extra == 'dev'
37
37
  Requires-Dist: pytest ; extra == 'dev'
38
38
  Requires-Dist: pytest-cov ; extra == 'dev'
39
39
  Requires-Dist: pytest-mock ; extra == 'dev'
40
+ Requires-Dist: pytest-rerunfailures ; extra == 'dev'
40
41
  Requires-Dist: pytest-xdist ; extra == 'dev'
41
42
  Requires-Dist: requests-mock ; extra == 'dev'
42
43
  Requires-Dist: wheel ; extra == 'dev'
@@ -0,0 +1,57 @@
1
+ databricks/__init__.py,sha256=CF2MJcZFwbpn9TwQER8qnCDhkPooBGQNVkX4v7g6p3g,537
2
+ databricks/sdk/__init__.py,sha256=BvgOwu_sZ7kMVO0ukpgMLnAxKHkGnY5_4QeBr-AdFt8,44140
3
+ databricks/sdk/_property.py,sha256=sGjsipeFrjMBSVPjtIb0HNCRcMIhFpVx6wq4BkC3LWs,1636
4
+ databricks/sdk/azure.py,sha256=8P7nEdun0hbQCap9Ojo7yZse_JHxnhYsE6ApojnPz7Q,1009
5
+ databricks/sdk/casing.py,sha256=NKYPrfPbQjM7lU4hhNQK3z1jb_VEA29BfH4FEdby2tg,1137
6
+ databricks/sdk/clock.py,sha256=Ivlow0r_TkXcTJ8UXkxSA0czKrY0GvwHAeOvjPkJnAQ,1360
7
+ databricks/sdk/config.py,sha256=sBIWdZHaL3WfJz9gVrlxSRiQpe_tPBMpWA0aaO4bHD4,21745
8
+ databricks/sdk/core.py,sha256=R9PeiAhPMapuC9S5Mw6UmpI2MDp4E32-NzhWm4oFAck,20018
9
+ databricks/sdk/credentials_provider.py,sha256=RVyP0IQbiUbXeUTv2IPmweRzvrgyEhmc6VB0zuetR2I,29204
10
+ databricks/sdk/dbutils.py,sha256=HFCuB-el6SFKhF8qRfJxYANtyLTm-VG9GtQuQgZXFkM,15741
11
+ databricks/sdk/environments.py,sha256=5KoVuVfF-ZX17rua1sH3EJCCtniVrREXBXsMNDEV-UU,4293
12
+ databricks/sdk/oauth.py,sha256=KzcJPYLL3JL6RDvf_Q8SDAaF9xSaoYNCRD4rYInZDuo,18319
13
+ databricks/sdk/py.typed,sha256=pSvaHpbY1UPNEXyVFUjlgBhjPFZMmVC_UNrPC7eMOHI,74
14
+ databricks/sdk/retries.py,sha256=WgLh12bwdBc6fCQlaig3kKu18cVhPzFDGsspvq629Ew,2454
15
+ databricks/sdk/version.py,sha256=mXICichpk9VjfOW_vwM-zwKsrhkYyfYKUsV4l3tgiYM,23
16
+ databricks/sdk/_widgets/__init__.py,sha256=Qm3JB8LmdPgEn_-VgxKkodTO4gn6OdaDPwsYcDmeIRI,2667
17
+ databricks/sdk/_widgets/default_widgets_utils.py,sha256=Rk59AFzVYVpOektB_yC_7j-vSt5OdtZA85IlG0kw0xA,1202
18
+ databricks/sdk/_widgets/ipywidgets_utils.py,sha256=P-AyGeahPiX3S59mxpAMgffi4gyJ0irEOY7Ekkn9nQ0,2850
19
+ databricks/sdk/errors/__init__.py,sha256=3l_wHB0S9Y6mDc_c5mUHb-TndDQxa-tdPeWmTbnBNAo,176
20
+ databricks/sdk/errors/base.py,sha256=oawBxpuoyImsLu29ntpAgOc6RQ7kD-UcuFFER9jB3iI,3880
21
+ databricks/sdk/errors/mapper.py,sha256=sK4aoloV-F8h1J4YHFrcNVAUBLLQQFti-ceXVmm6HpU,1386
22
+ databricks/sdk/errors/overrides.py,sha256=YswUrm5-FshXtUZ7q53f9DvnjnLoDUUoZ-YTpAyy5F0,1136
23
+ databricks/sdk/errors/platform.py,sha256=dpD97-YcjXTqOwWg2XulFzdyb8qufN14PyU1FdukpF8,3017
24
+ databricks/sdk/errors/private_link.py,sha256=6wVRJQqousGQC7qfT0pV8LqujqfR3XLbSix_XjqVC8s,2304
25
+ databricks/sdk/errors/sdk.py,sha256=_euMruhvquB0v_SKtgqxJUiyXHWuTb4Jl7ji6_h0E_A,109
26
+ databricks/sdk/mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
27
+ databricks/sdk/mixins/compute.py,sha256=khb00BzBckc4RLUF4-GnNMCSO5lXKt_XYMM3IhiUxlA,11237
28
+ databricks/sdk/mixins/files.py,sha256=8Nh4TAB0BASZfTylW1P93_Sj_-zBlzEZ6CN38x2UoTQ,20205
29
+ databricks/sdk/mixins/workspace.py,sha256=dWMNvuEi8jJ5wMhrDt1LiqxNdWSsmEuDTzrcZR-eJzY,4896
30
+ databricks/sdk/runtime/__init__.py,sha256=9NnZkBzeZXZRQxcE1qKzAszQEzcpIgpL7lQzW3_kxEU,7266
31
+ databricks/sdk/runtime/dbutils_stub.py,sha256=UFbRZF-bBcwxjbv_pxma00bjNtktLLaYpo8oHRc4-9g,11421
32
+ databricks/sdk/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
+ databricks/sdk/service/_internal.py,sha256=nWbJfW5eJCQgAZ3TmA26xoWb6SNZ5N76ZA8bO1N4AsU,1961
34
+ databricks/sdk/service/billing.py,sha256=Hbe5bMsBrpebuAl8yj-GwVRGktrzKwiZJj3gq1wUMaI,50625
35
+ databricks/sdk/service/catalog.py,sha256=m69PNTCN8AmvYeU5NFKQHIf6JsPLkNm4Q9Vj_bm2mlE,416701
36
+ databricks/sdk/service/compute.py,sha256=Wn0M4irami1Qy6wUoyU8Ub_CbSwsSVUF_bdHqUpEh0M,398609
37
+ databricks/sdk/service/dashboards.py,sha256=Ac7K8ekefbfXyZ2ITq7h7uN1MRjCHC6mQoVPcCFgPX8,48962
38
+ databricks/sdk/service/files.py,sha256=VCt83YSI9rhQexmxaQdrUXHq2UCYfZcDMLvJx5X6n1M,38162
39
+ databricks/sdk/service/iam.py,sha256=11L45bjOYwzxMVlAXpKrFMOxrZzgZy75JSIOkeAXuFg,147645
40
+ databricks/sdk/service/jobs.py,sha256=v9BoJ0k0BRr0dAjmwX_BQ0Ao8n-gU5t7rhrF1qc0KE4,303103
41
+ databricks/sdk/service/marketplace.py,sha256=0xNm1Ob7G6Le5ieG7meJpBbmkt18gko1bhmORG9DwoM,141176
42
+ databricks/sdk/service/ml.py,sha256=vohBdESClI3EOpO-ZZ44W-CMz1alq5Tw4oJnWa99Z2M,236128
43
+ databricks/sdk/service/oauth2.py,sha256=yBY6S_rI2ottFjttYDDijjyoAWFndwfqFC50sdimcSY,37100
44
+ databricks/sdk/service/pipelines.py,sha256=Zp-ogtJl2VN5ssi65ii2wI2nbOYPE8Qdhgp36aUitfo,118753
45
+ databricks/sdk/service/provisioning.py,sha256=DP4Df4X-p0JEUk4zAJQhjX_wxpMi673OKLXFhxl6YSE,142678
46
+ databricks/sdk/service/serving.py,sha256=Hg5v87ap49j4H5B6_RKe8auGKDamWskp1PQTBDCCwQ0,150238
47
+ databricks/sdk/service/settings.py,sha256=7c_gSsOZtTpmSGE-OVKMnkpbc5wqoN447zX-vyDhrJk,177409
48
+ databricks/sdk/service/sharing.py,sha256=dtMJdIhGLh8a70Aq55dqGsUG12ykiz_7zgEvg2Iw42A,100135
49
+ databricks/sdk/service/sql.py,sha256=v8oP0sA_mix3ftSujtaVG4tfXGnSHeBJbA7c6iWW-1c,262958
50
+ databricks/sdk/service/vectorsearch.py,sha256=ZfiTEpTNg8nnzPuw24MeiDn8eq6PHmEWqTHS0zdDdEo,62484
51
+ databricks/sdk/service/workspace.py,sha256=FKLf5esRmfFstIXo7HQg6HQCzQ2svrb6ulr8yzZ7-8U,101182
52
+ databricks_sdk-0.29.0.dist-info/LICENSE,sha256=afBgTZo-JsYqj4VOjnejBetMuHKcFR30YobDdpVFkqY,11411
53
+ databricks_sdk-0.29.0.dist-info/METADATA,sha256=4w5fp5admIsLz4trTedAhLYAvDfpqmm_e75ZIs3qsMc,35819
54
+ databricks_sdk-0.29.0.dist-info/NOTICE,sha256=Qnc0m8JjZNTDV80y0h1aJGvsr4GqM63m1nr2VTypg6E,963
55
+ databricks_sdk-0.29.0.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
56
+ databricks_sdk-0.29.0.dist-info/top_level.txt,sha256=7kRdatoSgU0EUurRQJ_3F1Nv4EOSHWAr6ng25tJOJKU,11
57
+ databricks_sdk-0.29.0.dist-info/RECORD,,
@@ -1,56 +0,0 @@
1
- databricks/__init__.py,sha256=CF2MJcZFwbpn9TwQER8qnCDhkPooBGQNVkX4v7g6p3g,537
2
- databricks/sdk/__init__.py,sha256=0O9Z3wsavKMGxwP8bpMHIhNmQIR8P-4kfAPJTnIu7mc,43862
3
- databricks/sdk/_property.py,sha256=sGjsipeFrjMBSVPjtIb0HNCRcMIhFpVx6wq4BkC3LWs,1636
4
- databricks/sdk/azure.py,sha256=92fNK4CmQGs-pCTA9r7Anv7u_84l79Q5uQ9m1HugChk,2299
5
- databricks/sdk/casing.py,sha256=NKYPrfPbQjM7lU4hhNQK3z1jb_VEA29BfH4FEdby2tg,1137
6
- databricks/sdk/clock.py,sha256=Ivlow0r_TkXcTJ8UXkxSA0czKrY0GvwHAeOvjPkJnAQ,1360
7
- databricks/sdk/config.py,sha256=mvnjRaeYf6gspfA9Tz2UCB9Ty7ZKbX-4FmdGBXPN9nk,18971
8
- databricks/sdk/core.py,sha256=7tzOhC7JnewQciCEGqjmBwceBzz3eqRQw5y-j8FyUWY,18636
9
- databricks/sdk/credentials_provider.py,sha256=zLmXLbt6zDS-P4jRBiS9if6QQGOea2CZn3fUrmJuJLY,26255
10
- databricks/sdk/dbutils.py,sha256=JUoT5hJVe_fi95g_BqX08iDzsoYfneybXRub42VC-Bw,12771
11
- databricks/sdk/environments.py,sha256=gStDfgI07ECd6Pb82Rf-nRjf48NH6hOY3UfTXm4YNZ4,2861
12
- databricks/sdk/oauth.py,sha256=jqe0yrrTUfRL8kpR21Odwn4R_X6Ns-hTLu3dKYDI1EM,18313
13
- databricks/sdk/py.typed,sha256=pSvaHpbY1UPNEXyVFUjlgBhjPFZMmVC_UNrPC7eMOHI,74
14
- databricks/sdk/retries.py,sha256=WgLh12bwdBc6fCQlaig3kKu18cVhPzFDGsspvq629Ew,2454
15
- databricks/sdk/version.py,sha256=ufudjmEpRocDSQt0zs8NFi9hC8HnWct5ABBMYMx5W3o,23
16
- databricks/sdk/_widgets/__init__.py,sha256=Qm3JB8LmdPgEn_-VgxKkodTO4gn6OdaDPwsYcDmeIRI,2667
17
- databricks/sdk/_widgets/default_widgets_utils.py,sha256=Rk59AFzVYVpOektB_yC_7j-vSt5OdtZA85IlG0kw0xA,1202
18
- databricks/sdk/_widgets/ipywidgets_utils.py,sha256=P-AyGeahPiX3S59mxpAMgffi4gyJ0irEOY7Ekkn9nQ0,2850
19
- databricks/sdk/errors/__init__.py,sha256=2X1j1rPSfgx0ryqDoMGTobTcnOaKqw-JIWhlpv7LH2E,123
20
- databricks/sdk/errors/base.py,sha256=oawBxpuoyImsLu29ntpAgOc6RQ7kD-UcuFFER9jB3iI,3880
21
- databricks/sdk/errors/mapper.py,sha256=TWK4-gTWO_tiiOPhE97JQv0-TtHfmIgV6VMzhjUhfoM,1161
22
- databricks/sdk/errors/overrides.py,sha256=YswUrm5-FshXtUZ7q53f9DvnjnLoDUUoZ-YTpAyy5F0,1136
23
- databricks/sdk/errors/platform.py,sha256=dpD97-YcjXTqOwWg2XulFzdyb8qufN14PyU1FdukpF8,3017
24
- databricks/sdk/errors/sdk.py,sha256=_euMruhvquB0v_SKtgqxJUiyXHWuTb4Jl7ji6_h0E_A,109
25
- databricks/sdk/mixins/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
26
- databricks/sdk/mixins/compute.py,sha256=khb00BzBckc4RLUF4-GnNMCSO5lXKt_XYMM3IhiUxlA,11237
27
- databricks/sdk/mixins/files.py,sha256=8Nh4TAB0BASZfTylW1P93_Sj_-zBlzEZ6CN38x2UoTQ,20205
28
- databricks/sdk/mixins/workspace.py,sha256=dWMNvuEi8jJ5wMhrDt1LiqxNdWSsmEuDTzrcZR-eJzY,4896
29
- databricks/sdk/runtime/__init__.py,sha256=9NnZkBzeZXZRQxcE1qKzAszQEzcpIgpL7lQzW3_kxEU,7266
30
- databricks/sdk/runtime/dbutils_stub.py,sha256=UFbRZF-bBcwxjbv_pxma00bjNtktLLaYpo8oHRc4-9g,11421
31
- databricks/sdk/service/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
32
- databricks/sdk/service/_internal.py,sha256=nWbJfW5eJCQgAZ3TmA26xoWb6SNZ5N76ZA8bO1N4AsU,1961
33
- databricks/sdk/service/billing.py,sha256=Hbe5bMsBrpebuAl8yj-GwVRGktrzKwiZJj3gq1wUMaI,50625
34
- databricks/sdk/service/catalog.py,sha256=oZJzQwzJ5REab7MoMvNweZBiV-Vga2QVTKYCSFAvIm4,408380
35
- databricks/sdk/service/compute.py,sha256=OiQPM_LIQMB9VFzJsCJV8-mUe4ibmrdzvDY-yobmzKo,400111
36
- databricks/sdk/service/dashboards.py,sha256=PwhX73El3POXdblc7ZOm2PAkhf5TcSZ5Na73_ne2Zb4,18801
37
- databricks/sdk/service/files.py,sha256=VCt83YSI9rhQexmxaQdrUXHq2UCYfZcDMLvJx5X6n1M,38162
38
- databricks/sdk/service/iam.py,sha256=11L45bjOYwzxMVlAXpKrFMOxrZzgZy75JSIOkeAXuFg,147645
39
- databricks/sdk/service/jobs.py,sha256=cY4jtGyQxsrjmy8JJnCH04zsAroY1zKb5-vpOrvhq48,305819
40
- databricks/sdk/service/marketplace.py,sha256=NsBjBBHJVi3AsVvLv3MJMaaH12GGl9PxGHG7GhEfZgw,136516
41
- databricks/sdk/service/ml.py,sha256=vohBdESClI3EOpO-ZZ44W-CMz1alq5Tw4oJnWa99Z2M,236128
42
- databricks/sdk/service/oauth2.py,sha256=zpEA7glY_EsPvMgkk-hmt4eVgrmtcSGgduI7XlShNUo,36215
43
- databricks/sdk/service/pipelines.py,sha256=8ORkF7KQRfSgqSFFBeikQ4Z3c0rTNFRb_LAjtKwBKJQ,112201
44
- databricks/sdk/service/provisioning.py,sha256=DP4Df4X-p0JEUk4zAJQhjX_wxpMi673OKLXFhxl6YSE,142678
45
- databricks/sdk/service/serving.py,sha256=aB8yDxywHuSUvdCGDheGz6oBtr0lLXRY7cvhk23shb0,142705
46
- databricks/sdk/service/settings.py,sha256=bhbYqlLj4gpy_GhCifa_0sLvoDBRNTJzU9H5TerFU4E,177359
47
- databricks/sdk/service/sharing.py,sha256=raSbdkPMAmyKnWkZpPOrB0ISXOps_8Lz1j75svUQB70,98602
48
- databricks/sdk/service/sql.py,sha256=nZbUc8G57idsROZ7P5a9HGRE9hKZ12rdc4gEFbZxrbE,257912
49
- databricks/sdk/service/vectorsearch.py,sha256=R5RACGGpM9w2yUylBTiV5Bk-YC6O2OorKlNUHqKFawg,51588
50
- databricks/sdk/service/workspace.py,sha256=4BZLbKu6yF9Jztb07uzUnEflA8JKOD9LIOQEJm5BK9c,100855
51
- databricks_sdk-0.27.1.dist-info/LICENSE,sha256=afBgTZo-JsYqj4VOjnejBetMuHKcFR30YobDdpVFkqY,11411
52
- databricks_sdk-0.27.1.dist-info/METADATA,sha256=0GyOwmzWKekOECuVzoFDqh-Zn0JB-tEekcimfdQIPbs,35766
53
- databricks_sdk-0.27.1.dist-info/NOTICE,sha256=Qnc0m8JjZNTDV80y0h1aJGvsr4GqM63m1nr2VTypg6E,963
54
- databricks_sdk-0.27.1.dist-info/WHEEL,sha256=G16H4A3IeoQmnOrYV4ueZGKSjhipXx8zc8nu9FGlvMA,92
55
- databricks_sdk-0.27.1.dist-info/top_level.txt,sha256=7kRdatoSgU0EUurRQJ_3F1Nv4EOSHWAr6ng25tJOJKU,11
56
- databricks_sdk-0.27.1.dist-info/RECORD,,