BTW, I am planning to turn the doc into a blog post on Airflow Medium (I
think it provides a nice description on the extra usage for Airflow) - so I
want to make a blog about "Airflow 2 how to use extras" - following with
"Airflow 3 how to use extras"  once we come to conclusions re: packaging
and extras for them - so I'd appreciate any comments in general :D

On Fri, Oct 18, 2024 at 8:17 AM Jarek Potiuk <ja...@potiuk.com> wrote:

> Also one more thing added - I realized I have forgotten one more thing -
> pre-installed providers. Those are automatically added to 'requirements" in
> "standard" installation, and in "editable" mode - their dependencies are
> added instead (not the providers themselves). This is an important case for
> both editable and standard mode.
>
> The doc is updated accordingly.
>
> J.
>
>
> On Thu, Oct 17, 2024 at 2:56 PM Jarek Potiuk <ja...@potiuk.com> wrote:
>
>> Also one more comment. I added this paragraph (and highlighted it):
>>
>> > The approach to extras depends very much on the packaging decisions we
>> will make before releasing Airflow 3. Currently we only have one
>> “apache-airflow” package and all extras are defined there. In Airflow 3 we
>> will have more packages (at least 2) and some extras might or might not be
>> available in some of those packages (and different packages might have
>> different extras.
>>
>> We are (currently offline to present it soon for wider discussion)
>> discussing the packaging approach - there is a draft document from Vikram
>> few of us are commenting on and it is parallel discussion that will have
>> impact on the "extras" decisions.
>>
>> J.
>>
>>
>>
>> On Thu, Oct 17, 2024 at 12:25 PM Jarek Potiuk <ja...@potiuk.com> wrote:
>>
>>> "separate POM" -> Separate pyproject.toml :D,, I've been in too many
>>> discussions in Apache Software Foundation about java dependencies and POM
>>> files and Maven (ough!)  it seems :D
>>>
>>> On Thu, Oct 17, 2024 at 12:22 PM Jarek Potiuk <ja...@potiuk.com> wrote:
>>>
>>>> Hello here,
>>>>
>>>> As discussed last week on slack, I prepared a comprehensive document
>>>> describing the current state of extras in Airflow (or at least my view on
>>>> it :) ).
>>>>
>>>>
>>>> https://docs.google.com/document/d/1e1T3u34bqo7yYSJVvq1NlEJJhA5_hUNXOXo7J6KFg_0/edit?usp=sharing
>>>>
>>>> The document describes the current state of extras as we use in Airflow
>>>> 2 (and same usage so far in Airflow 3) - split into development and user
>>>> use cases (which roughly splits to "standard" and "editable" installation.
>>>> It describes the different behaviour of extras in "standard" and "editable"
>>>> environments (via hatch_build.py hooks) as well as potential future and
>>>> very recent developments that might impact the way we will think about
>>>> extras for Airflow 3.
>>>>
>>>> For example the recent development about - accepted last week PEP 735
>>>> that might change the way we will define development groups. But tools need
>>>> to catch up.
>>>>
>>>> Also the move to "uv workspaces" might (and will) change some of the
>>>> ways we interact with Airflow - especially for development, which might
>>>> render some of the extra use cases obsolete, but IMHO we need to do some
>>>> preparatory work (and further splitting providers to per-provider
>>>> sub-directories and each provider having a separate POM is a prerequisite
>>>> for that).
>>>>
>>>> There are also some other potential changes and future work we can do
>>>> (all marked in yellow) that might impact the way we think about and define
>>>> our extras.
>>>>
>>>> Finally - at the end - it contains a summary of all the use-cases (I
>>>> found 6 in total) how extras are currently used - user and development use
>>>> cases.
>>>>
>>>> I know that there are voices that maybe we should get rid of some of
>>>> the extras - so having summary of the use cases might be helpful to discuss
>>>> it:
>>>>
>>>> * whether the use case is actually "useful"
>>>> * whether we have some way to replace the use of extras to achieve
>>>> similar behaviour
>>>>
>>>> I propose - if you have detailed comments to the document - let's
>>>> discuss it there (everyone has commenter access by following the link). If
>>>> you have some proposals on what to do after reading and discussing details
>>>> - we should discuss any proposals in this thread
>>>>
>>>> Have a nice read :)
>>>>
>>>> J.
>>>>
>>>>
>>>>
>>>

Reply via email to