databricks-job-runner
Reusable CLI for uploading, submitting, and cleaning Databricks job runs.
databricks-job-runner wraps the
Databricks Python SDK
into a small library that each project configures with a Runner instance.
One Runner gives you nine CLI subcommands (upload, download, submit,
validate, logs, clean, catalog, schema, volume) without writing any
Databricks API code in your project.
Install
uv add databricks-job-runner
Or with pip:
pip install databricks-job-runner
Quick start
databricks-job-runner is a library, not a standalone CLI. There is no
__main__ in this repo. Each project wires one Runner.
Create a cli/ package with two files:
cli/__init__.py
from databricks_job_runner import Runner
runner = Runner(
run_name_prefix="my_project",
wheel_package="my_package", # optional
)
cli/__main__.py
from cli import runner
runner.main()
Add a .env to your project root with at least:
DATABRICKS_PROFILE=my-profile
DATABRICKS_CLUSTER_ID=0123-456789-abcdef
DATABRICKS_WORKSPACE_DIR=/Users/you@example.com/my_project
Then run the core lifecycle from your project root:
uv run python -m cli upload --all # upload agent_modules/
uv run python -m cli submit test_hello.py # submit a job and wait
uv run python -m cli logs # stdout/stderr from the last run
uv run python -m cli clean --yes # tear down
.env + cli/ -> upload -> submit -> (Databricks run) -> logs -> clean
| | |
workspace/ one-shot tail 5MB
agent_modules SubmitRun stdout/err
Documentation
| Page | What it covers |
|---|---|
| Getting started | Install, project-layout contract, first job end to end, architecture overview. |
| Configuration | Every .env key, precedence, compute modes, parameter injection, inject_params. |
| Workflows | Common workflows with diagrams: classic vs serverless, wheels, data, Unity Catalog. |
| Command reference | Every subcommand, flag, and positional argument. |
| Bootstrap-from-Volume | Run-startup wheel install, BootstrapConfig, per-run isolation. |
| Preflight hooks | Fail-fast compute checks before submit/validate, cluster-library helpers. |
| API reference | Runner, RunnerConfig, Compute, inject_params, RunnerError. |
| Examples and smoke tests | The two runnable example projects and the serverless test matrix. |
| Releasing | PyPI tag-based release flow. |
Requirements
- Python 3.12+
- Databricks authentication: a
Databricks CLI profile,
env vars (
DATABRICKS_HOST/DATABRICKS_TOKEN), or any other unified-auth method - Either a Databricks all-purpose cluster (auto-started if terminated) or serverless compute enabled for the workspace
- uv (for wheel building only)
Metadata
Release files for databricks-job-runner 0.6.2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| databricks_job_runner-0.6.2.tar.gz | 36.7 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| databricks_job_runner-0.6.2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 83.2 kB
Release files / databricks_job_runner-0.6.2.tar.gz
| Download URL | databricks_job_runner-0.6.2.tar.gz |
|---|---|
| Size | 36.7 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
ce8a6cf31a5ca319a91181bf947eeaf352f70f64d7d743197e89ac754671afad
|
|
BLAKE2b-256 checksum How to use checksums |
3576356c4be32c7e858b6d0f3678f17be2d213eec1b4c8f094805cac1ddadce1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 17, 2026.
Transparency logRelease files / databricks_job_runner-0.6.2-py3-none-any.whl
| Download URL | databricks_job_runner-0.6.2-py3-none-any.whl |
|---|---|
| Size | 46.5 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
35ff83bc8d8a8a5b06ccfc2300d06a775d4564b959af319f7e9d8236cf47ace2
|
|
BLAKE2b-256 checksum How to use checksums |
17be996d649afd700532591f5ba25bafbb0df7e9c4c545f80bf2326b6df787f1
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
Yes |
| Uploaded via |
twine/6.1.0 CPython/3.13.13
|
Provenance
Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.
PyPI Publish Attestation
PyPI verified that this artifact, at this checksum, originated from the publisher listed below.
Signed by GitHub Actions, verified by PyPI on May 17, 2026.
Transparency log