Skip to content

Commit ce9364e

Browse files
authored
Manages cross-distribution dependencies better (#58430)
This PR addresses the case where we have to manage dependencies between Airfow distributions and we have to manage the right lower bind versions for them. Since we missed a comprehensive documentation on how our dependencies are managed in general, and we had no good place to describe it, this PR not only adds code to manage it, but also extends the documentation of the "12_airflw_dependencies_and_extras.rst" chapter of the contributing documentation to include comprehensive (but also hopefully helpful) documentation explaining to contributors how our dependencies are managed. The changes in the doc: * add missing documentation explaining dependency management in airflow distributions in the monorepo * adds selective check to verify if cross-airflow-distribution dependencies have not been modified in the PR, and fails if they were, unless appropriate label is set on the PR * adds breeze tests covering the test cases of selective check
1 parent dda9d61 commit ce9364e

File tree

6 files changed

+597
-15
lines changed

6 files changed

+597
-15
lines changed

airflow-core/docs/installation/installing-from-pypi.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ PyPI <https://pypi.org/project/apache-airflow/>`__.
2424
Installation tools
2525
''''''''''''''''''
2626

27-
Only ``pip`` installation is currently officially supported.
27+
Only ``pip`` and ``uv`` installation is currently officially supported.
2828

2929
.. note::
3030

@@ -33,7 +33,8 @@ Only ``pip`` installation is currently officially supported.
3333
``pip`` - especially when it comes to constraint vs. requirements management.
3434
Installing via ``Poetry`` or ``pip-tools`` is not currently supported. If you wish to install Airflow
3535
using those tools you should use the constraints and convert them to appropriate
36-
format and workflow that your tool requires.
36+
format and workflow that your tool requires. Uv follows ``pip`` approach
37+
with ``uv pip`` so it should work similarly.
3738

3839

3940
Typical command to install Airflow from scratch in a reproducible way from PyPI looks like below:

airflow-ctl/docs/installation/installing-from-pypi.rst

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ PyPI <https://pypi.org/project/apache-airflow-ctl/>`__.
2424
Installation tools
2525
''''''''''''''''''
2626

27-
Only ``pip`` installation is currently officially supported.
27+
Only ``pip`` and ``uv`` installation is currently officially supported.
2828

2929
.. note::
3030

@@ -33,7 +33,8 @@ Only ``pip`` installation is currently officially supported.
3333
``pip`` - especially when it comes to constraint vs. requirements management.
3434
Installing via ``Poetry`` or ``pip-tools`` is not currently supported. If you wish to install airflow
3535
using those tools you should use the constraints and convert them to appropriate
36-
format and workflow that your tool requires.
36+
format and workflow that your tool requires. Uv follows ``pip`` approach
37+
with ``uv pip`` so it should work similarly.
3738

3839
There are known issues with ``bazel`` that might lead to circular dependencies when using it to install
3940
Airflow. Please switch to ``pip`` if you encounter such problems. ``Bazel`` community works on fixing

0 commit comments

Comments
 (0)