Skip to main content

airflow-supervisor

Run and monitor supervisord-managed jobs from Apache Airflow.

Build Status codecov License PyPI

Manage a dedicated supervisord instance on an Airflow worker or an SSH host. Define its programs directly in a Python DAG or in airflow-config YAML.

from datetime import datetime, timezone

from airflow import DAG
from airflow_supervisor import ProgramConfiguration, Supervisor, SupervisorAirflowConfiguration

with DAG(
    dag_id="nightly-supervisor",
    schedule="@daily",
    start_date=datetime(2025, 1, 1, tzinfo=timezone.utc),
    catchup=False,
) as dag:
    supervisor = Supervisor(
        dag=dag,
        cfg=SupervisorAirflowConfiguration(
            working_dir="/var/tmp/nightly-supervisor",
            port="127.0.0.1:9001",
            program={"nightly": ProgramConfiguration(command="/bin/sleep 5")},
        ),
    )

The lifecycle writes configuration, starts supervisord and its programs, monitors program state with airflow-ha, and stops and removes the instance on successful completion. SupervisorSSH runs configuration and daemon commands over SSH; program control and checks use the remote XML-RPC endpoint.

Documentation

Start with the tutorial to run a self-contained local job and check its cleanup. For an existing deployment, choose a how-to guide:

Execution Inline Python airflow-config YAML
Local worker Run a local job Configure a local job
SSH host Run a job over SSH Configure an SSH job

The API reference describes configuration fields, defaults, and DAG constraints. Why Airflow delegates process ownership explains worker placement, SSH and XML-RPC, and the Python/YAML configuration choices.

Use the log forwarding and health-check guide to collect program output in task logs and monitor retained services between runs.

Published documentation is available at airflow-laminar.github.io/airflow-supervisor.

Ecosystem

Metadata

Release files for airflow-supervisor 1.12.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for airflow-supervisor 1.12.0
File Size Uploaded Provenance Actions
airflow_supervisor-1.12.0.tar.gz 40.0 kB Without provenance Details for airflow_supervisor-1.12.0.tar.gz

Built distribution (wheel)

Table of built distributions (wheels) for airflow-supervisor 1.12.0
File Interpreter ABI Platform Actions
airflow_supervisor-1.12.0-py3-none-any.whl Python 3 none any Details for airflow_supervisor-1.12.0-py3-none-any.whl

Total release size: 97.2 kB

Release files / airflow_supervisor-1.12.0.tar.gz

Download URL airflow_supervisor-1.12.0.tar.gz
Size 40.0 kB
Tags Source
SHA-256 checksum
How to use checksums
4fbc6823ec7fd68532ba41bdee3aa6911e5a5b9a2935adf446e00e3c4eddc7c2
BLAKE2b-256 checksum
How to use checksums
935aa944257ea6e328db4d70dd1a8247904a0d63d14418fcedce05c0a9a0aa03
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Release files / airflow_supervisor-1.12.0-py3-none-any.whl

Download URL airflow_supervisor-1.12.0-py3-none-any.whl
Size 57.2 kB
Tags Python 3
SHA-256 checksum
How to use checksums
5a60f15803219802df426eeec04ea485b92040e6be09a82999db8c08d7630cdf
BLAKE2b-256 checksum
How to use checksums
3a6ab7dffe0effc5780b46d7180f3c6ed8e2cdbf7892c53269a56165e159c1c0
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.12.15

Security for airflow-supervisor 1.12.0

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

Release history Release notifications | RSS feed

This release

1.12.0 This release

2 release files No provenance

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