CLI

Every lhp command and its options, generated directly from the command-line interface. Run lhp <command> --help for the same information in your terminal.

Note

The dependency-analysis command is lhp dag. The former name lhp deps still works as a hidden, deprecated alias that prints a migration notice — use lhp dag. Only current commands appear below.

lhp

LakehousePlumber — generate Lakeflow pipelines from YAML configs.

Usage

lhp [OPTIONS] COMMAND [ARGS]...

Options

--version

Show the LHP version and exit.

-v, --verbose

Increase console log verbosity (repeatable). Does not affect output.

--log-file

Write a detailed DEBUG log to .lhp/logs/lhp.log (off by default).

--no-progress

Disable live progress displays for commands that show one.

dag

Analyze pipeline dependencies and write dependency outputs.

Usage

lhp dag [OPTIONS]

Options

--max-workers <max_workers>

Max worker processes (default ~80%% of CPUs; 1 = sequential).

--no-cache

Disable the persistent parse cache for this run.

--format <output_format>
-o, --output <output_dir>
-b, --bundle-output
-j, --job-name <job_name>
-jc, --job-config <job_config>
--trust-depends-on

Treat a non-empty depends_on as the action’s authoritative source set: skip SQL/Python body extraction for it (fast path for fully-declared projects).

--blueprint <blueprint>
-p, --pipeline <pipeline>

Restrict the analysis to one pipeline.

diff

Show what lhp generate --env ENV would change on disk.

Plans every flowgroup (writing nothing), compares the planned files to the on-disk generated/<ENV> tree, and prints one ~ / + / - line per changed path. With --exit-code a non-empty diff exits 1.

Usage

lhp diff [OPTIONS]

Options

-e, --env <env>

Environment to diff.

Default:

'dev'

-s, --show-details

Show a unified diff per file.

--no-progress

Disable the live progress display.

--include-tests

Include generated test hooks.

-p, --pipeline <pipeline>

Diff only this pipeline.

--exit-code

Exit non-zero on a non-empty diff.

generate

Generate Databricks pipeline code for ENV from the project’s flowgroups.

Usage

lhp generate [OPTIONS]

Options

-e, --env <env>

Required Target environment.

-s, --show-details

Show the per-pipeline completion trail and expand failures to panels.

--strict

Treat warnings as failures.

--no-progress

Disable the live display.

--no-bundle

Skip Asset Bundle sync.

--include-tests

Include test actions.

--no-format

Skip code formatting.

-p, --pipeline <pipeline>

Only the named pipeline.

--sandbox

Developer sandbox mode: generate only the pipelines in your .lhp/profile.yaml scope, renaming the tables they produce into your namespace (reads of shared tables outside your scope are untouched).

-o, --output <output>

Output dir override.

-pc, --pipeline-config <pipeline_config>

pipeline_config.yaml.

--max-workers <max_workers>

Max parallel workers.

--no-cache

Disable the persistent parse cache.

init

Initialize a new LakehousePlumber project in the current directory.

NAME is baked into template substitutions (bundle name, lhp.yaml). All files are created in the current working directory.

Usage

lhp init [OPTIONS] NAME

Options

--no-bundle

Skip Databricks Asset Bundle setup (bundle is enabled by default).

--sample

Scaffold the TPC-H sample quickstart project — a ready-to-run Lakeflow Spark Declarative Pipelines demo. Requires bundle support (incompatible with –no-bundle).

--no-git

Skip git repository initialization (applies to –sample only).

Arguments

NAME

Required argument

inspect-wheel

Inspect (or extract from) a built pipeline wheel given by SELECTOR.

SELECTOR is either a wheel path (*.whl / a path with a separator) or a pipeline name; a pipeline name requires -e/--env. With --extract the wheel’s .py modules are written to disk; otherwise they are listed.

Usage

lhp inspect-wheel [OPTIONS] SELECTOR

Options

-e, --env <env>

Environment whose built wheel to inspect (required in pipeline-mode).

--extract <extract_dir>

Extract the wheel’s .py modules into this directory instead of listing.

Arguments

SELECTOR

Required argument

list

List project presets, templates, and blueprints.

Usage

lhp list [OPTIONS] COMMAND [ARGS]...

blueprints

List blueprints; with --instances show per-instance pipelines.

Usage

lhp list blueprints [OPTIONS]

Options

--instances

Show each blueprint’s instances and the pipelines they produce.

presets

List presets declared under the project’s presets/ directory.

Usage

lhp list presets [OPTIONS]

templates

List templates declared under the project’s templates/ directory.

Usage

lhp list templates [OPTIONS]

skill

Manage the LHP Claude Code skill.

Usage

lhp skill [OPTIONS] COMMAND [ARGS]...

install

Install the skill into the Claude config.

Usage

lhp skill install [OPTIONS]

Options

--user

Target ~/.claude/ not cwd.

--force

Overwrite an existing install.

status

Report the install state of the skill.

Usage

lhp skill status [OPTIONS]

Options

--user

Target ~/.claude/ not cwd.

uninstall

Remove the skill install.

Usage

lhp skill uninstall [OPTIONS]

Options

--user

Target ~/.claude/ not cwd.

--force

Skip the confirmation prompt.

update

Refresh an install to the current LHP version.

Usage

lhp skill update [OPTIONS]

Options

--user

Target ~/.claude/ not cwd.

--yes

Skip the downgrade prompt.

substitutions

Show the resolved substitution tokens for ENV.

Lists every ${token} mapping (with nested maps rendered as trees), the observed ${secret:scope/key} references, and the default secret scope. A missing substitutions/<env>.yaml is not an error — an empty context is reported instead.

Usage

lhp substitutions [OPTIONS]

Options

-e, --env <env>

Environment whose substitution tokens to resolve.

Default:

'dev'

validate

Validate pipeline configurations for ENV.

Usage

lhp validate [OPTIONS]

Options

-e, --env <env>

Target environment.

Default:

'dev'

-s, --show-details

Show the per-pipeline completion trail and expand failures into panels.

--strict

Treat warnings as failures.

--no-progress

Disable the live progress display.

--no-bundle

Disable bundle support.

--include-tests

Include test actions in validation.

-p, --pipeline <pipeline>

Validate a single pipeline only.

--sandbox

Developer sandbox mode: validate only the pipelines in your .lhp/profile.yaml scope, renaming the tables they produce into your namespace (reads of shared tables outside your scope are untouched).

-pc, --pipeline-config <pipeline_config>

Custom pipeline config path.

--max-workers <max_workers>

Max worker processes (default ~80%% of CPUs; 1 = sequential).

--no-cache

Disable the persistent parse cache.

web

Launch the Lakehouse Plumber local web IDE for the current project.

Starts a FastAPI backend (served via uvicorn) bound to 127.0.0.1 — the IDE is loopback-only and never exposed beyond this machine. Access is protected by a per-session token embedded in the URL fragment. Requires the optional webapp extra: pip install lakehouse-plumber[webapp].

Configuration is passed to the server through LHP_WEBAPP_* environment variables, so --reload works across uvicorn’s worker reloads.

With --allow-empty the IDE also starts outside an initialized project and serves the in-app init wizard instead of the project view.

Usage

lhp web [OPTIONS]

Options

--port <port>

Port to bind the local web IDE on (host is pinned to 127.0.0.1).

Default:

8000

--no-open

Do not open a browser window automatically on startup.

--reload

Reload the server on code changes (development convenience).

--allow-empty

Launch even when the current directory is not an initialized LHP project (enables the in-app init wizard).