v1.5.0 — Asset Library framework
Highlights
This release introduces the Asset Library, a new way to install individual Databricks artifacts into any bundle on demand, plus the first asset shipping with it: sdp-checkpoint-recovery. Existing users see no change to the core databricks bundle init flow.
What's new
Asset Library framework
Standalone sub-templates under assets/<name>/, installable into any existing Databricks bundle:
databricks bundle init https://github.com/vmariiechko/databricks-bundle-template \
--template-dir assets/<asset-name>Each asset is self-contained (own schema, own README, own tests) and composes additively. The CLI errors cleanly on file collisions; assets never modify existing files.
- End-user catalog: ASSETS.md
- Authoring walkthrough and seven framework rules: CONTRIBUTING.md — Adding an Asset
- Design rationale: ARCHITECTURE.md §8 and DEVELOPMENT.md Design Decision #15
First asset: sdp-checkpoint-recovery
Recovers a Lakeflow Spark Declarative Pipeline from DIFFERENT_DELTA_TABLE_READ_BY_STREAMING_SOURCE after a source table has been dropped and recreated, without clearing target table data. Two scripts ship together:
sdp_reset_checkpoint_local.py— runs from your machine via the Databricks CLI profile chain. Supports--dry-run(mapped tovalidate_only=True) and validates flow FQN format locally before any API call.sdp_reset_checkpoint_workspace.py— uploads as a Databricks notebook. Parametrized withdbutils.widgetsforpipeline_id,flows, anddry_run.
Both scripts try the native SDK signature (databricks-sdk>=0.100) and fall back to a raw REST call via WorkspaceClient.api_client.do on older runtimes (notably Databricks Runtime serverless, which bundles its own SDK).
Documentation and tooling
- Pipeline terminology corrected to "Lakeflow Spark Declarative Pipelines" / "SDP" across all generated docs and template content. Outdated "LDP" / "Lakeflow Declarative Pipelines" usages replaced; relevant
docs.databricks.comURLs updated. - PR and issue templates updated to recognize asset-related changes.
- Ruff configuration added to
pyproject.tomlwith Google docstring convention and a curated rule set.
Upgrade
No action required. The default databricks bundle init <repo> flow is unchanged. To install an asset, use --template-dir assets/<name> against your existing bundle root.
Breaking changes
None.