Agreed on not having extras apart from providers.

On Fri, 11 Apr 2025 at 13:36, Ash Berlin-Taylor <a...@apache.org> wrote:

> Just checked, no this was in 2.10 releases. NM then.
>
> Still, I think we should not add new extras to `apache-airflow` in
> general, and definitely not for anything other than direct provider
> “short-names”.
>
>
> -ash
>
> > On 11 Apr 2025, at 09:02, Ash Berlin-Taylor <a...@apache.org> wrote:
> >
> > Oh hang on wait a moment.
> >
> > Is aiobotocore a new extra that is not available in 2.10.5 or any early
> versions?
> >
> > If that is the case then I’d instead vote that we don’t add new extras
> to `apache-airflow`, and we instead remove it. I grudgingly accept that
> having `apache-airflow[amazon]` make sense, but `aiobotocore` isn’t the
> name of the provider, and you need to know what it means anyway, so I don’t
> think we should have it as an extra anywhere other than on the provider.
> >
> > -ash
> >
> >> On 11 Apr 2025, at 08:40, Jarek Potiuk <ja...@potiuk.com> wrote:
> >>
> >> A draft PR here (i will split it as there are few unrelated changes)
> >> https://github.com/apache/airflow/pull/49103 -> but it shows how we can
> >> automatically set the min versions in "apache-airflow" meta-package
> (with
> >> 6-months-old provider versions).
> >>
> >> That will quite likely help to get the "Resolution too deep" error
> solved,
> >> and I think it has a nice property - that we can treat it as
> "recommended"
> >> range of versions for providers - while giving all the flexibility to
> the
> >> user to keep their old versions or downgrade.
> >>
> >>
> >> J.
> >>
> >> On Fri, Apr 11, 2025 at 7:01 AM Jarek Potiuk <ja...@potiuk.com> wrote:
> >>
> >>> Actually what I see when I attempted to do it - is that even if we
> >>> introduce it - it is not going to be a hard requirement. It is just a
> soft
> >>> limit when installing full apache-airflow[with extras].
> >>>
> >>> It will be more of a default behaviour to limit the providers when
> extras
> >>> are used but will be easy to override and it will not apply when you
> >>> install airflow-core /task-sdk/ providers directly. So yes - I think no
> >>> real drawback
> >>>
> >>> This limits will only be on extras of the 'apache-airflow' and in case
> >>> someone used the extras so far - the were not able to control the
> version
> >>> of provider that will be used anyway - and this only used a lower
> version
> >>> of provider than latest I'd some other package was installed at the
> same
> >>> time that was conflicting with latest provider..
> >>>
> >>> Thoss limits are not going to be persistent, they are going to simply
> be
> >>> taken into account when apache-airflow{provider} is used and only for
> the
> >>> time of the installation. It will not prevent the user from
> >>> upgrading/downgrading the provider later. And also user still be able
> to
> >>> remove extra and use the provider directly in the same `pip install`
> >>> command
> >>>
> >>> I have a draft change that sets the lower bound to now() -6 months +
> >>> manual overrides if we need to get some new provider limited to latest
> >>> version this way for example. I am still coming back from US and will
> be
> >>> home later today and try it and I think some form of it will be good to
> >>> have  - 6 months seems reasonable and it will have the
> 'self-maintenance'
> >>> capability.
> >>>
> >>> J.
> >>>
> >>> czw., 10 kwi 2025, 22:46 użytkownik Ash Berlin-Taylor <a...@apache.org>
> >>> napisał:
> >>>
> >>>> There absolutely is a downside to the users — “forcing" users to
> upgrade
> >>>> providers along with Airflow version makes upgrades a much more
> daunting
> >>>> experience.
> >>>>
> >>>>> On 10 Apr 2025, at 21:31, Maciej Obuchowski <mobuchow...@apache.org>
> >>>> wrote:
> >>>>>
> >>>>> 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
> >>>>>>>
> >>>>>>>
> >>>>>>
> >>>>
> >>>>
> >>>> ---------------------------------------------------------------------
> >>>> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
> >>>> For additional commands, e-mail: dev-h...@airflow.apache.org
> >>>>
> >>>>
> >
> >
> > ---------------------------------------------------------------------
> > To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
> > For additional commands, e-mail: dev-h...@airflow.apache.org
> >
>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: dev-unsubscr...@airflow.apache.org
> For additional commands, e-mail: dev-h...@airflow.apache.org
>
>

Reply via email to