Skip to main content

airflow-provider-skaledata

SkaleData's Airflow extensions. Pre-installed in ghcr.io/skaledata/airflow — if you're using the SkaleData base image you don't need to do anything.

If you're running your own Airflow image:

pip install airflow-provider-skaledata

The PyPI distribution is airflow-provider-skaledata (matches the Apache community-provider naming convention). Imports live under the skale.providers.* namespace.

Namespace

Mirrors Airflow's own provider layout (airflow.providers.<name>.{hooks,operators,triggers}.<name>) under skale.providers.*:

from skale.providers.airbyte.hooks.airbyte import AirbyteHook
from skale.providers.airbyte.operators.airbyte import AirbyteTriggerSyncOperator
from skale.providers.airbyte.sensors.airbyte import AirbyteJobSensor
from skale.providers.airbyte.triggers.airbyte import AirbyteSyncTrigger

Subsequent SkaleData providers (skale.providers.<other>...) slot in here.

What's in it today

skale.providers.airbyte — bearer-auth shim for managed Airbyte

Drop-in replacements for the upstream Airbyte provider's hook, operator, sensor, and trigger that authenticate via a static bearer token (your SkaleData sdk_* API key) instead of the upstream OAuth2 /applications/token flow.

SkaleData ships its managed Airbyte with global.auth.enabled: false. The Caddy ingress in front of Airbyte validates the API key at the edge, so the standard apache-airflow-providers-airbyte connector — which only supports OAuth2 client credentials or no-auth — can't talk to it.

Airflow connection setup

Field Value
Conn Type Airbyte
Host https://<cluster>.skaledata.run/api/public/v1/
Password (client secret) sdk_... (your SkaleData API key)
Login / Token URL leave blank

DAG usage

from datetime import datetime
from airflow.decorators import dag
from skale.providers.airbyte.operators.airbyte import AirbyteTriggerSyncOperator


@dag(start_date=datetime(2026, 1, 1), schedule=None, catchup=False)
def run_airbyte_sync():
    AirbyteTriggerSyncOperator(
        task_id="sync_postgres_to_warehouse",
        airbyte_conn_id="airbyte_default",
        connection_id="<your-airbyte-connection-uuid>",
        deferrable=True,
    )


run_airbyte_sync()

AirbyteTriggerSyncOperator is a drop-in for the upstream AirbyteTriggerSyncOperator — same arguments, same async/deferrable semantics.

Asynchronous (idempotent) usage

With asynchronous=True the operator returns the Airbyte job id immediately and AirbyteJobSensor waits on it as a separate task. Because the submit and the wait are split, a sensor retry re-checks the existing job instead of kicking off a duplicate sync — mirroring the upstream async example:

from datetime import datetime
from airflow.decorators import dag
from skale.providers.airbyte.operators.airbyte import AirbyteTriggerSyncOperator
from skale.providers.airbyte.sensors.airbyte import AirbyteJobSensor


@dag(start_date=datetime(2026, 1, 1), schedule=None, catchup=False)
def run_airbyte_sync_async():
    trigger_sync = AirbyteTriggerSyncOperator(
        task_id="trigger_airbyte_sync",
        airbyte_conn_id="airbyte_default",
        connection_id="<your-airbyte-connection-uuid>",
        asynchronous=True,
    )
    wait_for_sync = AirbyteJobSensor(
        task_id="wait_for_airbyte_sync",
        airbyte_conn_id="airbyte_default",
        airbyte_job_id=trigger_sync.output,
        deferrable=True,
    )
    trigger_sync >> wait_for_sync


run_airbyte_sync_async()

AirbyteJobSensor supports both poke mode (default) and deferrable=True, same as upstream.

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_skaledata-0.6.0.tar.gz (12.0 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_skaledata-0.6.0-py3-none-any.whl (13.7 kB view details)

Uploaded Python 3

File details

Details for the file airflow_provider_skaledata-0.6.0.tar.gz.

File metadata

File hashes

Hashes for airflow_provider_skaledata-0.6.0.tar.gz
Algorithm Hash digest
SHA256 622d0acc9b1217d087f016ea8068d3d111f2874975edd8ca13e0e8f1024495e1
MD5 c99816bb19d1edc20795c0ccef56bf93
BLAKE2b-256 7c8bb2896df313e921db07a49890260061a1d36e7fab70e1447f28bfee648ea8

See more details on using hashes here.

Provenance

The following attestation bundles were made for airflow_provider_skaledata-0.6.0.tar.gz:

Publisher: release.yml on skaledata/airflow-base

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

File metadata

File hashes

Hashes for airflow_provider_skaledata-0.6.0-py3-none-any.whl
Algorithm Hash digest
SHA256 987faad69f4a28d44b18f7294bc81b2cd995d36b233d4f4033e50a7faeab1a0b
MD5 a32ea12f3340a76d4ead6a9945d26d7d
BLAKE2b-256 7377d40bd30e362ca379f39270d5cbea3037e1b1310ed81fc6243472d7280707

See more details on using hashes here.

Provenance

The following attestation bundles were made for airflow_provider_skaledata-0.6.0-py3-none-any.whl:

Publisher: release.yml on skaledata/airflow-base

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

Release history Release notifications | RSS feed

This release

0.6.0 This release

2 files

0.4.1

2 files

0.4.0

2 files

0.3.0

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page