-
Notifications
You must be signed in to change notification settings - Fork 14.2k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Update some dependencies #9684
Update some dependencies #9684
Conversation
Congratulations on your first Pull Request and welcome to the Apache Airflow community! If you have any issues or are unsure about any anything please check our Contribution Guide (https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst)
|
You will need to regenerate requirements if you change those. See https://github.com/apache/airflow/blob/master/CONTRIBUTING.rst#generating-requirement-files (also for python 3.8) |
@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 ? |
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 both 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:
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). |
Awesome work, congrats on your first merged pull request! |
@potiuk Thks for the great answer, I will check in depth both the links and the diff Cheers |
This reverts commit fd62b1c.
Usually changes in deps were coupled with some code changes - that's why we have not seen this problem before. |
No worries, I will manage with a fork for now. |
(cherry picked from commit fd62b1c)
(cherry picked from commit fd62b1c)
(cherry picked from commit fd62b1c)
I had some trouble to install this along some latest version of packages, with Poetry as a dependency manager.
So here is what I needed to change :
Not sure if you guys are concerned with this, but there is some great tools to help manage dependency in Github, such as Renovate.
Else, if I want to try and contribute a bit, where should I start ? :)
Make sure to mark the boxes below before creating PR: [x]
In case of fundamental code change, Airflow Improvement Proposal (AIP) is needed.
In case of a new dependency, check compliance with the ASF 3rd Party License Policy.
In case of backwards incompatible changes please leave a note in UPDATING.md.
Read the Pull Request Guidelines for more information.