-
Notifications
You must be signed in to change notification settings - Fork 16k
Description
Description
Airflow should set lower bounds on the providers it specifies by extras.
Use case/motivation
Airflow provides a number of extras that point to providers, e.g. apache-beam points to the provider apache-airflow-providers-apache-beam , but in the metadata it does this completely unbounded:
Provides-Extra: apache-beam
Requires-Dist: apache-airflow-providers-apache-beam; (python_version != "3.12") and extra == 'apache-beam'
This leads to the problem that dependency resolution tools might backtrack to apache-airflow-providers-apache-beam==1.0.0 when trying to find solutions, which can cause resolution failures, e.g. astral-sh/uv#3078
I don't think the lower bounds need to even be particularly strong, just avoid letting resolution tools attempt extremely old versions of providers that are known to be problematic in some sense. In this example putting a lower bound of apache-airflow-providers-apache-beam>=2.0.0 would solve this issue.
Related issues
No response
Are you willing to submit a PR?
- Yes I am willing to submit a PR!
Code of Conduct
- I agree to follow this project's Code of Conduct