{"id":20936,"library":"apache-airflow-providers-common-messaging","title":"Apache Airflow Providers Common Messaging","description":"This package provides common messaging utilities for Apache Airflow, including components for building event-driven workflows and integrating with messaging systems like Kafka. Version 2.0.3 supports Python >=3.10. Release cadence is periodic, aligned with Airflow provider releases.","status":"active","version":"2.0.3","language":"python","source_language":"en","source_url":"https://github.com/apache/airflow/tree/main/airflow/providers/common/messaging","tags":["airflow","provider","messaging","kafka","event-driven"],"install":[{"cmd":"pip install apache-airflow-providers-common-messaging","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"Requires Airflow core version 2.10.0 or higher.","package":"apache-airflow","optional":false}],"imports":[{"note":"Wrong: Previously in contrib; moved to providers.common.messaging","wrong":"from airflow.contrib.scheduler import EventDrivenScheduler","symbol":"EventDrivenScheduler","correct":"from airflow.providers.common.messaging.scheduler import EventDrivenScheduler"},{"note":"Wrong: This is a specific context class not in base triggers","wrong":"from airflow.triggers.base import TriggererTaskContext","symbol":"TriggererTaskContext","correct":"from airflow.providers.common.messaging.triggers import TriggererTaskContext"}],"quickstart":{"code":"import os\nfrom airflow import DAG\nfrom airflow.operators.python import PythonOperator\nfrom airflow.providers.common.messaging.scheduler import EventDrivenScheduler\nfrom datetime import datetime\n\n# Define a simple event-driven DAG\nwith DAG(\n    dag_id='event_driven_dag',\n    start_date=datetime(2024, 1, 1),\n    schedule_interval=None,\n    catchup=False,\n) as dag:\n    scheduler = EventDrivenScheduler(\n        task_id='listen_for_event',\n        trigger='kafka',\n        broker=os.environ.get('KAFKA_BROKER', 'localhost:9092'),\n        topic='example_topic',\n    )\n    def process_event(event):\n        print(f\"Received event: {event}\")\n    process = PythonOperator(\n        task_id='process_event',\n        python_callable=process_event,\n        op_args=[scheduler.output],\n    )\n    scheduler >> process","lang":"python","description":"Creates an event-driven DAG that listens to a Kafka topic and processes events."},"warnings":[{"fix":"Update your install command to `pip install apache-airflow-providers-common-messaging` and adjust imports to use `airflow.providers.common.messaging` instead of `airflow.providers.messaging`.","message":"Package renamed from `apache-airflow-providers-messaging` (previously in Airflow 2.9.x) to `apache-airflow-providers-common-messaging` in Airflow 2.10.0.","severity":"breaking","affected_versions":">=2.10.0"},{"fix":"Monitor Airflow changelog. For now, use `EventDrivenScheduler` as documented.","message":"The `EventDrivenScheduler` class may be deprecated in future versions in favor of the new `DAGSchedule` with event-driven triggers.","severity":"deprecated","affected_versions":">=2.0.0"},{"fix":"Check the list of available triggers in the provider documentation. For Kafka, use trigger='kafka' or provide the full module path.","message":"The trigger type must match a registered trigger class; common mistakes: using 'kafka' instead of 'apache_kafka' for the trigger.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Install the correct package: `pip install apache-airflow-providers-common-messaging`. For older Airflow versions (<2.10.0), use `apache-airflow-providers-messaging`.","cause":"The package is not installed or the import path is incorrect because the package was renamed.","error":"ModuleNotFoundError: No module named 'airflow.providers.common.messaging'"},{"fix":"Use `from airflow.providers.common.messaging.scheduler import EventDrivenScheduler`.","cause":"The import path is wrong; the scheduler module is in `airflow.providers.common.messaging.scheduler`.","error":"AttributeError: module 'airflow.providers.common.messaging' has no attribute 'scheduler'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}