From 7b48feecbb6d14eb0366ca8b8a259e6d99bbbbb8 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Tue, 22 Dec 2020 20:28:33 +0100 Subject: [PATCH] Describe which Python versions are supported. (#13259) * Describe what Python versions are supported. As the result of vote: https://s.apache.org/8epvx - we agreed to the rules of supporting Python versions. This PR adds it to both README and official documentation. * Update README.md Co-authored-by: Xiaodong DENG Co-authored-by: Xiaodong DENG (cherry picked from commit a48bc837f80085006c5e7212cbf53d7278ef7af2) --- README.md | 20 +++++++++++++++++++- docs/apache-airflow/installation.rst | 17 +++++++++++++++++ 2 files changed, 36 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 8973a6bacb..cf91c7a4d5 100644 --- a/README.md +++ b/README.md @@ -44,6 +44,7 @@ Use Airflow to author workflows as directed acyclic graphs (DAGs) of tasks. The - [Project Focus](#project-focus) - [Principles](#principles) - [Requirements](#requirements) +- [Support for Python versions](#support-for-python-versions) - [Getting started](#getting-started) - [Installing from PyPI](#installing-from-pypi) - [Official source code](#official-source-code) @@ -90,9 +91,26 @@ running multiple schedulers -- please see the "Scheduler" docs. **Note:** SQLite is used in Airflow tests. Do not use it in production. +## Support for Python versions + +As of Airflow 2.0 we agreed to certain rules we follow for Python support. They are based on the official +release schedule of Python, nicely summarized in the +[Python Developer's Guide](https://devguide.python.org/#status-of-python-branches) + +1. We finish support for python versions when they reach EOL (For python 3.6 it means that we will remove it + from being supported on 23.12.2021). + +2. The "oldest" supported version of Python is the default one. "Default" is only meaningful in terms of + "smoke tests" in CI PRs which are run using this default version. + +3. We support a new version of Python after it is officially released, as soon as we manage to make + it works in our CI pipeline (which might not be immediate) and release a new version of Airflow + (non-Patch version) based on this CI set-up. + ### Additional notes on Python version requirements -* Stable version [requires](https://github.com/apache/airflow/issues/8162) at least Python 3.5.3 when using Python 3 +* Previous version [requires](https://github.com/apache/airflow/issues/8162) at least Python 3.5.3 + when using Python 3 ## Getting started diff --git a/docs/apache-airflow/installation.rst b/docs/apache-airflow/installation.rst index 9889caa5fe..3299e62043 100644 --- a/docs/apache-airflow/installation.rst +++ b/docs/apache-airflow/installation.rst @@ -95,6 +95,23 @@ Airflow with such extras, the necessary provider packages are installed automati PyPI for those packages). However you can freely upgrade and install provider packages independently from the main Airflow installation. +Python versions support +''''''''''''''''''''''' + +As of Airflow 2.0 we agreed to certain rules we follow for Python support. They are based on the official +release schedule of Python, nicely summarized in the +`Python Developer's Guide `_ + +1. We finish support for python versions when they reach EOL (For python 3.6 it means that we will remove it + from being supported on 23.12.2021). + +2. The "oldest" supported version of Python is the default one. "Default" is only meaningful in terms of + "smoke tests" in CI PRs which are run using this default version. + +3. We support a new version of Python after it is officially released, as soon as we manage to make + it works in our CI pipeline (which might not be immediate) and release a new version of Airflow + (non-Patch version) based on this CI set-up. + Requirements ''''''''''''