Skip to main content

Apache Airflow scheduler adapter for Datus

Project description

datus-scheduler-airflow

Apache Airflow scheduler adapter for Datus.

Install

pip install datus-scheduler-airflow

Quick Start

from datus_airflow import AirflowSchedulerAdapter
from datus_scheduler_core.config import AirflowConfig
from datus_scheduler_core.models import SchedulerJobPayload

config = AirflowConfig(
    name="airflow_prod",
    type="airflow",
    api_base_url="http://localhost:8080/api/v1",
    username="admin",
    password="admin",
    dags_folder="/opt/airflow/dags",
)

adapter = AirflowSchedulerAdapter(config)
adapter.test_connection()

job = adapter.submit_job(SchedulerJobPayload(
    job_name="daily_report",
    sql="SELECT count(*) FROM orders",
    db_connection={"url": "postgresql://user:pass@host/db"},
    schedule="0 8 * * *",
))
print(job.job_id)

Integration Tests

# Start Airflow (docker-compose lives next to the tests)
cd tests/integration
docker compose up -d
cd ../..

# Run tests (from the workspace root; AIRFLOW_PASSWORD matches
# _AIRFLOW_WWW_USER_PASSWORD in tests/integration/docker-compose.yml)
AIRFLOW_PASSWORD=admin uv run pytest tests/integration/ -v -m integration

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

datus_scheduler_airflow-0.1.2.tar.gz (28.4 kB view details)

Uploaded Source

Built Distribution

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

datus_scheduler_airflow-0.1.2-py3-none-any.whl (15.2 kB view details)

Uploaded Python 3

File details

Details for the file datus_scheduler_airflow-0.1.2.tar.gz.

File metadata

  • Download URL: datus_scheduler_airflow-0.1.2.tar.gz
  • Upload date:
  • Size: 28.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.2.0 CPython/3.12.10

File hashes

Hashes for datus_scheduler_airflow-0.1.2.tar.gz
Algorithm Hash digest
SHA256 b49737596f5b3c989f1b0db082de7206af2e701fb820c0e1933457d2790fbee1
MD5 c29815ee3d0ffb707f84c0369621e608
BLAKE2b-256 2598a0409a052613037c1743469c04be19032ecefa84555247feed1ce0ff2bdf

See more details on using hashes here.

File details

Details for the file datus_scheduler_airflow-0.1.2-py3-none-any.whl.

File metadata

File hashes

Hashes for datus_scheduler_airflow-0.1.2-py3-none-any.whl
Algorithm Hash digest
SHA256 fd27d6e085a03e46eb0ca3897c4f6bac20c6d27e768d05bb486a871f91e6167a
MD5 b1accfd9136c336974432b15e649ddc4
BLAKE2b-256 fdbb6219e429bce12b0d4377341b787cbba8edfea8749324c15f32df11af604b

See more details on using hashes here.

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