Databricks Bundles, recently renamed to Declarative Automation Bundles, provides Python support for defining, dynamically creating, and modifying Databricks jobs and pipelines. It extends the core Declarative Automation Bundles functionality, allowing users to apply software engineering best practices like source control, code review, testing, and CI/CD to their data and AI projects. The library is currently at version 0.296.0 and is actively maintained, with a focus on streamlining deployments and enabling programmatic configuration through Python and YAML files, orchestrated via the Databricks CLI.
pip install databricks-bundlesVerified import paths — ran on the pinned version, not inferred.
To get started with Databricks Bundles, first ensure the Databricks CLI is installed and authenticated. Then, initialize a new bundle project using a template, typically `experimental-jobs-as-code` for Python support. Define your Databricks resources (like jobs or pipelines) in `databricks.yml` or dedicated Python files within the bundle structure. Finally, use the CLI commands `databricks bundle validate`, `databricks bundle deploy`, and `databricks bundle run` to manage and execute your project on Databricks.
No breaking changes to existing CLI commands or configurations are expected, but be aware of the new terminology in documentation and communications.
Always make changes in your local bundle project files (Python or YAML) and then `databricks bundle deploy`. For debugging, copy the notebook to a scratch folder outside the bundle path or debug locally.
Explicitly grant all required permissions to the deploying identity (Service Principal for CI/CD, human user for local development). Ensure Unity Catalog objects (catalogs, schemas) exist and have appropriate access controls.
Update bundle configurations to remove explicit `/Workspace` prefixes. Paths should start with `${workspace.root_path}/...` or relative paths within the bundle structure. Validate your bundle to catch warnings.Review and update bundle configurations that rely on implicit fallback paths, ensuring explicit and unambiguous path definitions for all resources and overrides.
Clearly define your target environments in `databricks.yml`, mapping them explicitly to your desired Databricks workspaces and configuration settings. Avoid assumptions about the 'dev' target's behavior.