From fc337ab549e6acff743e8cea999ffd36200917c4 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Wed, 25 Oct 2023 12:17:06 +0200 Subject: [PATCH] Limit Airflow and breeze to < 3.12 (#35123) Python 3.12 has a few breaking changes comparing to earlier versions. While 3.7 - 3.11 were largely backwards compatible, Python 3.12 is the first one for a long time that started to break things more aggressively. For now we know that Airflow will not work with Python 3.12 mainly because of distutils removal (https://peps.python.org/pep-0632/) and not because of Airflow's usage of it but pendulum's before version 3. While we are working on getting Pendulum 3 support in #34744 and the #34746, there are likely other dependencies that have similar issue. Until we fix it and add official 3.12 support, we can limit airflow to not be installable on 3.12. (cherry picked from commit 020691f5cc0935af91a09b052de6122073518b4e) --- dev/breeze/README.md | 2 +- dev/breeze/setup.cfg | 5 ++++- setup.cfg | 4 +++- 3 files changed, 8 insertions(+), 3 deletions(-) diff --git a/dev/breeze/README.md b/dev/breeze/README.md index ae083be4de873..f2c4474cce031 100644 --- a/dev/breeze/README.md +++ b/dev/breeze/README.md @@ -66,6 +66,6 @@ PLEASE DO NOT MODIFY THE HASH BELOW! IT IS AUTOMATICALLY UPDATED BY PRE-COMMIT. --------------------------------------------------------------------------------------------------------- -Package config hash: 20d095e80d897b7c19f3eef96e0e6ceef4a7a0c0a9b82def7089ec962da64e1bd2ee20f02532fc2ef64137d86c045c340bc8038695f53d29aa72833cafe8b153 +Package config hash: 1fe676b16075afde8bd7dd88b92b3e587b12927337a0edfcc8f751a7d400b772e300d64084f02e4c76e5bb5f2f349a23729258ec457bcb0b94f180ef19ffb154 --------------------------------------------------------------------------------------------------------- diff --git a/dev/breeze/setup.cfg b/dev/breeze/setup.cfg index 5d26d94752586..617e855659bf8 100644 --- a/dev/breeze/setup.cfg +++ b/dev/breeze/setup.cfg @@ -36,6 +36,7 @@ classifiers = Programming Language :: Python :: 3.8 Programming Language :: Python :: 3.9 Programming Language :: Python :: 3.10 + Programming Language :: Python :: 3.11 project_urls = Documentation=https://github.com/apache/airflow/BREEZE.rst Bug Tracker=https://github.com/apache/airflow/issues @@ -47,7 +48,9 @@ project_urls = [options] zip_safe = False include_package_data = True -python_requires = ~=3.8 +# Mainly because of distutils deprecation and some packages not being compatible with it, we should +# Limit airflow to < 3.12 until those dependencies are ready and until we can support Python 3.12 +python_requires = ~=3.8,<3.12 package_dir= =src packages = find: diff --git a/setup.cfg b/setup.cfg index adb1ff265056b..3ecac2f72c98a 100644 --- a/setup.cfg +++ b/setup.cfg @@ -55,7 +55,9 @@ project_urls = [options] zip_safe = False include_package_data = True -python_requires = ~=3.8 +# Mainly because of distutils deprecation and some packages not being compatible with it, we should +# Limit airflow to < 3.12 until those dependencies are ready and until we can support Python 3.12 +python_requires = ~=3.8,<3.12 packages = find: setup_requires = gitpython