Skip to main content

Scaffold a dltHub workspace from the official starter project.

Project description

dlthub-start (beta)

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@latest my-workspace

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

pipx run dlthub-start my-workspace

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@latest my-workspace --yes
cd my-workspace
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@latest <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@latest my-workspace --yes
uvx dlthub-start@latest my-workspace --scaffold minimal_workspace
uvx dlthub-start@latest my-workspace --agent claude --agent codex
uvx dlthub-start@latest my-workspace --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-workspace/
|-- 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-workspace
uv run dlthub run load_breweries
uv run dlthub show

For the minimal scaffold:

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

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

cd my-workspace
uv sync

Troubleshooting

uvx: command not found

Use pipx run dlthub-start my-workspace 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@latest my-workspace --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.2.1.tar.gz (168.4 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.2.1-py3-none-any.whl (192.8 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: dlthub_start-0.2.1.tar.gz
  • Upload date:
  • Size: 168.4 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.2.1.tar.gz
Algorithm Hash digest
SHA256 92571881fa983c532bb36e5b78c42f0301a470f2173d3e9b3aaead48617d8e1b
MD5 07acf47674b71cce6ac0d5bab4cba889
BLAKE2b-256 e62b200ed7b8742a1f0c9fd2c0d55eef3d5955ba6e12b117706f21444ac54c7f

See more details on using hashes here.

File details

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

File metadata

  • Download URL: dlthub_start-0.2.1-py3-none-any.whl
  • Upload date:
  • Size: 192.8 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.2.1-py3-none-any.whl
Algorithm Hash digest
SHA256 1db42cff07d8795f80f18e406aa7eea57abe4871aea91b02d1e3e8a0951aed2c
MD5 b6728f577c346018b2e35b0b627b4020
BLAKE2b-256 575c59583a1d5fc3660eef1cd1f2ebdeec4752c3503acb2406850a7271413f14

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