The Airflow provider for Paradime to run and manage dbt™ jobs in production. The provider enables interaction with Paradime’s Bolt scheduler and management APIs.
Project description
airflow-provider-paradime-dbt
This is the provider for Paradime to run and manage dbt™ jobs in production. The provider enables interaction with Paradime’s Bolt scheduler and management APIs.
Usage
Create a connection
- Generate your API key, secret and endpoint from Paradime Workspace settings.
- Create a connection in Airflow, as shown below.
Create a DAG
Here is one example:
from airflow.decorators import dag
from paradime_dbt_provider.operators.paradime import ParadimeBoltDbtScheduleRunArtifactOperator, ParadimeBoltDbtScheduleRunOperator
from paradime_dbt_provider.sensors.paradime import ParadimeBoltDbtScheduleRunSensor
PARADIME_CONN_ID = "your_paradime_conn_id" # Update this to your connection id
BOLT_SCHEDULE_NAME = "your_schedule_name" # Update this to your schedule name
@dag(
default_args={"conn_id": PARADIME_CONN_ID},
)
def run_schedule_and_download_manifest():
# Run the schedule and return the run id as the xcom return value
task_run_schedule = ParadimeBoltDbtScheduleRunOperator(task_id="run_schedule", schedule_name=BOLT_SCHEDULE_NAME)
# Get the run id from the xcom return value
run_id = "{{ task_instance.xcom_pull(task_ids='run_schedule') }}"
# Wait for the schedule to complete before continuing
task_wait_for_schedule = ParadimeBoltDbtScheduleRunSensor(task_id="wait_for_schedule", run_id=run_id)
# Download the manifest.json file from the schedule run and return the path as the xcom return value
task_download_manifest = ParadimeBoltDbtScheduleRunArtifactOperator(task_id="download_manifest", run_id=run_id, artifact_path="target/manifest.json")
# Get the path to the manifest.json file from the xcom return value
output_path = "{{ task_instance.xcom_pull(task_ids='download_manifest') }}"
task_run_schedule >> task_wait_for_schedule >> task_download_manifest
run_schedule_and_download_manifest()
Refer to the example DAGs in this repository for more examples.
Advanced Configuration
HTTP / HTTPS Proxy
If you need to use a proxy to connect to Paradime's API, you can configure it in the connection on the Airflow UI. You can set the following parameters in the connection:
- Proxy: The URL for your proxy server (e.g.,
http://proxy.example.com:8080).
This setting is optional. If not provided, connections will be made directly without a proxy.
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
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 airflow_provider_paradime_dbt-1.1.0.tar.gz.
File metadata
- Download URL: airflow_provider_paradime_dbt-1.1.0.tar.gz
- Upload date:
- Size: 13.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
c1e5a87c4b344fd0db7823679fd15f78534beb51f5fb33e078715a4129b1441b
|
|
| MD5 |
bcc8780c02c2ee77dc024efb9f2216d4
|
|
| BLAKE2b-256 |
d821f0f7bbf53ed52fdbdbd4c8071ee8b550e570a5460514bae5466435819610
|
Provenance
The following attestation bundles were made for airflow_provider_paradime_dbt-1.1.0.tar.gz:
Publisher:
publish_to_pypi.yml on paradime-io/airflow-provider-paradime-dbt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
airflow_provider_paradime_dbt-1.1.0.tar.gz -
Subject digest:
c1e5a87c4b344fd0db7823679fd15f78534beb51f5fb33e078715a4129b1441b - Sigstore transparency entry: 200752655
- Sigstore integration time:
-
Permalink:
paradime-io/airflow-provider-paradime-dbt@7231edbb20ff4ca19781138e99c8625f1a1af087 -
Branch / Tag:
refs/tags/1.1.0 - Owner: https://github.com/paradime-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_to_pypi.yml@7231edbb20ff4ca19781138e99c8625f1a1af087 -
Trigger Event:
release
-
Statement type:
File details
Details for the file airflow_provider_paradime_dbt-1.1.0-py3-none-any.whl.
File metadata
- Download URL: airflow_provider_paradime_dbt-1.1.0-py3-none-any.whl
- Upload date:
- Size: 17.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via: twine/6.1.0 CPython/3.12.9
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
392f5101f93fdaff866a09d23e1124d263f43e3493fc80c3b372cee58c705603
|
|
| MD5 |
1355578b3cd7afef7087963f4792c24e
|
|
| BLAKE2b-256 |
7af9779e5e9e3929dba929540a6738814020a08c6e85e649f6eaa542bccab5cf
|
Provenance
The following attestation bundles were made for airflow_provider_paradime_dbt-1.1.0-py3-none-any.whl:
Publisher:
publish_to_pypi.yml on paradime-io/airflow-provider-paradime-dbt
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
airflow_provider_paradime_dbt-1.1.0-py3-none-any.whl -
Subject digest:
392f5101f93fdaff866a09d23e1124d263f43e3493fc80c3b372cee58c705603 - Sigstore transparency entry: 200752656
- Sigstore integration time:
-
Permalink:
paradime-io/airflow-provider-paradime-dbt@7231edbb20ff4ca19781138e99c8625f1a1af087 -
Branch / Tag:
refs/tags/1.1.0 - Owner: https://github.com/paradime-io
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
publish_to_pypi.yml@7231edbb20ff4ca19781138e99c8625f1a1af087 -
Trigger Event:
release
-
Statement type: