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