On Thu, Aug 1, 2019 at 1:33 PM Chen Tong <cix...@gmail.com> wrote: > It is sometimes hard to distinguish if it is a library or an application. > Take operator as an example, a non-tech people may think it as a well-built > application while an engineer may consider it as a library and extends > functionalities on it. >
Yeah, I agree. Personally, I would consider operator to be a library due to the expectation that other people will import them in their own projects/source tree. For things like REST endpoint handlers and perhaps scheduler, it seems safe to assume all changes and improvements will happen within Airflow source tree. In that case, it's safe to classify that part of code as application and freeze all its dependencies. The current plugin system might make this slightly complicated because people can still extend the core with custom code. But again, in an ideal world, plugins should be self-contained and communicating with core through a well defined interface ;)