I think I'm on the side of giving an error message saying 3.12 is not yet
supported in
2.7.3, I would assume anyone seeing that would understand the implication
that
neither does 2.7.2 and thus they wouldn't try installing it.

Though I would also think they would have the same understanding that if
2.7.3 doesn't
list 3.12 as supported neither would 2.7.2. But I'd rather be explicitly
told 2.7.3 and earlier
don't work with 3.12.

Thanks and Regards,
Aritra Basu


On Mon, Oct 23, 2023 at 4:54 PM Jarek Potiuk <ja...@potiuk.com> wrote:

> Hey everyone,
>
> I've opened a PR https://github.com/apache/airflow/pull/35123  to limit
> Airflow to Python < 3.12 though I am not sure if this is the best idea so I
> seek devlist wisdom to decide whether we should do this, or maybe something
> else like allowing airflow to be installed but produce a clean error
> indicating 3.12 is not (yet) supported.
>
> Currently Airflow does not work for Python 3.12 - mainly because of
> "distutils" removal https://peps.python.org/pep-0632/ and the way how some
> of the core dependencies - Pendulum for on - and likely some of our
> providers have other breaking dependencies. While Andrey works on Pendulum
> upgrade as they released version 3 that is compatible, this might take some
> time and we might find out there are other problems as we are not running
> the full test suite for 3.12 due to dependency issues.
>
> It looks like that Python 3.12 is a bit different than 3.7 - 3.11 releases
> were - this is the first release that is more aggressive when it comes to
> backwards compatibility. There are also some unit test methods removal and
> other change that might make our 3.12  migration a bit more painful (more
> details here for example)
> https://towardsdatascience.com/python3-12-98245ecd6a97
>
> Currently people attempting to install Airflow with Python 3.12 will get
> unobvious errors (like build errors or runtime errors that are cryptic).
> This is already happening and users are reporting issues that "airflow does
> not work" which boils down to installing Airflow (or breeze) for Python
> 3.12.
>
> I initially thought (hence the PR) that we can limit Airflow to < 3.12 and
> release it in 2.7.3 (and remove the limitation once we get official 3.12
> support).
>
> So maybe a better solution will be to check the Python version at startup
> time and fail Airflow with clear error. Or maybe we should not worry about
> it at all?
>
> The problem is that if we limit 2.7.3, users installing airflow on 3.12
> will install 2.7.2 because it has no limit for Python - and will end up
> with the very same experience they have now.
>
> WDYT?
>
> J.
>

Reply via email to