Skip to content

Commit 26ffc9f

Browse files
committed
chore(airflow): Bump python to 3.14 for Airflow 3.2.1
Note: 3.14 has a performance regression that appears to have been fixed since 3.14.5 - https://adamj.eu/tech/2026/04/20/django-python-3.14-incremental-gc/ - https://www.python.org/downloads/release/python-3145/
1 parent f83b6bd commit 26ffc9f

3 files changed

Lines changed: 13 additions & 30 deletions

File tree

airflow/boil-config.toml

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,8 @@ vector = "0.55.0"
88
stackable-devel = "1.0.0"
99

1010
[versions."2.9.3".build-arguments]
11-
# NOTE: Python version is kept stable unless the new Airflow version drops support for it.
11+
# NOTE: This can be bumped for new airflow versions, but once set, do not updated it.
12+
# See: https://devguide.python.org/versions/
1213
python-version = "3.9"
1314
git-sync-version = "v4.6.0"
1415
# Must match the version in the constraints file.
@@ -30,7 +31,8 @@ vector = "0.55.0"
3031
stackable-devel = "1.0.0"
3132

3233
[versions."3.0.6".build-arguments]
33-
# NOTE: Python version is kept stable unless the new Airflow version drops support for it.
34+
# NOTE: This can be bumped for new airflow versions, but once set, do not updated it.
35+
# See: https://devguide.python.org/versions/
3436
python-version = "3.12"
3537
git-sync-version = "v4.6.0"
3638
# Must match the version in the constraints file.
@@ -73,7 +75,8 @@ vector = "0.55.0"
7375
stackable-devel = "1.0.0"
7476

7577
[versions."3.1.6".build-arguments]
76-
# NOTE: Python version is kept stable unless the new Airflow version drops support for it.
78+
# NOTE: This can be bumped for new airflow versions, but once set, do not updated it.
79+
# See: https://devguide.python.org/versions/
7780
python-version = "3.12"
7881
git-sync-version = "v4.6.0"
7982
# Must match the version in the constraints file.
@@ -116,8 +119,9 @@ vector = "0.55.0"
116119
stackable-devel = "1.0.0"
117120

118121
[versions."3.2.1".build-arguments]
119-
# NOTE: Python version is kept stable unless the new Airflow version drops support for it.
120-
python-version = "3.12"
122+
# NOTE: This can be bumped for new airflow versions, but once set, do not updated it.
123+
# See: https://devguide.python.org/versions/
124+
python-version = "3.14"
121125
git-sync-version = "v4.6.0"
122126
# Must match the version in the constraints file.
123127
# TODO: Check if this can be removed in favour of letting it come in via the s3fs extra and constraints.

airflow/stackable/constraints/3.2.1/build-constraints-python3.12.txt renamed to airflow/stackable/constraints/3.2.1/build-constraints-python3.14.txt

File renamed without changes.

airflow/stackable/constraints/3.2.1/constraints-python3.12.txt renamed to airflow/stackable/constraints/3.2.1/constraints-python3.14.txt

Lines changed: 4 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11

