Skip to main content

Apache Airflow API (Stable)

Project description

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.

Requirements.

Python >= 3.6

Installation & Usage

pip install

You can install directly using pip:

pip install apache-airflow-client

Setuptools

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(
    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.

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)

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

apache-airflow-client-2.1.0rc1.tar.gz (146.6 kB view details)

Uploaded Source

Built Distribution

apache_airflow_client-2.1.0rc1-py3-none-any.whl (1.1 MB view details)

Uploaded Python 3

File details

Details for the file apache-airflow-client-2.1.0rc1.tar.gz.

File metadata

  • Download URL: apache-airflow-client-2.1.0rc1.tar.gz
  • Upload date:
  • Size: 146.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for apache-airflow-client-2.1.0rc1.tar.gz
Algorithm Hash digest
SHA256 d1c075b10a143f01bcd1e9cac65863c2a1bf96f446337728bde70aae474256aa
MD5 32e5c0affb8ad7c0c39e5ec36b868874
BLAKE2b-256 40bc0ec5357c013ef38020a48976723ed3d2cb77d4d6becf1f22f49d6a786067

See more details on using hashes here.

File details

Details for the file apache_airflow_client-2.1.0rc1-py3-none-any.whl.

File metadata

  • Download URL: apache_airflow_client-2.1.0rc1-py3-none-any.whl
  • Upload date:
  • Size: 1.1 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/3.4.1 importlib_metadata/4.0.1 pkginfo/1.7.0 requests/2.25.1 requests-toolbelt/0.9.1 tqdm/4.59.0 CPython/3.7.10

File hashes

Hashes for apache_airflow_client-2.1.0rc1-py3-none-any.whl
Algorithm Hash digest
SHA256 f78ca6957bea47c29ca406b7eb0b69ef63f6077103beec905c325369dcd0f979
MD5 f83cee4ce56b7cd4512dddd700790a9d
BLAKE2b-256 bb412bd5bbacde0c4929e85b38834c26b1408c23b9657e8e5c635e8ddb7b4899

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page