potiuk commented on a change in pull request #14176: URL: https://github.com/apache/airflow/pull/14176#discussion_r632283362
########## File path: contribute/CONTRIBUTE-PROVIDERS.rst ########## @@ -0,0 +1,293 @@ +.. Licensed to the Apache Software Foundation (ASF) under one + or more contributor license agreements. See the NOTICE file + distributed with this work for additional information + regarding copyright ownership. The ASF licenses this file + to you under the Apache License, Version 2.0 (the + "License"); you may not use this file except in compliance + with the License. You may obtain a copy of the License at + + .. http://www.apache.org/licenses/LICENSE-2.0 + + .. Unless required by applicable law or agreed to in writing, + software distributed under the License is distributed on an + "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY + KIND, either express or implied. See the License for the + specific language governing permissions and limitations + under the License. + +.. contents:: :local: + +Overview of Airflow Dependencies +==================== + +.. note:: + + On November 2020, new version of PIP (20.3) has been released with a new, 2020 resolver. This resolver + might work with Apache Airflow as of 20.3.3, but it might lead to errors in installation. It might + depend on your choice of extras. In order to install Airflow you might need to either downgrade + pip to version 20.2.4 ``pip install --upgrade pip==20.2.4`` or, in case you use Pip 20.3, + you need to add option ``--use-deprecated legacy-resolver`` to your pip install command. + + While ``pip 20.3.3`` solved most of the ``teething`` problems of 20.3, this note will remain here until we + set ``pip 20.3`` as official version in our CI pipeline where we are testing the installation as well. + Due to those constraints, only ``pip`` installation is currently officially supported. + + While they are some successes with using other tools like `poetry <https://python-poetry.org/>`_ or + `pip-tools <https://pypi.org/project/pip-tools/>`_, they do not share the same workflow as + ``pip`` - especially when it comes to constraint vs. requirements management. + Installing via ``Poetry`` or ``pip-tools`` is not currently supported. + + If you wish to install airflow using those tools you should use the constraint files and convert + them to appropriate format and workflow that your tool requires. + + +Extras +------ + +There are a number of extras that can be specified when installing Airflow. Those +extras can be specified after the usual pip install - for example +``pip install -e .[ssh]``. For development purpose there is a ``devel`` extra that +installs all development dependencies. There is also ``devel_ci`` that installs +all dependencies needed in the CI environment. + +This is the full list of those extras: + + .. START EXTRAS HERE Review comment: We also need to make one CODE change here. this document gets automatically updated whenever extras are added, so you also need to change name of the file here: https://github.com/apache/airflow/blob/master/scripts/ci/pre_commit/pre_commit_insert_extras.py#L62 From `CONTRIBUTING.rst` to `CONTRIBUTE-PROVIDERS.rst` -- This is an automated message from the Apache Git Service. To respond to the message, please log on to GitHub and use the URL above to go to the specific comment. For queries about this service, please contact Infrastructure at: us...@infra.apache.org