22
#
3-
# This constraints file was automatically generated on 2026-04-21T00:39:47.116640
3+
# This constraints file was automatically generated on 2026-04-21T00:39:49.491047
44
# via `uv pip install --resolution highest` for the "v3-2-test" branch of Airflow.
55
# This variant of constraints install uses the HEAD of the branch version for 'apache-airflow' but installs
66
# the providers from PIP-released packages at the moment of the constraint generation.
@@ -16,14 +16,14 @@
1616
# commands that might change the installed version of apache-airflow should include "apache-airflow==X.Y.Z"
1717
# in the list of install targets to prevent Airflow accidental upgrade or downgrade.
1818
#
19-
# Typical installation process of airflow for Python 3.12 is (with random selection of extras and custom
19+
# Typical installation process of airflow for Python 3.14 is (with random selection of extras and custom
2020
# dependencies added), usually consists of two steps:
2121
#
2222
# 1. Reproducible installation of airflow with selected providers (note constraints are used):
2323
#
2424
# pip install "apache-airflow[celery,cncf.kubernetes,google,amazon,snowflake]==X.Y.Z" \
2525
# --constraint \
26-
# "https://raw.githubusercontent.com/apache/airflow/constraints-X.Y.Z/constraints-3.12.txt"
26+
# "https://raw.githubusercontent.com/apache/airflow/constraints-X.Y.Z/constraints-3.14.txt"
2727
#
2828
# 2. Installing own dependencies that are potentially not matching the constraints (note constraints are not
2929
# used, and apache-airflow==X.Y.Z is used to make sure there is no accidental airflow upgrade/downgrade.
@@ -62,15 +62,11 @@ WTForms==3.2.1
6262
Werkzeug==3.1.8
6363
a2wsgi==1.10.10
6464
adal==1.2.7
65-
adbc-driver-manager==1.11.0
66-
adbc-driver-postgresql==1.11.0
67-
adbc-driver-sqlite==1.11.0
6865
adlfs==2026.4.0
6966
aenum==3.1.17
7067
aiobotocore==3.4.0
7168
aiofiles==24.1.0
7269
aiohappyeyeballs==2.6.1
73-
aiohttp-cors==0.8.1
7470
aiohttp==3.13.5
7571
aioitertools==0.13.0
7672
aiomysql==0.3.2
@@ -94,7 +90,6 @@ anyio==4.13.0
9490
apache-airflow-providers-airbyte==5.4.1
9591
apache-airflow-providers-alibaba==3.3.7
9692
apache-airflow-providers-amazon==9.25.0
97-
apache-airflow-providers-apache-cassandra==3.9.4
9893
apache-airflow-providers-apache-drill==3.3.2
9994
apache-airflow-providers-apache-druid==4.5.2
10095
apache-airflow-providers-apache-flink==1.8.4
@@ -242,7 +237,6 @@ botocore==1.42.84
242237
cachelib==0.13.0
243238
cachetools==6.2.6
244239
cadwyn==6.2.0
245-
cassandra-driver==3.30.0
246240
cattrs==26.1.0
247241
celery==5.6.3
248242
certifi==2026.2.25
@@ -254,10 +248,9 @@ click-didyoumean==0.3.1
254248
click-plugins==1.1.1.2
255249
click-repl==0.3.0
256250
click==8.3.2
257-
cloudpickle==3.1.1
251+
cloudpickle==3.1.2
258252
cohere==5.21.1
259253
colorama==0.4.6
260-
colorful==0.5.8
261254
colorlog==6.10.1
262255
comm==0.2.3
263256
confluent-kafka==2.14.0
@@ -276,7 +269,6 @@ decorator==5.2.1
276269
defusedxml==0.7.1
277270
deprecation==2.1.0
278271
dill==0.4.1
279-
distlib==0.4.0
280272
distro==1.9.0
281273
dnspython==2.8.0
282274
docker==7.1.0
@@ -309,7 +301,6 @@ gcloud-aio-bigquery==7.1.0
309301
gcloud-aio-storage==9.6.4
310302
gcsfs==2026.3.0
311303
genai-prices==0.0.56
312-
geomet==1.1.0
313304
gevent==26.4.0
314305
gitdb==4.0.12
315306
google-ads==30.0.0
@@ -402,7 +393,6 @@ idna==3.11
402393
ijson==3.4.0.post0
403394
immutabledict==4.3.1
404395
importlib_metadata==8.7.1
405-
importlib_resources==7.1.0
406396
impyla==0.22.0
407397
inflection==0.5.1
408398
influxdb-client==1.50.0
@@ -483,8 +473,6 @@ nest-asyncio==1.6.0
483473
numpy==2.4.4
484474
oauthlib==3.3.1
485475
openai==2.32.0
486-
opencensus-context==0.1.3
487-
opencensus==0.11.4
488476
openlineage-integration-common==1.46.0
489477
openlineage-python==1.46.0
490478
openlineage_sql==1.46.0
@@ -542,7 +530,6 @@ psycopg2-binary==2.9.11
542530
ptyprocess==0.7.0
543531
pure-sasl==0.6.2
544532
pure_eval==0.2.3
545-
py-spy==0.4.1
546533
pyOpenSSL==26.0.0
547534
pyarrow==23.0.1
548535
pyasn1==0.6.3
@@ -575,7 +562,6 @@ pyspnego==0.12.1
575562
python-arango==8.3.2
576563
python-daemon==3.1.2
577564
python-dateutil==2.9.0.post0
578-
python-discovery==1.2.2
579565
python-dotenv==1.2.2
580566
python-http-client==3.3.7
581567
python-jenkins==1.8.3
@@ -584,13 +570,11 @@ python-ldap==3.4.5
584570
python-multipart==0.0.26
585571
python-slugify==8.0.4
586572
python-telegram-bot==22.7
587-
python3-saml==1.16.0
588573
pytokens==0.4.1
589574
pytz==2026.1.post1
590575
pywinrm==0.5.0
591576
pyzmq==27.1.0
592577
qdrant-client==1.17.1
593-
ray==2.55.0
594578
reactivex==4.1.0
595579
redis==6.4.0
596580
redshift_connector==2.1.13
@@ -625,12 +609,10 @@ shellingham==1.5.4
625609
simple-salesforce==1.12.9
626610
six==1.17.0
627611
slack_sdk==3.41.0
628-
smart_open==7.6.0
629612
smbprotocol==1.16.1
630613
smmap==5.0.3
631614
sniffio==1.3.1
632615
snowflake-connector-python==4.4.0
633-
snowflake-snowpark-python==1.49.0
634616
snowflake-sqlalchemy==1.9.0
635617
sortedcontainers==2.4.0
636618
soupsieve==2.8.3
@@ -684,18 +666,15 @@ uvloop==0.22.1
684666
validators==0.35.0
685667
vertica-python==1.4.0
686668
vine==5.1.0
687-
virtualenv==21.2.4
688669
watchfiles==1.1.1
689670
watchtower==3.4.0
690671
wcwidth==0.6.0
691672
weaviate-client==4.16.2
692673
webencodings==0.5.1
693674
websocket-client==1.8.0
694675
websockets==16.0
695-
wheel==0.46.3
696676
wirerope==1.0.0
697677
wrapt==2.1.2
698-
xmlsec==1.3.17
699678
xmltodict==1.0.4
700679
yandex-query-client==0.1.4
701680
yandexcloud==0.386.0

0 commit comments

Comments
 (0)