potiuk commented on pull request #9684: URL: https://github.com/apache/airflow/pull/9684#issuecomment-654163965
> @potiuk I made the update. > > Not sure why I had to do this though, isn't is possible to declare depencies in a pyproject.toml with python version ^3.6 ? > Wouldn'it do the same ? It is explained few paragraphs above: https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#airflow-dependencies Airflow is not a standard project - it's bot an "application" (for people installing it) and "library" (for people writing DAGs). Usually applications have pinned dependencies and libraries have dependencies as opened as possible. This article is one of many that explains why: http://blog.chrisgorgolewski.org/2017/12/to-pin-or-not-to-pin-dependencies.html . Since we are a bit of both. We had to come up with a clever handling of deps: * In setup.py we have as open deps as possible so that you can upgrade to newer version of depended library when it is released so that you can develop DAGs using latest compatible versions of libraries * In "requirements.txt" we keep the pinned requirement file that you can use as --constraint when installing airflow as "application" (via pip install) (see INSTALL for recommended way of installing airflow). The "Genereate requirements" process is our way to keep the pinned dependencies updated regularly and our test suite makes sure that when you generated a new dependencies, those are used during tests and we know that those new dependencies did not break airflow (if we find that they do, we either fix it or limit versions in setup.py - it happened many time in the past that we experienced this problem). There are subtle differences between different python versions for those - you can compare those generated deps. - that's why have separate constraint file for each version of python. I hope that explains why our process is a bit complex than with a regular library or application (yes, I'd love to use poetry for that but poetry does not support this application <> library dualism we have). ---------------------------------------------------------------- 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]
