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
You can install directly using pip:
pip install apache-airflow-client
Or install via Setuptools.
git clone [email protected]: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
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(
host="http://localhost/api/v1",
username='admin',
password='admin'
)
# 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)
try:
# Get current configuration
api_response = api_instance.get_config()
pprint(api_response)
except airflow_client.client.ApiException as e:
print("Exception when calling ConfigApi->get_config: %s\n" % e)
See README for full client API documentation.
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 [email protected]:apache/airflow-client-python.git
# clone Airflow repo (if not already)
git clone [email protected]: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)