potiuk commented on pull request #10153:
URL: https://github.com/apache/airflow/pull/10153#issuecomment-691054773


   Yeah. This is unfortunate, but I think not for the "TYPE_CHECKING" problem 
but because of internal architecture of our "core" which is overcomplicated. 
Unfortunately, we still have those cyclic dependencies (not cyclic imports 
really - the name in Pylint is a bit misleading) we have in the project. 
   
   IMHO,  while "technically" those cyclic imports are not triggered in our 
service (because of the sequence in which classes are usually imported when 
airflow starts), they make the whole "core" part of airflow much more complex 
than it should be and difficult to reason about (and difficult to static 
check).  The single-responsibility principle is not followed still in quite a 
few classes and it's actually quite difficult to disentangle those (I tried 
several times and others two and so far it causes a chain reaction of changes 
that makes it rather difficult.
   
   I am going to make some more attempts looking at that (hopefully before 2.0 
or while preparing some of the release candidates).


----------------------------------------------------------------
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.

For queries about this service, please contact Infrastructure at:
[email protected]


Reply via email to