Scaffold a dltHub workspace into a new or existing directory.
Project description
dlthub-init (beta)
Scaffold a dltHub workspace into a new or existing directory.
dlthub-init lays down the files of a minimal dltHub workspace — pyproject.toml,
a locked uv.lock, and the .dlt/ configuration — and optionally creates the
virtual environment. That is all it does: it does not log in, run a pipeline, or
install agent toolkits.
Unlike dlthub-start, it is safe to run inside an existing repository. It is
non-destructive by default: it never overwrites your files, and it stops before
writing anything if a generated path would collide with something already there.
Usage
uvx dlthub-init # initialize the current directory
uvx dlthub-init my-workspace # initialize ./my-workspace
After scaffolding, dlthub-init offers to create a virtual environment and
install dependencies with uv.
Options
| Flag | Effect |
|---|---|
--no-sync |
Scaffold files only; do not create a venv or install dependencies. |
--force |
Overwrite existing generated files (never secrets). |
--merge |
Append missing entries to an existing .gitignore instead of skipping it. |
--no-pyproject |
Skip pyproject.toml. |
--no-gitignore |
Skip .gitignore. |
--verbose, -v |
Stream output from uv. |
Collision behavior
dlthub-init is safe to run in an existing directory:
- Missing files are created.
- The run stops only if
.dlt/.workspacealready exists — the directory is already a dltHub workspace (override with--force). - Otherwise existing files are left alone and reported as skipped: your
pyproject.toml,.dlt/config.toml, and.dlt/secrets.tomlare never overwritten, and.gitignoreis skipped (or merged with--merge). uv.lockis written only whenpyproject.tomlis created, so the lockfile always matches the workspace's dependencies.--forceoverwrites the generated files (never secrets).
Development
make dev # install dev dependencies
make lint # ruff + mypy
make test # unit tests
make ci # full local CI
The bundled workspace lives in src/dlthub_init/scaffolds/minimal_workspace.
After editing its pyproject.toml, run make scaffold-lock-upgrade to refresh
the committed uv.lock.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file dlthub_init-0.1.1.tar.gz.
File metadata
- Download URL: dlthub_init-0.1.1.tar.gz
- Upload date:
- Size: 231.3 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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
8949d5119ffc133f8b156d9672525323fb06091bb229565fc831e4477f3de513
|
|
| MD5 |
fe8380429a0d5e624e002192f0f59cf8
|
|
| BLAKE2b-256 |
0f64cf284c53a77d3b921121b64754659761a35c4a743544bf70e48c3cb4388c
|
File details
Details for the file dlthub_init-0.1.1-py3-none-any.whl.
File metadata
- Download URL: dlthub_init-0.1.1-py3-none-any.whl
- Upload date:
- Size: 200.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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
9f6dd7d62025fc748cea2f538763556414fca832bc305e00af7b04fa57dee3d5
|
|
| MD5 |
516b0edb6add0dce0a80aaa3d4446ecb
|
|
| BLAKE2b-256 |
dd316d9452463be8ac4af644e51bc120ca7ebeb05169332ede16aea7b2eb0d61
|