Apache Airflow - OpenApi Client for Python

Clone this repo:
  1. bf439f3 Add NOTICE file (#25) by Kaxil Naik · 7 weeks ago master
  2. f3f7536 Fix bullets in CHANGELOG by Sumit Maheshwari · 9 weeks ago
  3. a80a087 Update changelog for 2.1.0 release (#23) by Sumit Maheshwari · 9 weeks ago 2.1.0
  4. f9d046e Remove Version suffix for SVN while releasing (#22) by Kaxil Naik · 9 weeks ago
  5. a2ead06 Prepare release 2.1.0 (#19) by Sumit Maheshwari · 9 weeks ago 2.1.0rc1

Apache Airflow Python Client

NOTE: The Apache Airflow Client is still under active development and some methods or APIs might be broken. Please raise an issue in github if you encounter any such issues.


Python >= 3.6

Installation & Usage

pip install

You can install directly using pip:

pip install apache-airflow-client


Or install via Setuptools.

git clone git@github.com:apache/airflow-client-python.git
cd airflow-client-python
python setup.py install --user

(or sudo python setup.py install to install the package for all users)

Then import the package:

import airflow_client.client

Getting Started

Please follow the installation procedure and then run the following:

import airflow_client.client
from pprint import pprint
from airflow_client.client.api import config_api

# The client must use the authentication and authorization parameters
# in accordance with the API server security policy.
# Examples for each auth method are provided below, use the example that
# satisfies your auth use case.
# In case of the basic authentication below, make sure that Airflow is
# configured with the basic_auth as backend:
# auth_backend = airflow.api.auth.backend.basic_auth
# Make sure that your user/name are configured properly

# Configure HTTP basic authorization: Basic
configuration = airflow_client.client.Configuration(

# Enter a context with an instance of the API client
with airflow_client.client.ApiClient(configuration) as api_client:
    # Create an instance of the API class
    api_instance = config_api.ConfigApi(api_client)

        # Get current configuration
        api_response = api_instance.get_config()
    except airflow_client.client.ApiException as e:
        print("Exception when calling ConfigApi->get_config: %s\n" % e)

See README for full client API documentation.

Release Process

The Python client is generated using Airflow's openapi spec. To update the client for new APIs do the following steps:

# clone this repo
git clone git@github.com:apache/airflow-client-python.git

# clone Airflow repo (if not already)
git clone git@github.com:apache/airflow.git
cd airflow

# bump up the version in python.sh & run the following command 
./clients/gen/python.sh airflow/api_connexion/openapi/v1.yaml ../airflow-client-python/airflow_client

# raise a PR in github for both the repos (airflow & airflow-client-python)