Installation¶
datapatchbay is one Python package with one command, dpb. It needs Python 3.12 or newer and has three dependencies: Pydantic, Typer and ruamel.yaml.
It is not on PyPI yet, so every way of installing it below reads from GitHub.
Install the command¶
With uv, install dpb as a tool. It gets its own environment, and the command is on your PATH:
uv tool install git+https://github.com/datapatchbay/patchbay
Check that it works:
$ dpb --help
Other ways¶
- Run it once without installing it
uvx --from git+https://github.com/datapatchbay/patchbay dpb validate
- Add it to a project
A repo that already has a
pyproject.tomlcan list datapatchbay as a development dependency. The lock file then holds the exact commit, so CI and every engineer run the samedpb.uv add --dev git+https://github.com/datapatchbay/patchbay uv run dpb validate
- Install it with pip
pip install git+https://github.com/datapatchbay/patchbay
What you do not need¶
dpb reads YAML and writes files. It never connects to the warehouse or to the orchestrator. On the machine where you run dpb, you need no Airflow, no database driver and no credentials. You need dbt only when tables are built by dbt: dpb validate then reads the manifest that dbt parse writes.
What the orchestrator needs¶
The generated DAG files do not import datapatchbay, so do not install it on Airflow. They need Airflow 3 and these provider packages:
Package |
Needed for |
|---|---|
|
The audits, views and grants |
The provider of your warehouse, such as |
The connection that runs them |
|
Tables with |
|
Tables with |
A data product with tables built by dbt also needs the dbt command on the worker. See dbt on the worker.
Upgrade¶
Install again from GitHub to get the newest commit:
uv tool install --reinstall git+https://github.com/datapatchbay/patchbay
After an upgrade:
Run
dpb upgrade. It rewrites your files when the schema version changed, and says so when there is nothing to do.Save the JSON Schemas again if your editor uses them. See Set up your editor.
Uninstall¶
uv tool uninstall datapatchbay
The generated files keep working without datapatchbay, because they do not import it.
Next¶
Follow the tutorial to create your first data product.