A CLI and Python library for integrating Workstream and dbt-core.
This project has been archived.
The maintainers of this project have marked this project as archived. No new releases are expected.
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
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 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
|