From 549862e475c9da4543c75f44d6bc651ef3e250e3 Mon Sep 17 00:00:00 2001 From: Jarek Potiuk Date: Tue, 13 Jul 2021 22:13:30 +0200 Subject: [PATCH] Switch back http provider after requests removes LGPL dependency (#16974) Following merging the https://github.com/psf/requests/pull/5797 and requests 2.26.0 release without LGPL chardet dependency, we can now bring back http as pre-installed provider as it does not bring chardet automatically any more. (cherry picked from commit c46e841519ef2df7dc40ff2596dd49c010514d87) --- docs/apache-airflow/extra-packages-ref.rst | 2 +- setup.py | 13 ++++++------- 2 files changed, 7 insertions(+), 8 deletions(-) diff --git a/docs/apache-airflow/extra-packages-ref.rst b/docs/apache-airflow/extra-packages-ref.rst index b4b4bb4d98717..b1dff072b3380 100644 --- a/docs/apache-airflow/extra-packages-ref.rst +++ b/docs/apache-airflow/extra-packages-ref.rst @@ -258,7 +258,7 @@ Those are extras that provide support for integration with external systems via +---------------------+-----------------------------------------------------+--------------------------------------+--------------+ | grpc | ``pip install 'apache-airflow[grpc]'`` | Grpc hooks and operators | | +---------------------+-----------------------------------------------------+--------------------------------------+--------------+ -| http | ``pip install 'apache-airflow[http]'`` | HTTP hooks, operators and sensors | | +| http | ``pip install 'apache-airflow[http]'`` | HTTP hooks, operators and sensors | * | +---------------------+-----------------------------------------------------+--------------------------------------+--------------+ | imap | ``pip install 'apache-airflow[imap]'`` | IMAP hooks and sensors | * | +---------------------+-----------------------------------------------------+--------------------------------------+--------------+ diff --git a/setup.py b/setup.py index 5d6f7528b1da1..21097e64404ee 100644 --- a/setup.py +++ b/setup.py @@ -231,13 +231,13 @@ def write_version(filename: str = os.path.join(*[my_dir, "airflow", "git_version 'distributed>=2.11.1, <2.20', ] databricks = [ - 'requests>=2.20.0, <3', + 'requests>=2.26.0, <3', ] datadog = [ 'datadog>=0.14.0', ] deprecated_api = [ - 'requests>=2.20.0', + 'requests>=2.26.0', ] doc = [ # Sphinx is limited to < 3.5.0 because of https://github.com/sphinx-doc/sphinx/issues/8880 @@ -330,7 +330,9 @@ def write_version(filename: str = os.path.join(*[my_dir, "airflow", "git_version 'thrift>=0.9.2', ] http = [ - 'requests>=2.20.0', + # The 2.26.0 release of requests got rid of the chardet LGPL mandatory dependency, allowing us to + # release it as a requirement for airflow + 'requests>=2.26.0', ] http_provider = [ # NOTE ! The HTTP provider is NOT preinstalled by default when Airflow is installed - because it @@ -810,12 +812,9 @@ def sort_extras_requirements() -> Dict[str, List[str]]: # Those providers are pre-installed always when airflow is installed. # Those providers do not have dependency on airflow2.0 because that would lead to circular dependencies. # This is not a problem for PIP but some tools (pipdeptree) show those as a warning. -# NOTE ! The HTTP provider is NOT preinstalled by default when Airflow is installed - because it -# depends on `requests` library and until `chardet` is mandatory dependency of `requests` -# we cannot make it mandatory dependency. See https://github.com/psf/requests/pull/5797 PREINSTALLED_PROVIDERS = [ 'ftp', - # 'http', + 'http', 'imap', 'sqlite', ]