Skip to content

Commit b72ba81

Browse files
Merge
2 parents 73e023a + a1bfd69 commit b72ba81

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

70 files changed

+4466
-1919
lines changed

.codegen/__init__.py.tmpl

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,18 +5,20 @@ from databricks.sdk.credentials_provider import CredentialsStrategy
55
from databricks.sdk.mixins.files import DbfsExt
66
from databricks.sdk.mixins.compute import ClustersExt
77
from databricks.sdk.mixins.workspace import WorkspaceExt
8+
from databricks.sdk.mixins.open_ai_client import ServingEndpointsExt
89
{{- range .Services}}
910
from databricks.sdk.service.{{.Package.Name}} import {{.PascalName}}API{{end}}
1011
from databricks.sdk.service.provisioning import Workspace
1112
from databricks.sdk import azure
13+
from typing import Optional
1214

1315
{{$args := list "host" "account_id" "username" "password" "client_id" "client_secret"
1416
"token" "profile" "config_file" "azure_workspace_resource_id" "azure_client_secret"
1517
"azure_client_id" "azure_tenant_id" "azure_environment" "auth_type" "cluster_id"
1618
"google_credentials" "google_service_account" }}
1719

1820
{{- define "api" -}}
19-
{{- $mixins := dict "ClustersAPI" "ClustersExt" "DbfsAPI" "DbfsExt" "WorkspaceAPI" "WorkspaceExt" -}}
21+
{{- $mixins := dict "ClustersAPI" "ClustersExt" "DbfsAPI" "DbfsExt" "WorkspaceAPI" "WorkspaceExt" "ServingEndpointsAPI" "ServingEndpointsExt" -}}
2022
{{- $genApi := concat .PascalName "API" -}}
2123
{{- getOrDefault $mixins $genApi $genApi -}}
2224
{{- end -}}

.codegen/_openapi_sha

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
d05898328669a3f8ab0c2ecee37db2673d3ea3f7
1+
cf9c61453990df0f9453670f2fe68e1b128647a2

.codegen/service.py.tmpl

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -350,7 +350,7 @@ class {{.PascalName}}API:{{if .Description}}
350350
{{- else if .Response.MapValue -}}
351351
return res
352352
{{- else -}}
353-
return {{.Response.PascalName}}.from_dict(res)
353+
return {{template "type" .Response}}.from_dict(res)
354354
{{- end}}
355355
{{- end}}
356356
{{- end}}

.gitattributes

Lines changed: 0 additions & 275 deletions
Large diffs are not rendered by default.
Lines changed: 59 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,59 @@
1+
name: Integration Tests
2+
3+
on:
4+
5+
pull_request:
6+
types: [opened, synchronize]
7+
8+
merge_group:
9+
10+
11+
jobs:
12+
trigger-tests:
13+
if: github.event_name == 'pull_request'
14+
name: Trigger Tests
15+
runs-on: ubuntu-latest
16+
environment: "test-trigger-is"
17+
18+
steps:
19+
- uses: actions/checkout@v3
20+
21+
- name: Generate GitHub App Token
22+
id: generate-token
23+
uses: actions/create-github-app-token@v1
24+
with:
25+
app-id: ${{ secrets.DECO_WORKFLOW_TRIGGER_APP_ID }}
26+
private-key: ${{ secrets.DECO_WORKFLOW_TRIGGER_PRIVATE_KEY }}
27+
owner: ${{ secrets.ORG_NAME }}
28+
repositories: ${{secrets.REPO_NAME}}
29+
30+
- name: Trigger Workflow in Another Repo
31+
env:
32+
GH_TOKEN: ${{ steps.generate-token.outputs.token }}
33+
run: |
34+
gh workflow run sdk-py-isolated-pr.yml -R ${{ secrets.ORG_NAME }}/${{secrets.REPO_NAME}} \
35+
--ref main \
36+
-f pull_request_number=${{ github.event.pull_request.number }} \
37+
-f commit_sha=${{ github.event.pull_request.head.sha }}
38+
39+
# Statuses and checks apply to specific commits (by hash).
40+
# Enforcement of required checks is done both at the PR level and the merge queue level.
41+
# In case of multiple commits in a single PR, the hash of the squashed commit
42+
# will not match the one for the latest (approved) commit in the PR.
43+
# We auto approve the check for the merge queue for two reasons:
44+
# * Queue times out due to duration of tests.
45+
# * Avoid running integration tests twice, since it was already run at the tip of the branch before squashing.
46+
auto-approve:
47+
if: github.event_name == 'merge_group'
48+
runs-on: ubuntu-latest
49+
steps:
50+
- name: Mark Check
51+
env:
52+
GH_TOKEN: ${{ secrets.GITHUB_TOKEN }}
53+
shell: bash
54+
run: |
55+
gh api -X POST -H "Accept: application/vnd.github+json" \
56+
-H "X-GitHub-Api-Version: 2022-11-28" \
57+
/repos/${{ github.repository }}/statuses/${{ github.sha }} \
58+
-f 'state=success' \
59+
-f 'context=Integration Tests Check'

