Skip to content
Merged
Changes from all commits
Commits
Show all changes
20 commits
Select commit Hold shift + click to select a range
b89ff2a
Update start.rst for Windows WSL2 installation
Srabasti Oct 22, 2025
890341d
Update start.rst
Srabasti Oct 22, 2025
9552420
Update start.rst with formatting changes
Srabasti Oct 22, 2025
048eab0
Update start.rst to add line after ..code-block:: bash
Srabasti Oct 23, 2025
53fc0d7
Merge branch 'apache:main' into Srabasti-patch-WSL2_updates
Srabasti Oct 23, 2025
7c74593
Fix trailing whitespace in start.rst
Srabasti Oct 28, 2025
cf2d2fd
Update airflow-core/docs/start.rst
Srabasti Nov 1, 2025
739eb12
Update airflow-core/docs/start.rst
Srabasti Nov 1, 2025
aca1c64
Update airflow-core/docs/start.rst
Srabasti Nov 1, 2025
edd939b
Merge branch 'main' into Srabasti-patch-WSL2_updates
Srabasti Nov 1, 2025
09481b5
Merge branch 'main' into Srabasti-patch-WSL2_updates
Srabasti Nov 3, 2025
f90fa3f
Merge branch 'main' into Srabasti-patch-WSL2_updates
Srabasti Nov 7, 2025
c6cf755
Fix trailing whitespace, reshuffling content, adding uv in start.rst
Srabasti Nov 7, 2025
0cf4ac3
Merge branch 'main' into Srabasti-patch-WSL2_updates
Srabasti Nov 7, 2025
1fc7e01
Merge branch 'main' into Srabasti-patch-WSL2_updates
Srabasti Nov 9, 2025
a482601
Incorporating review comments for performance benefits of uv over pip…
Srabasti Nov 9, 2025
4d017c9
Fix RST syntax errors: add :: to code-block and fix path separators
Srabasti Nov 9, 2025
2b7c035
Fix typos in link
Srabasti Nov 9, 2025
c8c6907
Merge branch 'main' into Srabasti-patch-WSL2_updates
Srabasti Nov 9, 2025
a30158b
Merge branch 'main' into Srabasti-patch-WSL2_updates
Srabasti Nov 10, 2025
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
40 changes: 37 additions & 3 deletions airflow-core/docs/start.rst
Original file line number Diff line number Diff line change
Expand Up @@ -26,9 +26,9 @@ This quick start guide will help you bootstrap an Airflow standalone instance on

Successful installation requires a Python 3 environment. Starting with Airflow 3.1.0, Airflow supports Python 3.10, 3.11, 3.12, 3.13.

Officially supported installation methods is with``pip`.
Officially supported installation methods is with``pip`` or ``uv``.

Run ``pip install apache-airflow[EXTRAS]==AIRFLOW_VERSION --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-AIRFLOW_VERSION/constraints-PYTHON_VERSION.txt"``, for example ``pip install "apache-airflow[celery]==3.0.0" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.0.0/constraints-3.10.txt"`` to install Airflow in a reproducible way.
Run ``pip install apache-airflow[EXTRAS]==AIRFLOW_VERSION --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-AIRFLOW_VERSION/constraints-PYTHON_VERSION.txt"``, for example ``pip install "apache-airflow[celery]==3.0.0" --constraint "https://raw.githubusercontent.com/apache/airflow/constraints-3.0.0/constraints-3.10.txt"`` to install Airflow in a reproducible way. You can also use - much faster - ``uv`` - by adding ``uv`` before the command.



Expand All @@ -43,6 +43,12 @@ This quick start guide will help you bootstrap an Airflow standalone instance on
This guide will help you quickly set up Apache Airflow using ``uv``, a fast and modern tool for managing Python environments and dependencies. ``uv`` makes the installation process easy and provides a
smooth setup experience.

If you are on Windows, you have to use WSL2 (Linux environment for Windows).

.. code-block:: bash

wsl --install

1. **Set Airflow Home (optional)**:

Airflow requires a home directory, and uses ``~/airflow`` by default, but you can set a different location if you prefer. The ``AIRFLOW_HOME`` environment variable is used to inform Airflow of the desired location. This step of setting the environment variable should be done before installing Airflow so that the installation process knows where to store the necessary files.
Expand All @@ -51,7 +57,7 @@ This quick start guide will help you bootstrap an Airflow standalone instance on

export AIRFLOW_HOME=~/airflow

2. Install Airflow Using uv:
2. Install Airflow in a virtual environment using ``uv`` since it is faster alternative that creates the ``venv`` automatically implicitly for you. It is efficient alternative to using ``pip`` and ``venv``.

.. rst-class:: centered

Expand All @@ -61,6 +67,34 @@ This quick start guide will help you bootstrap an Airflow standalone instance on
For creating virtual environment with ``uv``, refer to the documentation here:
`Creating and Maintaining Local virtual environment with uv <https://github.com/apache/airflow/blob/main/contributing-docs/07_local_virtualenv.rst#creating-and-maintaining-local-virtualenv-with-uv-recommended>`_

For installation using ``pip`` and ``venv``, carry out following steps:
.. code-block:: bash

# For Windows after WSL2 install, restart computer, then in WSL Ubuntu terminal
sudo apt update
sudo apt install python3-pip python3-venv

bash # Go to Linux home directory (not Windows mount)
cd ~

# Create airflow directory
mkdir -p ~/airflow
cd ~airflow

# Create virtual environment
python3 -m venv airflow_venv

# Activate
source airflow_venv/bin/activate

# Upgrade pip
pip install --upgrade pip

# Install Airflow with correct Python version constraints
pip install apache-airflow[celery]==3.1.0 --constraint https://raw.githubusercontent.com/apache/airflow/constraints-3.1.0/constraints-3.12.txt

# Verify installation
airflow version

3. Install Airflow using the constraints file, which is determined based on the URL we pass:

Expand Down