---
source: crates/ruff_linter/src/rules/airflow/mod.rs
---
AIR301_airflow_plugin.py:7:5: AIR301 `operators` is removed in Airflow 3.0; This extension should just be imported as a regular python module.
  |
5 |     name = "test_plugin"
6 |     # --- Invalid extensions start
7 |     operators = [PluginOperator]
  |     ^^^^^^^^^ AIR301
8 |     sensors = [PluginSensorOperator]
9 |     hooks = [PluginHook]
  |

AIR301_airflow_plugin.py:8:5: AIR301 `sensors` is removed in Airflow 3.0; This extension should just be imported as a regular python module.
   |
 6 |     # --- Invalid extensions start
 7 |     operators = [PluginOperator]
 8 |     sensors = [PluginSensorOperator]
   |     ^^^^^^^ AIR301
 9 |     hooks = [PluginHook]
10 |     executors = [PluginExecutor]
   |

AIR301_airflow_plugin.py:9:5: AIR301 `hooks` is removed in Airflow 3.0; This extension should just be imported as a regular python module.
   |
 7 |     operators = [PluginOperator]
 8 |     sensors = [PluginSensorOperator]
 9 |     hooks = [PluginHook]
   |     ^^^^^ AIR301
10 |     executors = [PluginExecutor]
11 |     # --- Invalid extensions end
   |

AIR301_airflow_plugin.py:10:5: AIR301 `executors` is removed in Airflow 3.0; This extension should just be imported as a regular python module.
   |
 8 |     sensors = [PluginSensorOperator]
 9 |     hooks = [PluginHook]
10 |     executors = [PluginExecutor]
   |     ^^^^^^^^^ AIR301
11 |     # --- Invalid extensions end
12 |     macros = [plugin_macro]
   |
