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.1.0.tar.gz (13.8 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.1.0-py3-none-any.whl (17.5 kB view details)

Uploaded Python 3

File details

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

File metadata

File hashes

Hashes for airflow_provider_paradime_dbt-1.1.0.tar.gz
Algorithm Hash digest
SHA256 c1e5a87c4b344fd0db7823679fd15f78534beb51f5fb33e078715a4129b1441b
MD5 bcc8780c02c2ee77dc024efb9f2216d4
BLAKE2b-256 d821f0f7bbf53ed52fdbdbd4c8071ee8b550e570a5460514bae5466435819610

See more details on using hashes here.

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

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.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for airflow_provider_paradime_dbt-1.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 392f5101f93fdaff866a09d23e1124d263f43e3493fc80c3b372cee58c705603
MD5 1355578b3cd7afef7087963f4792c24e
BLAKE2b-256 7af9779e5e9e3929dba929540a6738814020a08c6e85e649f6eaa542bccab5cf

See more details on using hashes here.

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

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