And by removing them/making them dynamic the ide will think they don't even 
exist anymore.

(Also: these have been showing as deprecated in IDEs for ~2 years; If someone 
was going to update their code they would have already)

On 5 August 2022 09:58:38 BST, Ash Berlin-Taylor <a...@apache.org> wrote:
>I think the _goal_ is to not have the deprecated classes show up in IDEs - 
>i.e. we want to discourage people from using them.
>
>On 5 August 2022 09:44:42 BST, "Kamil Breguła" <dzaku...@gmail.com> wrote:
>>I am concerned that the use of dynamic attributes will prevent the IDE from
>>recognizing these deprecated modules and marking them in the IDE.
>>This is what it looks like in my IDE now: https://imgur.com/a/OnRjiKs
>>
>>pt., 5 sie 2022 o 00:28 Ferruzzi, Dennis <ferru...@amazon.com.invalid>
>>napisał(a):
>>
>>> >  add dynamic attributes to __init__ of airflow.contrib,
>>> airflow.operators, airflow.hooks. (to resolve to provider operators).
>>>
>>> This sounds promising to me.
>>>
>>> ------------------------------
>>> *From:* Jarek Potiuk <ja...@potiuk.com>
>>> *Sent:* Thursday, August 4, 2022 6:52 AM
>>> *To:* dev@airflow.apache.org
>>> *Subject:* RE: [EXTERNAL][DISCUSS] Move "contrib" and all old classes to
>>> a separate package
>>>
>>>
>>> *CAUTION*: This email originated from outside of the organization. Do not
>>> click links or open attachments unless you can confirm the sender and know
>>> the content is safe.
>>>
>>> > This is the issue though. apache-airflow does not depend on
>>> apache-airflow-providers-google >= 8.0, so you can still be on the same
>>> version of the provider on 2.3 and 2.4, but by _only_ upgrading
>>> apache-airflow package your DAG now breaks.
>>>
>>> Correct. The difference is that by only upgrading apache-airflow alone you
>>> will break it. And I see why this might be seen as "problematic".
>>>
>>> But I have another idea. Why - rather than keeping the deprecations in the
>>> code we load such deprecated  we add dynamic attributes to __init__ of
>>> airflow.contrib, airflow.operators, airflow.hooks. (to resolve to provider
>>> operators).
>>>
>>> Such dynamic attributes will be invisible to autocompletion, will not be
>>> documented with APIs nor visible in the source code (Except deep inspection
>>> of __init__ in those packages).
>>>
>>> This has no compatibility breaking potential whatsoever
>>>
>>>
>>> J.
>>>
>>>
>>> On Thu, Aug 4, 2022 at 3:47 PM Ash Berlin-Taylor <a...@apache.org> wrote:
>>>
>>>> On Thu, Aug 4 2022 at 13:59:23 +02:00:00, Jarek Potiuk <ja...@potiuk.com>
>>>> wrote:
>>>>
>>>> When you migrate to Airflow 2.4 and it links to the 8.0 version of Google
>>>> provider (assume 2.3 linked to 7) you have to make changes to make it work
>>>> in backwards incompatible way - you have to downgrade google provider to
>>>> 7.0. You still can do it, but it is not "out-of-the-box".
>>>>
>>>>
>>>> This is the issue though. apache-airflow does not depend on
>>>> apache-airflow-providers-google >= 8.0, so you can still be on the same
>>>> version of the provider on 2.3 and 2.4, but by _only_ upgrading
>>>> apache-airflow package your DAG now breaks.
>>>>
>>>>
>>>>

Reply via email to