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-clientOr 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:
importairflow_client.clientPlease follow the installation procedure and then run the following:
importairflow_client.clientfrompprintimportpprintfromairflow_client.client.apiimportconfig_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: Basicconfiguration=airflow_client.client.Configuration(
host="http://localhost/api/v1",
username='admin',
password='admin'
)
# Enter a context with an instance of the API clientwithairflow_client.client.ApiClient(configuration) asapi_client:
# Create an instance of the API classapi_instance=config_api.ConfigApi(api_client)
try:
# Get current configurationapi_response=api_instance.get_config()
pprint(api_response)
exceptairflow_client.client.ApiExceptionase:
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 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)