CHANGELOG.md

Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,146 @@
11
# Version changelog
22

3+
## [Release] Release v0.36.0
4+
5+
### Breaking Changes
6+
* `external_browser` now uses the `databricks-cli` app instead of the third-party "6128a518-99a9-425b-8333-4cc94f04cacd" application when performing the U2M login flow for Azure workspaces when a client ID is not otherwise specified. This matches the AWS behavior.
7+
* The signatures of several OAuth-related constructors have changed to support U2M OAuth with Azure Entra ID application registrations. See https://github.com/databricks/databricks-sdk-py/blob/main/examples/flask_app_with_oauth.py for examples of how to use these classes.
8+
* `OAuthClient()`: renamed to `OAuthClient.from_host()`
9+
* `SessionCredentials()` and `SessionCredentials.from_dict()`: now accepts `token_endpoint`, `client_id`, `client_secret`, and `refresh_url` as parameters, rather than accepting the `OAuthClient`.
10+
* `TokenCache()`: now accepts `host`, `token_endpoint`, `client_id`, `client_secret`, and `refresh_url` as parameters, rather than accepting the `OAuthClient`.
11+
12+
### Bug Fixes
13+
14+
* Decouple OAuth functionality from `Config` ([#784](https://github.com/databricks/databricks-sdk-py/pull/784)).
15+
16+
17+
### Release
18+
19+
* Release v0.35.0 ([#793](https://github.com/databricks/databricks-sdk-py/pull/793)).
20+
21+
22+
23+
## [Release] Release v0.35.0
24+
25+
### New Features and Improvements
26+
27+
* Open AI Client Mixin ([#779](https://github.com/databricks/databricks-sdk-py/pull/779)).
28+
29+
30+
### Bug Fixes
31+
32+
* Update Serving Endpoint mixing template and docs generation logic ([#792](https://github.com/databricks/databricks-sdk-py/pull/792)).
33+
34+
35+
### API Changes:
36+
37+
* Added `databricks.sdk.service.pipelines.ReportSpec` dataclass.
38+
* Added `unity_catalog_provisioning_state` field for `databricks.sdk.service.catalog.OnlineTable`.
39+
* Added `is_truncated` field for `databricks.sdk.service.dashboards.Result`.
40+
* Added `effective_budget_policy_id` field for `databricks.sdk.service.jobs.BaseJob`.
41+
* Added `budget_policy_id` field for `databricks.sdk.service.jobs.CreateJob`.
42+
* Added `effective_budget_policy_id` field for `databricks.sdk.service.jobs.Job`.
43+
* Added `budget_policy_id` field for `databricks.sdk.service.jobs.JobSettings`.
44+
* Added `budget_policy_id` field for `databricks.sdk.service.jobs.SubmitRun`.
45+
* Added `report` field for `databricks.sdk.service.pipelines.IngestionConfig`.
46+
* Added `sequence_by` field for `databricks.sdk.service.pipelines.TableSpecificConfig`.
47+
* Added `notify_on_ok` field for `databricks.sdk.service.sql.Alert`.
48+
* Added `notify_on_ok` field for `databricks.sdk.service.sql.CreateAlertRequestAlert`.
49+
* Added `notify_on_ok` field for `databricks.sdk.service.sql.ListAlertsResponseAlert`.
50+
* Added `notify_on_ok` field for `databricks.sdk.service.sql.UpdateAlertRequestAlert`.
51+
52+
OpenAPI SHA: cf9c61453990df0f9453670f2fe68e1b128647a2, Date: 2024-10-14
53+
54+
## [Release] Release v0.34.0
55+
56+
### Bug Fixes
57+
58+
* Fix Model Serving Test ([#781](https://github.com/databricks/databricks-sdk-py/pull/781)).
59+
* Include package name for external types when deserializing responses ([#786](https://github.com/databricks/databricks-sdk-py/pull/786)).
60+
61+
62+
### Internal Changes
63+
64+
* Refactor ApiClient into `_BaseClient` and `ApiClient` ([#785](https://github.com/databricks/databricks-sdk-py/pull/785)).
65+
* Update to latest OpenAPI spec ([#787](https://github.com/databricks/databricks-sdk-py/pull/787)).
66+
* revert Support Models in `dbutils.fs` operations ([#750](https://github.com/databricks/databricks-sdk-py/pull/750)) ([#778](https://github.com/databricks/databricks-sdk-py/pull/778)).
67+
68+
69+
### API Changes:
70+
71+
* Added [w.disable_legacy_dbfs](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/settings/disable_legacy_dbfs.html) workspace-level service.
72+
* Added `default_source_code_path` and `resources` fields for `databricks.sdk.service.apps.App`.
73+
* Added `resources` field for `databricks.sdk.service.apps.CreateAppRequest`.
74+
* Added `resources` field for `databricks.sdk.service.apps.UpdateAppRequest`.
75+
76+
OpenAPI SHA: bc17b474818138f19b78a7bea0675707dead2b87, Date: 2024-10-07
77+
78+
## [Release] Release v0.33.0
79+
80+
### Internal Changes
81+
82+
* Add DCO guidelines ([#773](https://github.com/databricks/databricks-sdk-py/pull/773)).
83+
* Update SDK to latest OpenAPI spec ([#766](https://github.com/databricks/databricks-sdk-py/pull/766)).
84+
85+
86+
### API Changes:
87+
88+
* Added [w.disable_legacy_access](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/settings/disable_legacy_access.html) workspace-level service and [a.disable_legacy_features](https://databricks-sdk-py.readthedocs.io/en/latest/account/account_settings/disable_legacy_features.html) account-level service.
89+
* Added [w.temporary_table_credentials](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/temporary_table_credentials.html) workspace-level service.
90+
* Added `put_ai_gateway()` method for [w.serving_endpoints](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/serving_endpoints.html) workspace-level service.
91+
* Added `databricks.sdk.service.apps.ApplicationState`, `databricks.sdk.service.apps.ApplicationStatus`, `databricks.sdk.service.apps.ComputeState` and `databricks.sdk.service.apps.ComputeStatus` dataclasses.
92+
* Added `databricks.sdk.service.catalog.AwsCredentials`, `databricks.sdk.service.catalog.AzureUserDelegationSas`, `databricks.sdk.service.catalog.GcpOauthToken`, `databricks.sdk.service.catalog.GenerateTemporaryTableCredentialRequest`, `databricks.sdk.service.catalog.GenerateTemporaryTableCredentialResponse`, `databricks.sdk.service.catalog.R2Credentials` and `databricks.sdk.service.catalog.TableOperation` dataclasses.
93+
* Added `databricks.sdk.service.serving.AiGatewayConfig`, `databricks.sdk.service.serving.AiGatewayGuardrailParameters`, `databricks.sdk.service.serving.AiGatewayGuardrailPiiBehavior`, `databricks.sdk.service.serving.AiGatewayGuardrailPiiBehaviorBehavior`, `databricks.sdk.service.serving.AiGatewayGuardrails`, `databricks.sdk.service.serving.AiGatewayInferenceTableConfig`, `databricks.sdk.service.serving.AiGatewayRateLimit`, `databricks.sdk.service.serving.AiGatewayRateLimitKey`, `databricks.sdk.service.serving.AiGatewayRateLimitRenewalPeriod`, `databricks.sdk.service.serving.AiGatewayUsageTrackingConfig`, `databricks.sdk.service.serving.PutAiGatewayRequest` and `databricks.sdk.service.serving.PutAiGatewayResponse` dataclasses.
94+
* Added `databricks.sdk.service.settings.BooleanMessage`, `databricks.sdk.service.settings.DeleteDisableLegacyAccessRequest`, `databricks.sdk.service.settings.DeleteDisableLegacyAccessResponse`, `databricks.sdk.service.settings.DeleteDisableLegacyFeaturesRequest`, `databricks.sdk.service.settings.DeleteDisableLegacyFeaturesResponse`, `databricks.sdk.service.settings.DisableLegacyAccess`, `databricks.sdk.service.settings.DisableLegacyFeatures`, `databricks.sdk.service.settings.GetDisableLegacyAccessRequest`, `databricks.sdk.service.settings.GetDisableLegacyFeaturesRequest`, `databricks.sdk.service.settings.UpdateDisableLegacyAccessRequest` and `databricks.sdk.service.settings.UpdateDisableLegacyFeaturesRequest` dataclasses.
95+
* Added `databricks.sdk.service.workspace.CreateCredentialsRequest`, `databricks.sdk.service.workspace.CreateRepoRequest`, `databricks.sdk.service.workspace.CreateRepoResponse`, `databricks.sdk.service.workspace.DeleteCredentialsRequest`, `any`, `any`, `databricks.sdk.service.workspace.GetCredentialsRequest`, `databricks.sdk.service.workspace.GetRepoResponse`, `databricks.sdk.service.workspace.ListCredentialsResponse`, `databricks.sdk.service.workspace.UpdateCredentialsRequest`, `any`, `databricks.sdk.service.workspace.UpdateRepoRequest` and `any` dataclasses.
96+
* Added `app_status` and `compute_status` fields for `databricks.sdk.service.apps.App`.
97+
* Added `deployment_id` field for `databricks.sdk.service.apps.CreateAppDeploymentRequest`.
98+
* Added `external_access_enabled` field for `databricks.sdk.service.catalog.GetMetastoreSummaryResponse`.
99+
* Added `include_manifest_capabilities` field for `databricks.sdk.service.catalog.GetTableRequest`.
100+
* Added `include_manifest_capabilities` field for `databricks.sdk.service.catalog.ListSummariesRequest`.
101+
* Added `include_manifest_capabilities` field for `databricks.sdk.service.catalog.ListTablesRequest`.
102+
* Added `external_access_enabled` field for `databricks.sdk.service.catalog.MetastoreInfo`.
103+
* Added `budget_policy_id` and `schema` fields for `databricks.sdk.service.pipelines.CreatePipeline`.
104+
* Added `budget_policy_id` and `schema` fields for `databricks.sdk.service.pipelines.EditPipeline`.
105+
* Added `effective_budget_policy_id` field for `databricks.sdk.service.pipelines.GetPipelineResponse`.
106+
* Added `budget_policy_id` and `schema` fields for `databricks.sdk.service.pipelines.PipelineSpec`.
107+
* Added `ai_gateway` field for `databricks.sdk.service.serving.CreateServingEndpoint`.
108+
* Added `ai_gateway` field for `databricks.sdk.service.serving.ServingEndpoint`.
109+
* Added `ai_gateway` field for `databricks.sdk.service.serving.ServingEndpointDetailed`.
110+
* Added `workspace_id` field for `databricks.sdk.service.settings.TokenInfo`.
111+
* Added `credential_id`, `git_provider` and `git_username` fields for `databricks.sdk.service.workspace.GetCredentialsResponse`.
112+
* Changed `delete()`, `start()` and `stop()` methods for [w.apps](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/apps.html) workspace-level service to return `databricks.sdk.service.apps.App` dataclass.
113+
* Changed `deploy()` method for [w.apps](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/apps.html) workspace-level service with new required argument order.
114+
* Changed `create()` method for [w.git_credentials](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/git_credentials.html) workspace-level service . New request type is `databricks.sdk.service.workspace.CreateCredentialsRequest` dataclass.
115+
* Changed `delete()` method for [w.git_credentials](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/git_credentials.html) workspace-level service . New request type is `databricks.sdk.service.workspace.DeleteCredentialsRequest` dataclass.
116+
* Changed `delete()` method for [w.git_credentials](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/git_credentials.html) workspace-level service to return `any` dataclass.
117+
* Changed `get()` method for [w.git_credentials](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/git_credentials.html) workspace-level service . New request type is `databricks.sdk.service.workspace.GetCredentialsRequest` dataclass.
118+
* Changed `get()` method for [w.git_credentials](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/git_credentials.html) workspace-level service to return `databricks.sdk.service.workspace.GetCredentialsResponse` dataclass.
119+
* Changed `list()` method for [w.git_credentials](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/git_credentials.html) workspace-level service to return `databricks.sdk.service.workspace.ListCredentialsResponse` dataclass.
120+
* Changed `update()` method for [w.git_credentials](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/git_credentials.html) workspace-level service . New request type is `databricks.sdk.service.workspace.UpdateCredentialsRequest` dataclass.
121+
* Changed `update()` method for [w.git_credentials](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/git_credentials.html) workspace-level service to return `any` dataclass.
122+
* Changed `create()` method for [w.repos](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/repos.html) workspace-level service to return `databricks.sdk.service.workspace.CreateRepoResponse` dataclass.
123+
* Changed `create()` method for [w.repos](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/repos.html) workspace-level service . New request type is `databricks.sdk.service.workspace.CreateRepoRequest` dataclass.
124+
* Changed `delete()` method for [w.repos](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/repos.html) workspace-level service to return `any` dataclass.
125+
* Changed `get()` method for [w.repos](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/repos.html) workspace-level service to return `databricks.sdk.service.workspace.GetRepoResponse` dataclass.
126+
* Changed `update()` method for [w.repos](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/repos.html) workspace-level service to return `any` dataclass.
127+
* Changed `update()` method for [w.repos](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/repos.html) workspace-level service . New request type is `databricks.sdk.service.workspace.UpdateRepoRequest` dataclass.
128+
* Changed `source_code_path` field for `databricks.sdk.service.apps.AppDeployment` to no longer be required.
129+
* Changed `source_code_path` field for `databricks.sdk.service.apps.CreateAppDeploymentRequest` to no longer be required.
130+
* Changed `return_params` and `routine_dependencies` fields for `databricks.sdk.service.catalog.CreateFunction` to no longer be required.
131+
* Changed `credential_id` and `git_provider` fields for `databricks.sdk.service.workspace.CreateCredentialsResponse` to be required.
132+
* Changed `credential_id` field for `databricks.sdk.service.workspace.CredentialInfo` to be required.
133+
* Changed `patterns` field for `databricks.sdk.service.workspace.SparseCheckout` to `databricks.sdk.service.workspace.List` dataclass.
134+
* Changed `patterns` field for `databricks.sdk.service.workspace.SparseCheckoutUpdate` to `databricks.sdk.service.workspace.List` dataclass.
135+
* Removed `databricks.sdk.service.apps.AppState`, `databricks.sdk.service.apps.AppStatus`, `any` and `any` dataclasses.
136+
* Removed `databricks.sdk.service.sql.ClientCallContext`, `databricks.sdk.service.sql.EncodedText`, `databricks.sdk.service.sql.EncodedTextEncoding`, `databricks.sdk.service.sql.QuerySource`, `databricks.sdk.service.sql.QuerySourceDriverInfo`, `databricks.sdk.service.sql.QuerySourceEntryPoint`, `databricks.sdk.service.sql.QuerySourceJobManager`, `databricks.sdk.service.sql.QuerySourceTrigger` and `databricks.sdk.service.sql.ServerlessChannelInfo` dataclasses.
137+
* Removed `databricks.sdk.service.workspace.CreateCredentials`, `databricks.sdk.service.workspace.CreateRepo`, `databricks.sdk.service.workspace.DeleteGitCredentialRequest`, `databricks.sdk.service.workspace.GetGitCredentialRequest`, `databricks.sdk.service.workspace.SparseCheckoutPattern`, `databricks.sdk.service.workspace.UpdateCredentials`, `databricks.sdk.service.workspace.UpdateRepo` and `any` dataclasses.
138+
* Removed `status` field for `databricks.sdk.service.apps.App`.
139+
* Removed `query_source` field for `databricks.sdk.service.sql.QueryInfo`.
140+
* Removed `credentials` field for `databricks.sdk.service.workspace.GetCredentialsResponse`.
141+
142+
OpenAPI SHA: 248f4ad9668661da9d0bf4a7b0119a2d44fd1e75, Date: 2024-09-25
143+
3144
## [Release] Release v0.32.3
4145

5146
### New Features and Improvements

0 commit comments

Comments
 (0)