potiuk commented on PR #35360:
URL: https://github.com/apache/airflow/pull/35360#issuecomment-1789737980

   See my follow-up in 
https://github.com/apache/airflow/discussions/31974#discussioncomment-6203057
   
   My point is not that DAG should be final, but when you extend it you need to 
understand what you are doing. `dag.py` has 4000+ lines and there is quite a 
bit of dark-python-magic in. Simply the thought that you can extend DAG without 
understanding how it all works (with decorators using it, mapped tasks, 
metaclass handing apply_defaults, 9 dunder methods, SerializedDAG extending 
from it and plenty of other things you see when you open `dag.py` file is well, 
SCARY.
   
   You don't extend such huge class with metaclasses, about 150 metods, 9 
dunder methods without REALLY knowing what you are doing.
   
   And the user seem to be complaining that we have no documentation that 
explains that. So yes, while I think maybe a documentation is needed, the I 
think the users should contribute it - those who want to extend it, have a good 
reason and explain the use case and implement it (maybe with our help) AND 
CONTRIBUTE THE DOCS BACK. 
   
   I don't think WE (maybe @hussein-awala who did it as a user is) should be 
doing it - because this should really come from the needs of our users on how 
they are extending it.  As maintainers - if we have not foreseen the ways DAG 
can be extended , then it means it is not meant to be extended. But if our 
users have a need and do it and achieve something good with it - it's cool if 
they contribute it back (which BTW we might find as a good idea to not document 
but incorporate in our DAG implementation). 
   
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: commits-unsubscr...@airflow.apache.org

For queries about this service, please contact Infrastructure at:
us...@infra.apache.org

Reply via email to