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. > > >