Skip to content

Put reasonable lower bounds on providers in Airflow's extras #39100

@notatallshaw

Description

@notatallshaw

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

Metadata

Metadata

Assignees

No one assigned

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions