This is something I've said a number of times (but possibly never on the list):

I think we should deprecate adding Operators and Hooks via the Airflow plugin 
mechanism.

I think plugins should be reserved for any mechanism that a plain-ol python 
module import won't work for (which is basically anything that needs to tie 
deeply in to the Webserver or Scheduler process).

To that endI think we should deprecate adding operators via plugins:

    from airflow.operators.my_plugin import MyOperator

can become

    from my_plugin import MyOperator

with no impact on functionality.

The same could be said for hooks, with one possible feature addition: Right now 
the list of connection types in the Connections screen is hard-coded. Is it 
possible worth making that dynamic somehow based on the Hook classes that are 
loaded? i.e. adding the ability for hooks added in plguins to add items to that 
list?

-ash

Reply via email to