diff --git a/setup.py b/setup.py index b53ac93d8e683..bcdca1e131148 100644 --- a/setup.py +++ b/setup.py @@ -599,7 +599,16 @@ def write_version(filename: str = os.path.join(*[my_dir, "airflow", "git_version 'flake8-colors', 'flaky', 'freezegun', - 'github3.py', + # Github3 version 3.1.2 requires PyJWT>=2.3.0 which clashes with Flask App Builder where PyJWT is <2.0.0 + # Actually GitHub3.1.0 already introduced PyJWT>=2.3.0 but so far `pip` was able to resolve it without + # getting into a long backtracking loop and figure out that github3 3.0.0 version is the right version + # similarly limiting it to 3.1.2 causes pip not to enter the backtracking loop. Apparently when there + # are 3 versions with PyJWT>=2.3.0 (3.1.0, 3.1.1 an 3.1.2) pip enters into backtrack loop and fails + # to resolve that github3 3.0.0 is the right version to use. + # This limitation could be removed if PyJWT limitation < 2.0.0 is dropped from FAB or when + # pip resolution is improved to handle the case. The issue which describes this PIP behaviour + # and hopefully allowing to improve it is tracked in https://github.com/pypa/pip/issues/10924 + 'github3.py<3.1.0', 'gitpython', 'ipdb', 'jira',