Skip to main content

Scaffold a dltHub workspace from the official starter project.

Project description

dlthub-start

Create a ready-to-run dltHub workspace with example pipelines, local uv dependency setup, and bundled dltHub AI workbench files.

Quickstart

uvx is the recommended way to run the CLI:

uvx dlthub-start my-project

If uvx is not available yet, use pipx run instead:

pipx run dlthub-start my-project

The CLI prompts for a scaffold and AI workbench files, checks for uv, offers to install it if needed, offers to run uv sync, and prints next steps.

For a non-interactive setup with the recommended defaults:

uvx dlthub-start my-project --yes
cd my-project
uv run dlthub run load_breweries
uv run dlthub show

Both uvx and pipx run work. If the generated workspace needs uv and it is not installed yet, the CLI will offer to install it for you. If you prefer to install uv yourself, use the official uv installation guide.

What You Get

  • A Python dltHub workspace with project metadata customized to your directory name.
  • A bundled scaffold copied from this package, not downloaded at create time.
  • dltHub AI workbench files for Claude, Cursor, and/or Codex.
  • Shared dltHub AI toolkit files for data exploration, runtime deployment, REST API pipeline work, and transformations.
  • A local DuckDB-backed warehouse configuration for quick first runs.

Usage

uvx dlthub-start <project-dir> [options]

Common options:

Option Description
--yes, -y Use the recommended path: starter scaffold, all AI workbenches, install uv if missing, and run uv sync.
--scaffold starter_workspace Create the full starter workspace. This is the default recommended scaffold.
--scaffold minimal_workspace Create a small workspace with one placeholder pipeline.
--agent claude Include Claude workbench files. Pass --agent more than once to include multiple workbenches.
--agent cursor Include Cursor workbench files.
--agent codex Include Codex workbench files.
--skip-uv-sync Create the scaffold and selected AI files, but stop before installing workspace dependencies.
--verbose, -v Stream output from underlying subprocesses.

Examples:

uvx dlthub-start my-project --yes
uvx dlthub-start my-project --scaffold minimal_workspace
uvx dlthub-start my-project --agent claude --agent codex
uvx dlthub-start my-project --yes --skip-uv-sync

Scaffolds

Scaffold Best For Contents
starter_workspace Exploring the full dltHub workflow quickly. Open Brewery DB ingestion, Ibis transformations, scheduled data quality checks, marimo notebooks, and a generated deployment module.
minimal_workspace Starting from a clean, small project. One placeholder dlt pipeline, local warehouse config, and generated deployment module.

Generated Workspace

The starter scaffold creates a workspace shaped roughly like this:

my-project/
|-- pyproject.toml
|-- uv.lock
|-- starter_pipeline.py
|-- starter_transformations.py
|-- starter_data_quality.py
|-- __deployment__.py
|-- notebooks/
|-- .dlt/
|-- .agents/
|-- .claude/        # when Claude is selected
|-- .cursor/        # when Cursor is selected
`-- .codex/         # when Codex is selected

The minimal scaffold uses pipeline.py instead of the starter example modules.

Next Steps

For the starter scaffold:

cd my-project
uv run dlthub run load_breweries
uv run dlthub show

For the minimal scaffold:

cd my-project
uv run dlthub run load_data
uv run dlthub show

If you created the workspace with --skip-uv-sync, finish setup first:

cd my-project
uv sync

Troubleshooting

uvx: command not found

Use pipx run dlthub-start my-project instead. The CLI will still offer to install uv before syncing the generated workspace dependencies.

Target directory already exists and is not empty

Choose a new directory or empty the existing one. The CLI will not overwrite a non-empty workspace directory.

uv sync fails

Re-run with --verbose to see subprocess output:

uvx dlthub-start my-project --yes --verbose

If the scaffold was created successfully, you can also enter the workspace and run uv sync directly after fixing the underlying dependency or network issue.

Development

For local setup, tests, build commands, make workspace, and AI workbench scaffold regeneration, see CONTRIBUTING.md.

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

dlthub_start-0.1.0.tar.gz (283.1 kB view details)

Uploaded Source

Built Distribution

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

dlthub_start-0.1.0-py3-none-any.whl (320.7 kB view details)

Uploaded Python 3

File details

Details for the file dlthub_start-0.1.0.tar.gz.

File metadata

  • Download URL: dlthub_start-0.1.0.tar.gz
  • Upload date:
  • Size: 283.1 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.14 {"installer":{"name":"uv","version":"0.9.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dlthub_start-0.1.0.tar.gz
Algorithm Hash digest
SHA256 0fbcc0d5683d0e5ba4ec2aa2318d2b1d4e3683ca36e41762f9e44249d5ca4024
MD5 03a3dc33e87e22a945f98f79dcadd218
BLAKE2b-256 a5bb8aa4b5e62fa0f9f7acbd20c953ca26971aef445da711582f5e68589ee2f7

See more details on using hashes here.

File details

Details for the file dlthub_start-0.1.0-py3-none-any.whl.

File metadata

  • Download URL: dlthub_start-0.1.0-py3-none-any.whl
  • Upload date:
  • Size: 320.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: uv/0.9.14 {"installer":{"name":"uv","version":"0.9.14","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"macOS","version":null,"id":null,"libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":null}

File hashes

Hashes for dlthub_start-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 0f2c75e2861fcbff6b3ac8c59f25cdef8f7164bd6a1551f3b6e2b7d911ea2b4f
MD5 ab2d80351f828b4c637cca577f762981
BLAKE2b-256 0378ca71a85fd4a65cc8f1ba94224e7ac661529ec6ea0032169de2987a5baab4

See more details on using hashes here.

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