Newtuple
Back to Blog
Data EngineeringTutorials

Run Apache Airflow Locally in 5 Minutes with airflow standalone

Install Apache Airflow 3 on your laptop with pip, start it with one command, log in to the web UI and run your first DAG. Commands, FAQ and fixes.

Vedant KoshatwarFebruary 28, 20234 min readUpdated September 23, 2026
Run Apache Airflow Locally in 5 Minutes with airflow standalone

Short answer: create a Python virtual environment, install Airflow with pip using the official constraints file, then run airflow standalone. Open http://localhost:8080 and log in as admin. Your password is saved in ~/airflow/simple_auth_manager_passwords.json.generated.

Apache Airflow is an open-source tool for building, scheduling and monitoring data pipelines. You write each pipeline as a Python file called a DAG (a set of tasks and the order they run in), and Airflow runs it on a schedule. Its web UI shows every run, log and failure.

Apache Airflow logoApache Airflow logo

What changed since the original post (2023): Airflow is now on version 3. A single command, airflow standalone, sets up the database, creates your admin user and starts everything. You no longer need to run airflow users create or Docker Compose just to try it out.

What do you need before you start?

  • Python 3.10 to 3.14 on macOS or Linux. On Windows, use WSL2.
  • A terminal and a few minutes. The install downloads a fair number of packages.

Step 1: Create a virtual environment

This keeps Airflow and its packages separate from the rest of your Python setup:

python3 -m venv airflow-venv
source airflow-venv/bin/activate

Step 2: Choose where Airflow keeps its files

export AIRFLOW_HOME=~/airflow

Airflow stores its settings, database and DAG files here.

Step 3: Install Airflow

Airflow needs a "constraints" file, so every package installs at a version that's tested to work together. These commands pick the right file for your Python version:

AIRFLOW_VERSION=3.3.2
PYTHON_VERSION="$(python -c 'import sys; print(f"{sys.version_info.major}.{sys.version_info.minor}")')"
CONSTRAINT_URL="https://raw.githubusercontent.com/apache/airflow/constraints-${AIRFLOW_VERSION}/constraints-${PYTHON_VERSION}.txt"
pip install "apache-airflow==${AIRFLOW_VERSION}" --constraint "${CONSTRAINT_URL}"

3.3.2 was the latest release when we wrote this. Check the Airflow releases page for newer ones.

Step 4: Check that it installed

airflow version

Terminal showing the output of airflow versionTerminal showing the output of airflow version This screenshot is from the original post. Your version number will be 3.x.

Step 5: Start Airflow

airflow standalone

This one command sets up Airflow's database, creates an admin user and starts all the parts Airflow needs. Leave this terminal window open while you use Airflow.

Step 6: Log in to the Airflow UI

Open http://localhost:8080. The username is admin. To see your password, run this in a new terminal window:

cat ~/airflow/simple_auth_manager_passwords.json.generated

After you log in, you'll see a list of example DAGs you can switch on and run.

Airflow UI showing a list of DAGsAirflow UI showing a list of DAGs The DAGs list, from an earlier Airflow version. Airflow 3's screens look more modern, but they work the same way.

Step 7: Write your first DAG

Create a file at ~/airflow/dags/hello_newtuple.py:

import datetime
import airflow.sdk as sdk

@sdk.dag(schedule="@daily", start_date=datetime.datetime(2026, 1, 1), catchup=False)
def hello_newtuple() -> None:
    @sdk.task
    def say_hello() -> None:
        print("Hello from Airflow!")

    say_hello()

hello_newtuple()

After a short wait, hello_newtuple shows up in the UI. Switch it on and click Trigger to run it, then open the task's logs to see the message.

Common problems

  • Pip shows version conflicts: install inside a fresh virtual environment and always use the constraints file.
  • Port 8080 is already in use: stop the other app that's using it, then run airflow standalone again.
  • Your new DAG doesn't appear: check that the file is in ~/airflow/dags and has no Python errors. You can test it with python ~/airflow/dags/hello_newtuple.py.

FAQ

Is Apache Airflow free? Yes. Airflow is open source under the Apache 2.0 license. Managed versions from cloud providers and vendors cost money.

What is the default Airflow login? With airflow standalone, the username is admin and the password is generated for you. You'll find it in simple_auth_manager_passwords.json.generated, inside your Airflow folder.

Can I use airflow standalone in production? No. It's meant for trying Airflow out and for local development. For production, use a proper database and a deployment such as the official Helm chart or a managed service.

Airflow or Dagster: which should I pick? Both schedule and run data pipelines. Airflow is the long-standing standard and has a huge set of integrations. Dagster puts data assets at the centre and has strong local development tools. Try our Dagster 5-minute guide to compare.

What to try next

Airflow is the scheduling layer of a modern data stack. Our other 5-minute guides cover the rest:

Want help building reliable data pipelines? Talk to Newtuple.

Stay in the loop

Get new posts, product updates, and research notes once a week.

By subscribing you agree to receive updates from Newtuple. You can unsubscribe anytime.

Ready to build production AI?

Talk to our team about AI agents, data platforms, and GenAI accelerators.

Get in Touch