Skip to content

Commit 4308a8c

Browse files
authored
Refactor installation pages (#18282)
This PR splits ad improves the installation-related documentation for Airflow. The "installation" page had become overloaded wiht everything-but-the-kitchen-sink and it became rather difficult to navigate and link to relevant sections. Also there was not a single page where one could have an overview on different installation methods possible, cases when each instalation works best as well as understanding what is involved in following each installation method in terms of maintenance, and expectations that users should have when it comes to what Apache Airflow Community provides. The PR leaves the installation page as basically a summary of all installation methods with all above explained and links to detailed pages explaining prerequisites, dependencies, database setup and supported versions.
1 parent 18fef9b commit 4308a8c

File tree

28 files changed

+891
-459
lines changed

28 files changed

+891
-459
lines changed

dev/README_RELEASE_AIRFLOW.md

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -728,14 +728,9 @@ Dear Airflow community,
728728
729729
I'm happy to announce that Airflow ${VERSION} was just released.
730730
731-
The source release, as well as the binary "sdist" release, are available
732-
here:
731+
The released sources and packages can be downloaded via https://airflow.apache.org/installation/installing-from-sources.html
733732
734-
https://dist.apache.org/repos/dist/release/airflow/${VERSION}/
735-
736-
We also made this version available on PyPI for convenience (`pip install apache-airflow`):
737-
738-
https://pypi.python.org/pypi/apache-airflow
733+
Other installation methods are described in https://airflow.apache.org/installation/
739734
740735
The documentation is available on:
741736
https://airflow.apache.org/

dev/README_RELEASE_HELM_CHART.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -569,9 +569,9 @@ Dear Airflow community,
569569
570570
I am pleased to announce that we have released Apache Airflow Helm chart $VERSION 🎉 🎊
571571
572-
The source release, as well as the "binary" Helm Chart release, is available here https://downloads.apache.org/airflow/helm-chart/$VERSION/
572+
The source release, as well as the "binary" Helm Chart release, are available:
573573
574-
📦 Official Source: https://downloads.apache.org/airflow/helm-chart/$VERSION
574+
📦 Official Sources: https://airflow.apache.org/helm-chart/installing-helm-chart-from-sources.html
575575
📦 ArtifactHub: https://artifacthub.io/packages/helm/apache-airflow/airflow
576576
📚 Docs: https://airflow.apache.org/docs/helm-chart/$VERSION/
577577

dev/README_RELEASE_PROVIDER_PACKAGES.md

Lines changed: 3 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -805,15 +805,11 @@ I'm happy to announce that new versions of Airflow Providers packages were just
805805
806806
The source release, as well as the binary releases, are available here:
807807
808-
https://dist.apache.org/repos/dist/release/airflow/providers/
808+
https://airflow.apache.org/docs/apache-airflow-providers/installing-from-sources
809809
810-
We also made those versions available on PyPi for convenience ('pip install apache-airflow-providers-*'):
810+
You can install the providers via PyPI https://airflow.apache.org/apache-airflow-providers/installing-from-pypi
811811
812-
https://pypi.org/search/?q=apache-airflow-providers
813-
814-
The documentation is available at https://airflow.apache.org/docs/ and linked from the PyPI packages:
815-
816-
<PASTE TWINE UPLOAD LINKS HERE. SORT THEM BEFORE!>
812+
The documentation is available at https://airflow.apache.org/docs/ and linked from the PyPI packages.
817813
818814
Cheers,
819815
<your name>

docs/README.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,7 +122,7 @@ Role ``:class:`` works well with references between packages. If you want to use
122122

123123
.. code-block:: rst
124124
125-
:doc:`apache-airflow:installation`
125+
:doc:`apache-airflow:installation/index`
126126
:ref:`apache-airflow-providers-google:write-logs-stackdriver`
127127
128128
If you still feel confused then you can view more possible roles for our documentation:

docs/apache-airflow-providers-amazon/operators/_partials/prerequisite_tasks.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ To use these operators, you must do a few things:
2626
2727
pip install 'apache-airflow[amazon]'
2828
29-
Detailed information is available :doc:`apache-airflow:installation`
29+
Detailed information is available :doc:`apache-airflow:installation/index`
3030

3131
* :doc:`Setup Connection </connections/aws>`.
3232

docs/apache-airflow-providers-google/operators/_partials/prerequisite_tasks.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -28,6 +28,6 @@ To use these operators, you must do a few things:
2828
2929
pip install 'apache-airflow[google]'
3030
31-
Detailed information is available for :doc:`Installation <apache-airflow:installation>`.
31+
Detailed information is available for :doc:`Installation <apache-airflow:installation/index>`.
3232

3333
* :doc:`Setup a Google Cloud Connection </connections/gcp>`.

docs/apache-airflow-providers-microsoft-azure/operators/_partials/prerequisite_tasks.rst

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@ To use these operators, you must do a few things:
2626
2727
pip install 'apache-airflow[azure]'
2828
29-
Detailed information is available :doc:`apache-airflow:installation`
29+
Detailed information is available :doc:`apache-airflow:installation/index`
3030

3131
* :doc:`Setup Connection </connections/azure>`.
3232

docs/apache-airflow-providers/index.rst

Lines changed: 2 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -143,7 +143,7 @@ package.
143143

144144
Each community provider has corresponding extra which can be used when installing airflow to install the
145145
provider together with ``Apache Airflow`` - for example you can install airflow with those extras:
146-
``apache-airflow[google,amazon]`` (with correct constraints -see :doc:`apache-airflow:installation`) and you
146+
``apache-airflow[google,amazon]`` (with correct constraints -see :doc:`apache-airflow:installation/index`) and you
147147
will install the appropriate versions of the ``apache-airflow-providers-amazon`` and
148148
``apache-airflow-providers-google`` packages together with ``Apache Airflow``.
149149

@@ -417,10 +417,5 @@ specific Airflow versions.
417417
Operators and hooks <operators-and-hooks-ref/index>
418418
Core Extensions <core-extensions/index>
419419
Update community providers <howto/create-update-providers>
420-
421-
.. toctree::
422-
:maxdepth: 2
423-
:hidden:
424-
:caption: Resources
425-
426420
Installing from sources <installing-from-sources>
421+
Installing from PyPI <installing-from-pypi>
Lines changed: 45 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,45 @@
1+
.. Licensed to the Apache Software Foundation (ASF) under one
2+
or more contributor license agreements. See the NOTICE file
3+
distributed with this work for additional information
4+
regarding copyright ownership. The ASF licenses this file
5+
to you under the Apache License, Version 2.0 (the
6+
"License"); you may not use this file except in compliance
7+
with the License. You may obtain a copy of the License at
8+
9+
.. http://www.apache.org/licenses/LICENSE-2.0
10+
11+
.. Unless required by applicable law or agreed to in writing,
12+
software distributed under the License is distributed on an
13+
"AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
14+
KIND, either express or implied. See the License for the
15+
specific language governing permissions and limitations
16+
under the License.
17+
18+
Installation from PyPI
19+
----------------------
20+
21+
.. contents:: :local:
22+
23+
24+
This page describes installations using the ``apache-airflow-providers`` package `published in
25+
PyPI <https://pypi.org/search/?q=apache-airflow-providers>`__.
26+
27+
Installation tools
28+
''''''''''''''''''
29+
30+
Only ``pip`` installation is currently officially supported.
31+
32+
While there are some successes with using other tools like `poetry <https://python-poetry.org/>`_ or
33+
`pip-tools <https://pypi.org/project/pip-tools/>`_, they do not share the same workflow as
34+
``pip`` - especially when it comes to constraint vs. requirements management.
35+
Installing via ``Poetry`` or ``pip-tools`` is not currently supported. If you wish to install airflow
36+
using those tools you should use the constraints and convert them to appropriate
37+
format and workflow that your tool requires.
38+
39+
Typical command to install airflow from PyPI looks like below (you need to use the right Airflow version and Python version):
40+
41+
.. code-block::
42+
43+
pip install "apache-airflow-providers-celery" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-2.1.4/constraints-3.6.txt"
44+
45+
This is an example, see :doc:`apache-airflow:installation/installing-from-pypi` for more examples, including how to upgrade the providers.

docs/apache-airflow-providers/installing-from-sources.rst

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,11 @@ Released packages
3636
</ul>
3737

3838

39+
You can also install ``Apache Airflow Providers`` - as most Python packages - via :doc:`PyPI <installing-from-pypi>`.
40+
You can choose different version of Airflow by selecting different version from the drop-down at
41+
the top-left of the page.
42+
43+
3944
Release integrity
4045
'''''''''''''''''
4146

0 commit comments

Comments
 (0)