I think that limiting to <3.12 makes sense. 2.7.2 is already out so I'm not
sure we can do anything for users trying to install 2.7.2 on python 3.12.

I believe there is no such thing as a python minor that is out of the box
working well for airflow. It seems that we always need extra efforts to
bring in a new version due to small (or big) breaking change. Maybe
limiting python version should be by default (always), until we
explicitly move that limit when we integrate a new version. Airflow would
not be installable on newest version that were not explicitly tested
against.

Le lun. 23 oct. 2023 à 14:19, Aritra Basu <aritrabasu1...@gmail.com> a
écrit :

> 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