For OpenLineage we'd definitely like something like this.
IMO there is no downside to restricting the providers to the latest
released version.
We could go with the chicken-egg for the next release - that would add at
least one useful
feature authored by Kacper Muda -
https://github.com/apache/airflow/pull/48941
but even without it it's not broken, just missing that feature.


czw., 10 kwi 2025 o 21:49 Jarek Potiuk <ja...@potiuk.com> napisał(a):

> Accidentally It turned out - with today's investigation of why RC images
> are not building that it is VERY needed. It seems that `pip` resolution
> works currently with our meta-package in a very bad way. If in our
> pyproject.toml we have just
> "amazon' =  "apache-airflow-providers-amazon", "google" =
> "apache-airflow-providers-google" ....
>
> then
>
> apache-airflow[google,amazon] - will lead pip to download and try to
> resolve ALL VERSIONS or apparently ALL providers that have ever been
> released. That means we have 100 amazon, 100 google - and if you have more
> extras - 10s or 100s of other providers to consider. And essentially what
> pip tries to do is - try all combinations of those to find out which ones
> are good. Or at least very, very big subset of those providers. Which
> actually explains the "Resolution Too Deep" problem we tried to diagnose
> and investigate over the last few weeks.
>
> So summarising:
> * resolution too deep was actually "real" issue
> * it was caused by no lower-bounds in providers in meta package
> * we will have to set those lower-binds to something reasonable (and I
> might start later today with simply latest released versions if i have
> internet on my flight back from the US)
> * and we will have to keep those min versions updated and bumped
> periodically
>
> The last case is interesting - because it will finally force us to
> introduce some policy on how old providers we support when we release
> airflow. With Airflow 3 I think we are good with basically "latest"
> versions (and maybe get a few versions back for crucial providers). But we
> can discuss it later.
>
> J.
>
>
>
>
>
> On Thu, Apr 10, 2025 at 2:49 PM Vincent Beck <vincb...@apache.org> wrote:
>
> > I assume this is not necessary when the constraint is already set on the
> > provider side? For example, FAB provider has a dependency on Airflow 3
> > (`apache-airflow>=3.0.0` in `providers/fab/pyproject.toml`)
> >
> > On 2025/04/10 17:22:13 Jarek Potiuk wrote:
> > > Hello,
> > >
> > > TL;DR; Do people who work on some providers think that Airflow 3 should
> > > have minimum version of those?
> > >
> > > While discussing a question about chicken-egg providers with Kaxil, I
> > > realized that we can finally have min versions of providers easily
> added
> > to
> > > "apache-airflow" meta-package.
> > >
> > > Simply speaking - we can say that for example
> > >
> > > apache-airflow[openlineage] ->
> > apache-airflow-providers-openlineage>=2.1.3
> > >
> > > Previously it was not that easy or straightforward, but now we can do
> it
> > > easily - just changing:
> > >
> > > "openlineage" = [
> > >     "apache-airflow-providers-openlineage"
> > > ]
> > > into
> > >
> > > "openlineage" = [
> > >     "apache-airflow-providers-openlineage>=2.1.3"
> > > ]
> > >
> > > We will likely have to change the tooling a bit to adapt to RC / Dev
> > > packaging versions for chicken-egg-providers - but this should be
> rather
> > > easy.
> > >
> > > And I think this is mostly about openlineage, standard, common and all
> > the
> > > other kinds of providers that are "special" in some ways.
> > >
> > > Are we aware of some minimum versions we **SHOULD** put on those ?
> > >
> > > J.
> > >
> > >
> > >
> > > So the question is.
> > >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
> > For additional commands, e-mail: dev-h...@airflow.apache.org
> >
> >
>

Reply via email to