Skip to main content

Reusable CLI for uploading, submitting, validating, fetching logs, and cleaning Databricks job runs

Project description

databricks-job-runner

PyPI version

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

databricks_job_runner-0.6.2.tar.gz (36.7 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

databricks_job_runner-0.6.2-py3-none-any.whl (46.5 kB view details)

Uploaded Python 3

File details

Details for the file databricks_job_runner-0.6.2.tar.gz.

File metadata

  • Download URL: databricks_job_runner-0.6.2.tar.gz
  • Upload date:
  • Size: 36.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for databricks_job_runner-0.6.2.tar.gz
Algorithm Hash digest
SHA256 ce8a6cf31a5ca319a91181bf947eeaf352f70f64d7d743197e89ac754671afad
MD5 676d60a9fc23fee4d8fab7c78e1865c5
BLAKE2b-256 3576356c4be32c7e858b6d0f3678f17be2d213eec1b4c8f094805cac1ddadce1

See more details on using hashes here.

Provenance

The following attestation bundles were made for databricks_job_runner-0.6.2.tar.gz:

Publisher: publish.yml on neo4j-partners/databricks-job-runner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file databricks_job_runner-0.6.2-py3-none-any.whl.

File metadata

File hashes

Hashes for databricks_job_runner-0.6.2-py3-none-any.whl
Algorithm Hash digest
SHA256 35ff83bc8d8a8a5b06ccfc2300d06a775d4564b959af319f7e9d8236cf47ace2
MD5 e8ffd734ee65fb7c72b0a7a630a46640
BLAKE2b-256 17be996d649afd700532591f5ba25bafbb0df7e9c4c545f80bf2326b6df787f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for databricks_job_runner-0.6.2-py3-none-any.whl:

Publisher: publish.yml on neo4j-partners/databricks-job-runner

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page