Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 4 additions & 0 deletions INSTALL
Original file line number Diff line number Diff line change
Expand Up @@ -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
Expand Down
19 changes: 19 additions & 0 deletions contributing-docs/07_local_virtualenv.rst
Original file line number Diff line number Diff line change
Expand Up @@ -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 code are automatically reflected in your installed virtualenv.

Using Hatch
-----------
Expand Down