-
Notifications
You must be signed in to change notification settings - Fork 131
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
Added collection of Databricks Runtime versions used together with Python SDK #287
Conversation
…thon SDK This PR adds collection of DBR version if used from within Databricks Cluster. This will allow to improve on notebook-native auth.
Codecov ReportPatch coverage:
Additional details and impacted files@@ Coverage Diff @@
## main #287 +/- ##
==========================================
+ Coverage 52.61% 52.62% +0.01%
==========================================
Files 33 33
Lines 19874 19890 +16
==========================================
+ Hits 10456 10467 +11
- Misses 9418 9423 +5
☔ View full report in Codecov by Sentry. |
if 'DATABRICKS_RUNTIME_VERSION' in os.environ: | ||
runtime_version = os.environ['DATABRICKS_RUNTIME_VERSION'] | ||
if runtime_version != '': | ||
ua.append(f'runtime/{runtime_version}') |
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.
Please add a check that this value conforms to an expected pattern, e.g. no spaces/slashes.
Can be a simple regex match.
I suspect you expect to see 13.3.x-scala2.12
?
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.
@pietern it's 13.3
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.
Nice, thanks!
As no good deed goes unpunished, can you make this change in Go/Java as well? |
Actually, I guess it is not needed in Go, but Java would. |
* Added collection of Databricks Runtime versions used together with Python SDK ([#287](#287)). * Applied attribute transformer when reading in attributes from the environment ([#293](#293)). * Made notebook-native auth work with more configurations of the Databricks Runtime ([#285](#285)). * Added retry in `w.clusters.ensure_cluster_is_running(id)` when cluster is simultaneously started by two different processes. ([#283](#283)). * Set necessary headers when authenticating via Azure CLI ([#290](#290)). * Updated classifier to `Development Status :: 4 - Beta` ([#291](#291)). * Introduced Artifact Allowlist, Securable Tags, and Subentity Tags services. * Introduced DeleteRuns and RestoreRuns methods in the Experiments API. * Introduced the GetSecret method in the Secrets API. * Renamed Auto Maintenance to Predictive Optimization. New Services: * Added [w.artifact_allowlists](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/artifact_allowlists.html) workspace-level service. * Added [w.securable_tags](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/securable_tags.html) workspace-level service. * Added [w.subentity_tags](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/subentity_tags.html) workspace-level service. * Added `databricks.sdk.service.catalog.ArtifactAllowlistInfo` dataclass. * Added `databricks.sdk.service.catalog.ArtifactMatcher` dataclass. * Added `databricks.sdk.service.catalog.ArtifactType` dataclass. * Added `databricks.sdk.service.catalog.GetArtifactAllowlistRequest` dataclass. * Added `databricks.sdk.service.catalog.ListSecurableTagsRequest` dataclass. * Added `databricks.sdk.service.catalog.ListSecurableType` dataclass. * Added `databricks.sdk.service.catalog.ListSubentityTagsRequest` dataclass. * Added `databricks.sdk.service.catalog.MatchType` dataclass. * Added `databricks.sdk.service.catalog.SetArtifactAllowlist` dataclass. * Added `databricks.sdk.service.catalog.TagChanges` dataclass. * Added `databricks.sdk.service.catalog.TagKeyValuePair` dataclass. * Added `databricks.sdk.service.catalog.TagSecurable` dataclass. * Added `databricks.sdk.service.catalog.TagSecurableAssignment` dataclass. * Added `databricks.sdk.service.catalog.TagSecurableAssignmentsList` dataclass. * Added `databricks.sdk.service.catalog.TagSubentity` dataclass. * Added `databricks.sdk.service.catalog.TagSubentityAssignmentsList` dataclass. * Added `databricks.sdk.service.catalog.TagsSubentityAssignment` dataclass. * Added `databricks.sdk.service.catalog.UpdateSecurableType` dataclass. * Added `databricks.sdk.service.catalog.UpdateTags` dataclass. New APIs: * Added `delete_runs()` method for [w.experiments](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/experiments.html) workspace-level service. * Added `restore_runs()` method for [w.experiments](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/experiments.html) workspace-level service. * Added `databricks.sdk.service.ml.DeleteRuns` dataclass. * Added `databricks.sdk.service.ml.DeleteRunsResponse` dataclass. * Added `databricks.sdk.service.ml.RestoreRuns` dataclass. * Added `databricks.sdk.service.ml.RestoreRunsResponse` dataclass. * Added `get_secret()` method for [w.secrets](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/secrets.html) workspace-level service. * Added `databricks.sdk.service.workspace.GetSecretRequest` dataclass. * Added `databricks.sdk.service.workspace.GetSecretResponse` dataclass. Service Renames: * Removed `effective_auto_maintenance_flag` field for `databricks.sdk.service.catalog.CatalogInfo`. * Removed `enable_auto_maintenance` field for `databricks.sdk.service.catalog.CatalogInfo`. * Added `effective_predictive_optimization_flag` field for `databricks.sdk.service.catalog.CatalogInfo`. * Added `enable_predictive_optimization` field for `databricks.sdk.service.catalog.CatalogInfo`. * Removed `databricks.sdk.service.catalog.EffectiveAutoMaintenanceFlag` dataclass. * Removed `databricks.sdk.service.catalog.EffectiveAutoMaintenanceFlagInheritedFromType` dataclass. * Removed `databricks.sdk.service.catalog.EnableAutoMaintenance` dataclass. * Removed `effective_auto_maintenance_flag` field for `databricks.sdk.service.catalog.SchemaInfo`. * Removed `enable_auto_maintenance` field for `databricks.sdk.service.catalog.SchemaInfo`. * Added `effective_predictive_optimization_flag` field for `databricks.sdk.service.catalog.SchemaInfo`. * Added `enable_predictive_optimization` field for `databricks.sdk.service.catalog.SchemaInfo`. * Removed `effective_auto_maintenance_flag` field for `databricks.sdk.service.catalog.TableInfo`. * Removed `enable_auto_maintenance` field for `databricks.sdk.service.catalog.TableInfo`. * Added `effective_predictive_optimization_flag` field for `databricks.sdk.service.catalog.TableInfo`. * Added `enable_predictive_optimization` field for `databricks.sdk.service.catalog.TableInfo`. * Added `databricks.sdk.service.catalog.EffectivePredictiveOptimizationFlag` dataclass. * Added `databricks.sdk.service.catalog.EffectivePredictiveOptimizationFlagInheritedFromType` dataclass. * Added `databricks.sdk.service.catalog.EnablePredictiveOptimization` dataclass. OpenAPI SHA: beff621d7b3e1d59244e2e34fc53a496f310e130, Date: 2023-08-17
* Added collection of Databricks Runtime versions used together with Python SDK ([#287](#287)). * Applied attribute transformer when reading in attributes from the environment ([#293](#293)). * Made notebook-native auth work with more configurations of the Databricks Runtime ([#285](#285)). * Added retry in `w.clusters.ensure_cluster_is_running(id)` when cluster is simultaneously started by two different processes. ([#283](#283)). * Set necessary headers when authenticating via Azure CLI ([#290](#290)). * Updated classifier to `Development Status :: 4 - Beta` ([#291](#291)). * Introduced Artifact Allowlist, Securable Tags, and Subentity Tags services. * Introduced DeleteRuns and RestoreRuns methods in the Experiments API. * Introduced the GetSecret method in the Secrets API. * Renamed Auto Maintenance to Predictive Optimization. New Services: * Added [w.artifact_allowlists](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/artifact_allowlists.html) workspace-level service. * Added [w.securable_tags](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/securable_tags.html) workspace-level service. * Added [w.subentity_tags](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/subentity_tags.html) workspace-level service. * Added `databricks.sdk.service.catalog.ArtifactAllowlistInfo` dataclass. * Added `databricks.sdk.service.catalog.ArtifactMatcher` dataclass. * Added `databricks.sdk.service.catalog.ArtifactType` dataclass. * Added `databricks.sdk.service.catalog.GetArtifactAllowlistRequest` dataclass. * Added `databricks.sdk.service.catalog.ListSecurableTagsRequest` dataclass. * Added `databricks.sdk.service.catalog.ListSecurableType` dataclass. * Added `databricks.sdk.service.catalog.ListSubentityTagsRequest` dataclass. * Added `databricks.sdk.service.catalog.MatchType` dataclass. * Added `databricks.sdk.service.catalog.SetArtifactAllowlist` dataclass. * Added `databricks.sdk.service.catalog.TagChanges` dataclass. * Added `databricks.sdk.service.catalog.TagKeyValuePair` dataclass. * Added `databricks.sdk.service.catalog.TagSecurable` dataclass. * Added `databricks.sdk.service.catalog.TagSecurableAssignment` dataclass. * Added `databricks.sdk.service.catalog.TagSecurableAssignmentsList` dataclass. * Added `databricks.sdk.service.catalog.TagSubentity` dataclass. * Added `databricks.sdk.service.catalog.TagSubentityAssignmentsList` dataclass. * Added `databricks.sdk.service.catalog.TagsSubentityAssignment` dataclass. * Added `databricks.sdk.service.catalog.UpdateSecurableType` dataclass. * Added `databricks.sdk.service.catalog.UpdateTags` dataclass. New APIs: * Added `delete_runs()` method for [w.experiments](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/experiments.html) workspace-level service. * Added `restore_runs()` method for [w.experiments](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/experiments.html) workspace-level service. * Added `databricks.sdk.service.ml.DeleteRuns` dataclass. * Added `databricks.sdk.service.ml.DeleteRunsResponse` dataclass. * Added `databricks.sdk.service.ml.RestoreRuns` dataclass. * Added `databricks.sdk.service.ml.RestoreRunsResponse` dataclass. * Added `get_secret()` method for [w.secrets](https://databricks-sdk-py.readthedocs.io/en/latest/workspace/secrets.html) workspace-level service. * Added `databricks.sdk.service.workspace.GetSecretRequest` dataclass. * Added `databricks.sdk.service.workspace.GetSecretResponse` dataclass. Service Renames: * Removed `effective_auto_maintenance_flag` field for `databricks.sdk.service.catalog.CatalogInfo`. * Removed `enable_auto_maintenance` field for `databricks.sdk.service.catalog.CatalogInfo`. * Added `effective_predictive_optimization_flag` field for `databricks.sdk.service.catalog.CatalogInfo`. * Added `enable_predictive_optimization` field for `databricks.sdk.service.catalog.CatalogInfo`. * Removed `databricks.sdk.service.catalog.EffectiveAutoMaintenanceFlag` dataclass. * Removed `databricks.sdk.service.catalog.EffectiveAutoMaintenanceFlagInheritedFromType` dataclass. * Removed `databricks.sdk.service.catalog.EnableAutoMaintenance` dataclass. * Removed `effective_auto_maintenance_flag` field for `databricks.sdk.service.catalog.SchemaInfo`. * Removed `enable_auto_maintenance` field for `databricks.sdk.service.catalog.SchemaInfo`. * Added `effective_predictive_optimization_flag` field for `databricks.sdk.service.catalog.SchemaInfo`. * Added `enable_predictive_optimization` field for `databricks.sdk.service.catalog.SchemaInfo`. * Removed `effective_auto_maintenance_flag` field for `databricks.sdk.service.catalog.TableInfo`. * Removed `enable_auto_maintenance` field for `databricks.sdk.service.catalog.TableInfo`. * Added `effective_predictive_optimization_flag` field for `databricks.sdk.service.catalog.TableInfo`. * Added `enable_predictive_optimization` field for `databricks.sdk.service.catalog.TableInfo`. * Added `databricks.sdk.service.catalog.EffectivePredictiveOptimizationFlag` dataclass. * Added `databricks.sdk.service.catalog.EffectivePredictiveOptimizationFlagInheritedFromType` dataclass. * Added `databricks.sdk.service.catalog.EnablePredictiveOptimization` dataclass. OpenAPI SHA: beff621d7b3e1d59244e2e34fc53a496f310e130, Date: 2023-08-17
## Changes This PR adds telemetry through the user agent for DBR usage from the SDK. We use the same mechanism and key as the Python SDK to add this to the user agent (PR: databricks/databricks-sdk-py#287). ## Tests Using unit tests
This PR adds collection of DBR version if used from within Databricks Cluster. This will allow to improve on notebook-native auth.