tree: 8c627fdf8cc9cf9301269fc97fe05784e0268587 [path history] [tgz]
  1. docs/
  2. newsfragments/
  3. src/
  4. tests/
  5. .gitignore
  6. pyproject.toml
  7. README.md
  8. RELEASE_NOTES.rst
airflow-ctl/README.md

airflowctl

A command-line tool for interacting with Apache Airflow instances through the Airflow REST API. It offers a convenient interface for performing common operations remotely without direct access to the Airflow scheduler or webserver.

Features

  • Communicates with Airflow instances through the REST API
  • Supports authentication using Airflow API tokens
  • Executes commands against remote Airflow deployments
  • Provides intuitive command organization with group-based structure
  • Includes detailed help documentation for all commands

Requirements

  • Python 3.10 or later (compatible with Python >= 3.10 and < 3.13)
  • Network access to an Apache Airflow instance with REST API enabled
  • Keyring backend installed in operating system for secure token storage

Usage

Access the tool from your terminal:

Command Line

airflowctl --help

Contributing

Want to help improve Apache Airflow? Check out our contributing documentation.

Additional Contribution Guidelines

  • Please ensure API is running while doing development testing.
  • There are two ways to have a CLI command,
    • Auto Generated Commands
    • Implemented Commands

Auto Generated Commands

Auto generation of commands directly from operations methods under airflow-ctl/src/airflowctl/api/operations.py. Whenever operation is mapped with proper datamodel and response model, it will be automatically added to the command.

You can check each command with airflowctl <command> --help to see the available options.

Implemented Commands

Implemented commands are the ones which are not auto generated and need to be implemented manually. You can check the implemented commands under airflow-ctl/src/airflowctl/clt/commands/.