-
Notifications
You must be signed in to change notification settings - Fork 123
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Release v0.13.0 #442
Release v0.13.0 #442
Conversation
* Introduce more specific exceptions, like `NotFound`, `AlreadyExists`, `BadRequest`, `PermissionDenied`, `InternalError`, and others ([#376](#376)). This makes it easier to handle errors thrown by the Databricks API. Instead of catching `DatabricksError` and checking the error_code field, you can catch one of these subtypes of `DatabricksError`, which is more ergonomic and removes the need to rethrow exceptions that you don't want to catch. For example: ```python try: return (self._ws .permissions .get(object_type, object_id)) except DatabricksError as e: if e.error_code in [ "RESOURCE_DOES_NOT_EXIST", "RESOURCE_NOT_FOUND", "PERMISSION_DENIED", "FEATURE_DISABLED", "BAD_REQUEST"]: logger.warning(...) return None raise RetryableError(...) from e ``` can be replaced with ```python try: return (self._ws .permissions .get(object_type, object_id)) except PermissionDenied, FeatureDisabled: logger.warning(...) return None except NotFound: raise RetryableError(...) ``` * Paginate all SCIM list requests in the SDK ([#440](#440)). This change ensures that SCIM list() APIs use a default limit of 100 resources, leveraging SCIM's offset + limit pagination to batch requests to the Databricks API. * Added taskValues support in remoteDbUtils ([#406](#406)). * Added more detailed error message on default credentials not found error ([#419](#419)). * Request management token via Azure CLI only for Service Principals and not human users ([#408](#408)). API Changes: * Fixed `create()` method for [w.functions](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/functions.html) workspace-level service and corresponding `databricks.sdk.service.catalog.CreateFunction` and `databricks.sdk.service.catalog.FunctionInfo` dataclasses. * Changed `create()` method for [w.metastores](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/metastores.html) workspace-level service with new required argument order. * Changed `storage_root` field for `databricks.sdk.service.catalog.CreateMetastore` to be optional. * Added `skip_validation` field for `databricks.sdk.service.catalog.UpdateExternalLocation`. * Added `libraries` field for `databricks.sdk.service.compute.CreatePolicy`, `databricks.sdk.service.compute.EditPolicy` and `databricks.sdk.service.compute.Policy`. * Added `init_scripts` field for `databricks.sdk.service.compute.EventDetails`. * Added `file` field for `databricks.sdk.service.compute.InitScriptInfo`. * Added `zone_id` field for `databricks.sdk.service.compute.InstancePoolGcpAttributes`. * Added several dataclasses related to init scripts. * Added `databricks.sdk.service.compute.LocalFileInfo` dataclass. * Replaced `ui_state` field with `edit_mode` for `databricks.sdk.service.jobs.CreateJob` and `databricks.sdk.service.jobs.JobSettings`. * Replaced `databricks.sdk.service.jobs.CreateJobUiState` dataclass with `databricks.sdk.service.jobs.CreateJobEditMode`. * Added `include_resolved_values` field for `databricks.sdk.service.jobs.GetRunRequest`. * Replaced `databricks.sdk.service.jobs.JobSettingsUiState` dataclass with `databricks.sdk.service.jobs.JobSettingsEditMode`. * Removed [a.o_auth_enrollment](https://databricks-sdk-py.readthedocs.io/en/latest/account/o_auth_enrollment.html) account-level service. This was only used to aid in OAuth enablement during the public preview of OAuth. OAuth is now enabled for all AWS E2 accounts, so usage of this API is no longer needed. * Added `network_connectivity_config_id` field for `databricks.sdk.service.provisioning.UpdateWorkspaceRequest`. * Added [a.network_connectivity](https://databricks-sdk-py.readthedocs.io/en/latest/account/network_connectivity.html) account-level service. * Added `string_shared_as` field for `databricks.sdk.service.sharing.SharedDataObject`. Internal changes: * Added regression question to issue template ([#414](#414)). * Made test_auth no longer fail if you have a default profile setup ([#426](#426)). OpenAPI SHA: d136ad0541f036372601bad9a4382db06c3c912d, Date: 2023-11-14
Codecov ReportAll modified and coverable lines are covered by tests ✅
Additional details and impacted files@@ Coverage Diff @@
## main #442 +/- ##
=======================================
Coverage 51.62% 51.62%
=======================================
Files 38 38
Lines 22266 22266
=======================================
Hits 11495 11495
Misses 10771 10771 ☔ View full report in Codecov by Sentry. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
let's ship it asap
Integration tests have passed, so let's ship this. |
NotFound
,AlreadyExists
,BadRequest
,PermissionDenied
,InternalError
, and others (#376). This makes it easier to handle errors thrown by the Databricks API. Instead of catchingDatabricksError
and checking the error_code field, you can catch one of these subtypes ofDatabricksError
, which is more ergonomic and removes the need to rethrow exceptions that you don't want to catch. For example:can be replaced with
API Changes:
create()
method for w.functions workspace-level service and correspondingdatabricks.sdk.service.catalog.CreateFunction
anddatabricks.sdk.service.catalog.FunctionInfo
dataclasses.create()
method for w.metastores workspace-level service with new required argument order.storage_root
field fordatabricks.sdk.service.catalog.CreateMetastore
to be optional.skip_validation
field fordatabricks.sdk.service.catalog.UpdateExternalLocation
.libraries
field fordatabricks.sdk.service.compute.CreatePolicy
,databricks.sdk.service.compute.EditPolicy
anddatabricks.sdk.service.compute.Policy
.init_scripts
field fordatabricks.sdk.service.compute.EventDetails
.file
field fordatabricks.sdk.service.compute.InitScriptInfo
.zone_id
field fordatabricks.sdk.service.compute.InstancePoolGcpAttributes
.databricks.sdk.service.compute.LocalFileInfo
dataclass.ui_state
field withedit_mode
fordatabricks.sdk.service.jobs.CreateJob
anddatabricks.sdk.service.jobs.JobSettings
.databricks.sdk.service.jobs.CreateJobUiState
dataclass withdatabricks.sdk.service.jobs.CreateJobEditMode
.include_resolved_values
field fordatabricks.sdk.service.jobs.GetRunRequest
.databricks.sdk.service.jobs.JobSettingsUiState
dataclass withdatabricks.sdk.service.jobs.JobSettingsEditMode
.network_connectivity_config_id
field fordatabricks.sdk.service.provisioning.UpdateWorkspaceRequest
.string_shared_as
field fordatabricks.sdk.service.sharing.SharedDataObject
.Internal changes:
OpenAPI SHA: d136ad0541f036372601bad9a4382db06c3c912d, Date: 2023-11-14