A CLI and Python library for integrating Workstream and dbt-core.
Project description
workstream-dbt-core
A CLI and Python library for integrating dbt-core and Workstream.
Installation
pip install workstream-dbt-core
Usage
Installing this package installs a CLI app. You can learn about its commands and options using:
workstream --help
Reporting a dbt Invocation
Report a dbt-core invocation to Workstream by posting artifacts from dbt's target
directory
to the Workstream API. The CLI defaults to searching for a directory named target
in the
current working directory, but this is configurable with the --target-path
or -t
option.
workstream report -t /path/to/dbt/target --client-id abc123 --client-secret xyz987
Exit Codes
By default, workstream report
will always exit with a 0 code, even if it encounters critical errors, so that it doesn't interrupt later steps in your pipeline.
However, if you rely on dbt failures to cause workflow failures, this may not work for you. If you would like workstream report
to exit with a nonzero code when dbt runs, tests, or sources fail, you can run it with the --exit-nonzero
option:
dbt test || true
workstream report --exit-nonzero
Environment Variables
All CLI options can also be set using environment variables. Vars start with the prefix WORKSTREAM_DBT_
and then share their name with their associated option. The following command is equivalent to the previous one:
WORKSTREAM_DBT_TARGET_PATH="/path/to/dbt/target" WORKSTREAM_DBT_CLIENT_ID="abc123" WORKSTREAM_DBT_CLIENT_SECRET="xyz987" workstream report
Contributing
This project is built with Poetry. After cloning, install with:
poetry install
Then spawn a subshell with a virtual environment activated:
poetry shell
Testing and Linting
This project uses pytest and ruff. With poetry shell
activated, run tests with:
pytest
Format and lint with:
ruff format
ruff . --fix
or if you have make, lint and test with:
make
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
File details
Details for the file workstream_dbt_core-0.2.0.tar.gz
.
File metadata
- Download URL: workstream_dbt_core-0.2.0.tar.gz
- Upload date:
- Size: 6.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.10.13 Linux/6.5.0-1015-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 66237b8c71d1df648a4d68911cae5c23e9e9ea01a93cc0194b52bd4a73a0bbee |
|
MD5 | d0f3cf8a42dc3956006b801bc7b70611 |
|
BLAKE2b-256 | 57bc59819f202caeba5599da370c47f0c6cb0f2156c875c97f8d8438d55c4bb3 |
File details
Details for the file workstream_dbt_core-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: workstream_dbt_core-0.2.0-py3-none-any.whl
- Upload date:
- Size: 8.0 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/1.7.1 CPython/3.10.13 Linux/6.5.0-1015-azure
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | c4d3f52465c5ebd18abce39dd8dcaa0e0b5ccbdeb9e22e01b6e141da52c0bf3a |
|
MD5 | db3a52b24cb2cb837158579fbc00310c |
|
BLAKE2b-256 | 62a8d46265a631e8cf63fe3664ab90676ce3093d7d88722be37599ccb2ac7eb5 |