diff --git a/INSTALL b/INSTALL index 6583d9de4420..7520cb88aff3 100644 --- a/INSTALL +++ b/INSTALL @@ -93,6 +93,10 @@ or you can install all packages needed to run tests for core, providers, and all You can see the list of all available extras below. +Additionally when you want to develop providers you need to install providers code in editable mode: + + pip install -e "./providers" + # Using Hatch to manage your Python, virtualenvs, and build packages Airflow uses [hatch](https://hatch.pypa.io/) as a build and development tool. It is one of the popular diff --git a/contributing-docs/07_local_virtualenv.rst b/contributing-docs/07_local_virtualenv.rst index a5238bfe829b..3e7c154508c4 100644 --- a/contributing-docs/07_local_virtualenv.rst +++ b/contributing-docs/07_local_virtualenv.rst @@ -125,6 +125,25 @@ The full list of extras is available in `pyproject.toml <../pyproject.toml>`_ an 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. +Developing community providers in local virtualenv +.................................................. + +While the above installation is good enough to work on Airflow code, in order to develop +providers, you also need to install them in the virtualenv you work on (after installing +the extras in airflow, that correspond to the provider you want to develop). + +If you want to develop google providers, for example you can run the following commands: + +.. code:: bash + + pip install -e ".[devel,devel-tests,google]" + pip install -e "./providers" + +The first command installs airflow, it's development dependencies, test dependencies and +both runtime and development dependencies of the google provider. + +The second one installs providers source code in development mode, so that modifications +to the cod are automatically reflected in your installed virtualenv. Using Hatch -----------