Skip to main content

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

Paradime

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

  1. Generate your API key, secret and endpoint from Paradime Workspace settings.
  2. Create a connection in Airflow, as shown below. Create a connection

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

airflow_provider_paradime_dbt-1.3.0.tar.gz (15.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

airflow_provider_paradime_dbt-1.3.0-py3-none-any.whl (20.1 kB view details)

Uploaded Python 3

File details

Details for the file airflow_provider_paradime_dbt-1.3.0.tar.gz.

File metadata

File hashes

Hashes for airflow_provider_paradime_dbt-1.3.0.tar.gz
Algorithm Hash digest
SHA256 3dce1b48372861e77d6b7de15a6c1102a0c1692d1ae793b754383833b8ed995e
MD5 76a3ee0ee02d0bb5808fcd287effce84
BLAKE2b-256 51a3cc5781f044e75a27bd93d8108439f11e7a5303bf33f43a6ac371be6806f1

See more details on using hashes here.

Provenance

The following attestation bundles were made for airflow_provider_paradime_dbt-1.3.0.tar.gz:

Publisher: publish_to_pypi.yml on paradime-io/airflow-provider-paradime-dbt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file airflow_provider_paradime_dbt-1.3.0-py3-none-any.whl.

File metadata

File hashes

Hashes for airflow_provider_paradime_dbt-1.3.0-py3-none-any.whl
Algorithm Hash digest
SHA256 05b08c17dbdd373c0250f6f248ab588235f2758075692084cbf10b9ca032283e
MD5 a23698a129d2b7fe9c4e3876d5813f7f
BLAKE2b-256 78a80446594238b46ea245643a7d4d4e347478508cd551a45e5bc4657e4a2ffc

See more details on using hashes here.

Provenance

The following attestation bundles were made for airflow_provider_paradime_dbt-1.3.0-py3-none-any.whl:

Publisher: publish_to_pypi.yml on paradime-io/airflow-provider-paradime-dbt

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page