Created
January 25, 2022 21:03
-
-
Save potiuk/7d8a6d0a23fe6c1aaae134614e3e3b9d to your computer and use it in GitHub Desktop.
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
ff --git a/setup.cfg b/setup.cfg | |
index 65c22d2280..b83ef9be02 100644 | |
--- a/setup.cfg | |
+++ b/setup.cfg | |
@@ -30,7 +30,6 @@ license_files = | |
# Start of licenses generated automatically | |
licenses/LICENSE-bootstrap.txt | |
licenses/LICENSE-bootstrap3-typeahead.txt | |
- licenses/LICENSE-connexion.txt | |
licenses/LICENSE-d3-shape.txt | |
licenses/LICENSE-d3-tip.txt | |
licenses/LICENSE-d3js.txt | |
@@ -46,6 +45,7 @@ license_files = | |
licenses/LICENSE-moment.txt | |
licenses/LICENSE-normalize.txt | |
# End of licences generated automatically | |
+ licenses/LICENSES-ui.txt | |
classifiers = | |
Development Status :: 5 - Production/Stable | |
Environment :: Console | |
@@ -81,18 +81,18 @@ setup_requires = | |
##################################################################################################### | |
install_requires = | |
alembic>=1.5.1, <2.0 | |
- argcomplete~=1.10 | |
+ argcomplete>=1.10, <3.0 | |
attrs>=20.0, <21.0 | |
blinker | |
cached_property~=1.5;python_version<="3.7" | |
# cattrs >= 1.1.0 dropped support for Python 3.6 | |
cattrs>=1.0, <1.1.0;python_version<="3.6" | |
- # cattrs >= 1.7.0 break lineage - see https://github.com/apache/airflow/issues/16172 | |
- cattrs~=1.1, <1.7.0;python_version>"3.6" | |
+ cattrs~=1.1, !=1.7.*;python_version>"3.6" | |
# Required by vendored-in connexion | |
clickclick>=1.2 | |
- colorlog>=4.0.2, <6.0 | |
- croniter>=0.3.17, <1.1 | |
+ colorlog>=4.0.2, <7.0 | |
+ connexion[swagger-ui,flask]>=2.10.0 | |
+ croniter>=0.3.17 | |
cryptography>=0.9.3 | |
dataclasses;python_version<"3.7" | |
dill>=0.2.2, <0.4 | |
@@ -103,37 +103,34 @@ install_requires = | |
# https://github.com/readthedocs/sphinx_rtd_theme/issues/1115 | |
docutils<0.17 | |
flask>=1.1.0, <2.0 | |
- flask-appbuilder>=3.3.2, <4.0.0 | |
+ flask-appbuilder>=3.3.4, <4.0.0 | |
flask-caching>=1.5.0, <2.0.0 | |
flask-login>=0.3, <0.5 | |
flask-wtf>=0.14.3, <0.15 | |
graphviz>=0.12 | |
gunicorn>=20.1.0 | |
- # We need to limit httpx until https://github.com/apache/airflow/issues/20088 is fixed | |
- httpx<0.20.0 | |
+ httpx | |
importlib_metadata>=1.7;python_version<"3.9" | |
importlib_resources~=5.2;python_version<"3.9" | |
- # Required by vendored-in connexion | |
- inflection>=0.3.1 | |
iso8601>=0.1.12 | |
# Logging is broken with itsdangerous > 2 | |
itsdangerous>=1.1.0, <2.0 | |
- jinja2>=2.10.1,<4 | |
+ # Jinja2 3.1 will remove the 'autoescape' and 'with' extensions, which would | |
+ # break Flask 1.x, so we limit this for future compatibility. Remove this | |
+ # when bumping Flask to >=2. | |
+ jinja2>=2.10.1,<3.1 | |
jsonschema~=3.0 | |
lazy-object-proxy | |
lockfile>=0.12.2 | |
markdown>=2.5.2, <4.0 | |
markupsafe>=1.1.1 | |
marshmallow-oneofschema>=2.0.1 | |
- # Required by vendored-in connexion | |
- openapi-spec-validator>=0.2.4 | |
packaging>=14.0 | |
pendulum~=2.0 | |
pep562~=1.0;python_version<"3.7" | |
psutil>=4.2.0, <6.0.0 | |
pygments>=2.0.1, <3.0 | |
- # Required for flask-jwt-extended and msal | |
- pyjwt<2 | |
+ pyjwt<3 | |
# python daemon crashes with 'socket operation on non-socket' for python 3.8+ in version < 2.2.4 | |
# https://pagure.io/python-daemon/issue/34 | |
python-daemon>=2.2.4 | |
@@ -145,14 +142,10 @@ install_requires = | |
# (pip installs the right version). | |
# More info: https://github.com/apache/airflow/issues/13149#issuecomment-748705193 | |
python3-openid~=3.2 | |
- # Required by vendored-in connexion | |
- pyyaml>=5.1 | |
rich>=9.2.0 | |
setproctitle>=1.1.8, <2 | |
sqlalchemy>=1.3.18 | |
sqlalchemy_jsonfield~=1.0 | |
- # Required by vendored-in connexion | |
- swagger-ui-bundle>=0.0.2 | |
tabulate>=0.7.5, <0.9 | |
tenacity>=6.2.0 | |
termcolor>=1.1.0 | |
@@ -206,7 +199,7 @@ ignore_errors = True | |
line_length=110 | |
combine_as_imports = true | |
default_section = THIRDPARTY | |
-known_first_party=airflow,tests | |
+known_first_party=airflow,airflow_breeze,tests | |
# Need to be consistent with the exclude config defined in pre-commit-config.yaml | |
skip=build,.tox,venv | |
profile = black | |
diff --git a/setup.py b/setup.py | |
index 90a2037efb..5557921bd1 100644 | |
--- a/setup.py | |
+++ b/setup.py | |
@@ -23,7 +23,6 @@ import subprocess | |
import sys | |
import unittest | |
from copy import deepcopy | |
-from distutils import log | |
from os.path import dirname, relpath | |
from textwrap import wrap | |
from typing import Dict, List | |
@@ -32,6 +31,10 @@ from setuptools import Command, Distribution, find_namespace_packages, setup | |
from setuptools.command.develop import develop as develop_orig | |
from setuptools.command.install import install as install_orig | |
+# Setuptools patches this import to point to a vendored copy instead of the | |
+# stdlib, which is deprecated in Python 3.10 and will be removed in 3.12. | |
+from distutils import log # isort: skip | |
+ | |
# Controls whether providers are installed from packages or directly from sources | |
# It is turned on by default in case of development environments such as Breeze | |
# And it is particularly useful when you add a new provider and there is no | |
@@ -41,7 +44,7 @@ PY39 = sys.version_info >= (3, 9) | |
logger = logging.getLogger(__name__) | |
-version = '2.2.3' | |
+version = '2.2.4' | |
my_dir = dirname(__file__) | |
@@ -176,6 +179,11 @@ def write_version(filename: str = os.path.join(*[my_dir, "airflow", "git_version | |
file.write(text) | |
+# We limit Pandas to <1.4 because Pandas 1.4 requires SQLAlchemy 1.4 which | |
+# We should remove the limits as soon as Flask App Builder releases version 3.4.4 | |
+# Release candidate is there: https://pypi.org/project/Flask-AppBuilder/3.4.4rc1/ | |
+pandas_requirement = 'pandas>=0.17.1, <1.4' | |
+ | |
# 'Start dependencies group' and 'Start dependencies group' are mark for ./scripts/ci/check_order_setup.py | |
# If you change this mark you should also change ./scripts/ci/check_order_setup.py | |
# Start dependencies group | |
@@ -184,8 +192,11 @@ alibaba = [ | |
] | |
amazon = [ | |
'boto3>=1.15.0,<1.19.0', | |
- 'watchtower~=1.0.6', | |
+ 'watchtower~=2.0.1', | |
'jsonpath_ng>=1.5.3', | |
+ 'redshift_connector~=2.0.888', | |
+ 'sqlalchemy_redshift~=0.8.6', | |
+ pandas_requirement, | |
] | |
apache_beam = [ | |
'apache-beam>=2.20.0', | |
@@ -219,7 +230,8 @@ cassandra = [ | |
'cassandra-driver>=3.13.0,<4', | |
] | |
celery = [ | |
- 'celery~=5.1,>=5.1.2', | |
+ 'celery~=5.1,>=5.1.2;python_version<"3.7"', | |
+ 'celery>=5.2.3;python_version>="3.7"', | |
'flower~=1.0.0', | |
] | |
cgroups = [ | |
@@ -245,20 +257,19 @@ deprecated_api = [ | |
] | |
doc = [ | |
'click>=7.1,<9', | |
- # Sphinx is limited to < 3.5.0 because of https://github.com/sphinx-doc/sphinx/issues/8880 | |
- 'sphinx>=2.1.2, <3.5.0', | |
+ 'sphinx>=4.0.0, <5.0.0', | |
'sphinx-airflow-theme', | |
'sphinx-argparse>=0.1.13', | |
- 'sphinx-autoapi==1.0.0', | |
+ 'sphinx-autoapi~=1.8.0', | |
'sphinx-copybutton', | |
'sphinx-jinja~=1.1', | |
'sphinx-rtd-theme>=0.1.6', | |
'sphinxcontrib-httpdomain>=1.7.0', | |
'sphinxcontrib-redoc>=1.6.0', | |
- 'sphinxcontrib-spelling==7.2.1', | |
+ 'sphinxcontrib-spelling~=7.3', | |
] | |
docker = [ | |
- 'docker', | |
+ 'docker>=5.0.3', | |
] | |
drill = ['sqlalchemy-drill>=1.1.0', 'sqlparse>=0.4.1'] | |
druid = [ | |
@@ -269,9 +280,7 @@ elasticsearch = [ | |
'elasticsearch-dbapi', | |
'elasticsearch-dsl>=5.0.0', | |
] | |
-exasol = [ | |
- 'pyexasol>=0.5.1,<1.0.0', | |
-] | |
+exasol = ['pyexasol>=0.5.1,<1.0.0', pandas_requirement] | |
facebook = [ | |
'facebook-business>=6.0.2', | |
] | |
@@ -300,7 +309,8 @@ google = [ | |
'google-cloud-build>=3.0.0,<4.0.0', | |
'google-cloud-container>=0.1.1,<2.0.0', | |
'google-cloud-datacatalog>=3.0.0,<4.0.0', | |
- 'google-cloud-dataproc>=2.2.0,<2.6.0', | |
+ 'google-cloud-dataproc>=3.1.0,<4.0.0', | |
+ 'google-cloud-dataproc-metastore>=1.2.0,<2.0.0', | |
'google-cloud-dlp>=0.11.0,<2.0.0', | |
'google-cloud-kms>=2.0.0,<3.0.0', | |
'google-cloud-language>=1.1.1,<2.0.0', | |
@@ -328,6 +338,7 @@ google = [ | |
# pandas-gbq 0.15.0 release broke google provider's bigquery import | |
# _check_google_client_version (airflow/providers/google/cloud/hooks/bigquery.py:49) | |
'pandas-gbq<0.15.0', | |
+ pandas_requirement, | |
] | |
grpc = [ | |
'google-auth>=1.0.0, <3.0.0', | |
@@ -339,11 +350,13 @@ hashicorp = [ | |
] | |
hdfs = [ | |
'snakebite-py3', | |
+ 'hdfs[avro,dataframe,kerberos]>=2.0.4', | |
] | |
hive = [ | |
'hmsclient>=0.1.0', | |
'pyhive[hive]>=0.6.0;python_version<"3.9"', | |
'thrift>=0.9.2', | |
+ pandas_requirement, | |
] | |
http = [ | |
# The 2.26.0 release of requests got rid of the chardet LGPL mandatory dependency, allowing us to | |
@@ -353,7 +366,10 @@ http = [ | |
http_provider = [ | |
'apache-airflow-providers-http', | |
] | |
-influxdb = ['pandas>=0.17.1, <2.0', 'influxdb-client>=1.19.0'] | |
+influxdb = [ | |
+ 'influxdb-client>=1.19.0', | |
+ pandas_requirement, | |
+] | |
jdbc = [ | |
'jaydebeapi>=1.1.1', | |
] | |
@@ -380,7 +396,8 @@ ldap = [ | |
leveldb = ['plyvel'] | |
mongo = [ | |
'dnspython>=1.13.0,<3.0.0', | |
- 'pymongo>=3.6.0', | |
+ # pymongo 4.0.0 removes connection option `ssl_cert_reqs` which is used in providers-mongo/2.2.0 | |
+ 'pymongo>=3.6.0,<4.0.0', | |
] | |
mssql = [ | |
'pymssql~=2.1,>=2.1.5', | |
@@ -400,7 +417,7 @@ pagerduty = [ | |
'pdpyras>=4.1.2,<5', | |
] | |
pandas = [ | |
- 'pandas>=0.17.1, <2.0', | |
+ pandas_requirement, | |
] | |
papermill = [ | |
'papermill[all]>=1.2.1', | |
@@ -421,7 +438,10 @@ plexus = [ | |
postgres = [ | |
'psycopg2-binary>=2.7.4', | |
] | |
-presto = ['presto-python-client>=0.7.0,<0.8'] | |
+presto = [ | |
+ 'presto-python-client>=0.7.0,<0.8', | |
+ pandas_requirement, | |
+] | |
psrp = [ | |
'pypsrp~=0.5', | |
] | |
@@ -434,10 +454,7 @@ rabbitmq = [ | |
redis = [ | |
'redis~=3.2', | |
] | |
-salesforce = [ | |
- 'simple-salesforce>=1.0.0', | |
- 'tableauserverclient', | |
-] | |
+salesforce = ['simple-salesforce>=1.0.0', 'tableauserverclient', pandas_requirement] | |
samba = [ | |
'smbprotocol>=1.5.0', | |
] | |
@@ -456,7 +473,9 @@ slack = [ | |
'slack_sdk>=3.0.0,<4.0.0', | |
] | |
snowflake = [ | |
- 'snowflake-connector-python>=2.4.1', | |
+ # Snowflake connector 2.7.2 requires pyarrow >=6.0.0 but apache-beam requires < 6.0.0 | |
+ # We should remove the limitation when apache-beam upgrades pyarrow | |
+ 'snowflake-connector-python>=2.4.1,<2.7.2', | |
# The snowflake-alchemy 1.2.5 introduces a hard dependency on sqlalchemy>=1.4.0, but they didn't define | |
# this requirements in setup.py, so pip cannot figure out the correct set of dependencies. | |
# See: https://github.com/snowflakedb/snowflake-sqlalchemy/issues/234 | |
@@ -479,7 +498,10 @@ tableau = [ | |
telegram = [ | |
'python-telegram-bot~=13.0', | |
] | |
-trino = ['trino>=0.301.0'] | |
+trino = [ | |
+ 'trino>=0.301.0', | |
+ pandas_requirement, | |
+] | |
vertica = [ | |
'vertica-python>=0.5.1', | |
] | |
@@ -493,7 +515,7 @@ winrm = [ | |
'pywinrm~=0.4', | |
] | |
yandex = [ | |
- 'yandexcloud>=0.97.0', | |
+ 'yandexcloud>=0.122.0', | |
] | |
zendesk = [ | |
'zdesk', | |
@@ -519,7 +541,7 @@ devel_only = [ | |
'jira', | |
'jsondiff', | |
'mongomock', | |
- 'moto~=2.2, >=2.2.7', | |
+ 'moto~=2.2, >=2.2.12', | |
'mypy==0.770', | |
'parameterized', | |
'paramiko', | |
@@ -540,6 +562,8 @@ devel_only = [ | |
'qds-sdk>=1.9.6', | |
'pytest-httpx', | |
'requests_mock', | |
+ 'semver', | |
+ 'twine', | |
'wheel', | |
'yamllint', | |
] |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment