Closed nfx closed 2 weeks ago
This PR breaks backwards compatibility for databrickslabs/ucx downstream. See build logs for more details.
Running from downstreams #185
Attention: Patch coverage is 87.50000%
with 3 lines
in your changes missing coverage. Please review.
Project coverage is 57.71%. Comparing base (
f50af60
) to head (4624127
).
Files | Patch % | Lines |
---|---|---|
databricks/sdk/config.py | 87.50% | 3 Missing :warning: |
:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.
Changes
This PR solves three tracking challenges:
Adds consistent mechanism with Go SDK Public API. See https://github.com/databricks/databricks-sdk-go/blob/00b1d09b24aa9fb971bcf23f3db3e80bf2bec6fe/useragent/user_agent.go#L20-L31 and https://github.com/databricks/databricks-sdk-go/blob/00b1d09b24aa9fb971bcf23f3db3e80bf2bec6fe/useragent/user_agent.go#L49-L54
Some of our products, like UCX and Remorph, are used not only as standalone CLI, but also as mid-stream libraries in other products, where developers don't specify product name and product version within the WorkspaceClient. This results in missing tracking information for those integrations.
Mid-stream libraries, like blueprint, pytester, and lsql, do have their own versions, but they don't create manage sdk.WorkspaceClient and/or core.Config themselves, so we currently lack traffic attribution for those libraries. Technically, Databricks Connect falls into the same use-case.
Tests
Moved unit tests that are relevant to User-Agent verification from test_core.py to test_config.py to bring back consistency.