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.3.tar.gz (31.7 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.3-py3-none-any.whl (17.3 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: datus_scheduler_airflow-0.1.3.tar.gz
  • Upload date:
  • Size: 31.7 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.3.tar.gz
Algorithm Hash digest
SHA256 9a284d7f0a01f23945ed9970673af137587b1bf2f8ddf3eccffd439f5debe936
MD5 0db7c841942ab401c03e3b7609a144cf
BLAKE2b-256 6856b460d679c5ff2a79a5435d273a23a90931a01ccd569af473ee006ad6ce4e

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for datus_scheduler_airflow-0.1.3-py3-none-any.whl
Algorithm Hash digest
SHA256 461c6359831506059bba64adf4000c2b9327676e59d1b46987e02471f595b38d
MD5 36bb5ee706a0c038f378066983c09b9d
BLAKE2b-256 23ef680b7f900f40e8fbfa8ee5ac83d749ad908a3f97e10f99ead7ce8db4fbdd

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