// the find
databricks/databricks-sdk-py
Databricks SDK for Python (Beta)
The official Databricks Python SDK, covering the full REST API surface for workspaces and accounts. Targeted at engineers automating Databricks operations — cluster management, job orchestration, Unity Catalog, Delta Live Tables — from outside a notebook. It's the sanctioned replacement for the older `databricks-cli` and hand-rolled REST calls.
The authentication chain is genuinely well-designed: it tries PAT, OIDC, Azure service principal, GCP credentials in order without you having to think about it, and the `.databrickscfg` profile support means local dev just works. Long-running operations are wrapped in a `Wait` abstraction with configurable timeouts and progress callbacks, so you're not writing your own poll loops for cluster starts or job runs. Pagination is hidden behind `Iterator[T]` uniformly — you don't need to know whether a given endpoint uses offset, cursor, or returns everything at once. The code is generated from the OpenAPI spec (`.codegen.json` is a signal), which means coverage stays in sync with the API and the typed dataclasses are consistent.
Still marked Beta with explicit interface stability warnings — they reserve the right to break things, which is a real concern for production automation scripts. The `dbutils` integration is partial: non-filesystem operations require a live cluster, which means `dbutils.notebook.run()` and similar calls aren't usable from purely local code. The SDK ships no async support; everything is blocking, so if you're building a high-throughput orchestration layer you'll need to thread/process-pool it yourself. Error messages from the API can be inconsistent across services — the error customizer layer (`errors/overrides.py`, `errors/customizer.py`) exists precisely because the underlying APIs don't agree on error shapes, and that complexity leaks through occasionally.