Airflow on CPython: how do I know which Airflow release will be the last to support my Python version?
0 reputation · 26 Jun 2022, 11:33 UTC
We run Apache Airflow 2.x on CPython and are planning upgrades across the Airflow↔Python boundary. Each Airflow minor release declares its supported Python range via the Requires-Python package metadata, and Airflow publishes per-Python constraints files for installation, but there seems to be no published schedule for when an end-of-life Python version is dropped.
Our constraint: we want to stay on a supported pairing and need to predict the last Airflow minor release supporting our Python version before committing to an upgrade path. The uncertainty is whether we can rely on the Requires-Python range alone, or whether provider packages may declare different Python requirements than core Airflow.
Is the Requires-Python metadata of the apache-airflow package the authoritative declaration of the supported Python range for a given Airflow minor release, and can pip be trusted to refuse an incompatible combination? Is there any documented policy or announcement mechanism for when Airflow drops a Python version, and do provider packages follow the same range as core Airflow?