{"id":23264,"library":"apache-airflow-providers-openfaas","title":"Apache Airflow Provider for OpenFaaS","description":"The Apache Airflow Provider for OpenFaaS enables integration with OpenFaaS function-as-a-service platform. Version 3.9.4 supports Apache Airflow >=2.10.0 and Python >=3.10. It provides hooks, operators, and sensors to invoke and manage OpenFaaS functions. Release cadence follows Airflow provider updates.","status":"active","version":"3.9.4","language":"python","source_language":"en","source_url":"https://github.com/apache/airflow/tree/main/airflow/providers/openfaas","tags":["airflow","openfaas","provider","serverless"],"install":[{"cmd":"pip install apache-airflow-providers-openfaas","lang":"bash","label":"Install from PyPI"},{"cmd":"pip install apache-airflow[openfaas]","lang":"bash","label":"Install via Airflow extras (deprecated)"}],"dependencies":[{"reason":"Core dependency; provider requires Airflow >=2.10.0","package":"apache-airflow","optional":false}],"imports":[{"note":"Old hook module location deprecated in Airflow 2.0","wrong":"from airflow.hooks.openfaas_hook import OpenFaasHook","symbol":"OpenFaasHook","correct":"from airflow.providers.openfaas.hooks.openfaas import OpenFaasHook"},{"note":"Operator moved to providers package in Airflow 2.0","wrong":"from airflow.operators.openfaas_operator import OpenFaasInvokeFunctionOperator","symbol":"OpenFaasInvokeFunctionOperator","correct":"from airflow.providers.openfaas.operators.openfaas import OpenFaasInvokeFunctionOperator"},{"note":"Sensor moved to providers package","wrong":"from airflow.sensors.openfaas_sensor import OpenFaasFunctionSensor","symbol":"OpenFaasFunctionSensor","correct":"from airflow.providers.openfaas.sensors.openfaas import OpenFaasFunctionSensor"}],"quickstart":{"code":"from airflow import DAG\nfrom airflow.providers.openfaas.operators.openfaas import OpenFaasInvokeFunctionOperator\nfrom datetime import datetime\n\nwith DAG(\n    dag_id='openfaas_invoke',\n    start_date=datetime(2023, 1, 1),\n    schedule_interval=None,\n    catchup=False,\n) as dag:\n    invoke = OpenFaasInvokeFunctionOperator(\n        task_id='invoke_function',\n        function_name='my-function',\n        payload={\"key\": \"value\"},\n        gateway_url='http://gateway:8080',\n    )","lang":"python","description":"Basic DAG invoking an OpenFaaS function. Replace gateway_url and function_name with your deployment details."},"warnings":[{"fix":"Install with pip install apache-airflow-providers-openfaas and update imports to use airflow.providers.openfaas path.","message":"Provider versioning changed: versions 2.x and earlier were part of Airflow extras. As of 3.0+, the provider is a separate package and must be installed explicitly. Dependencies on OpenFaaS client library (faas-client) may have breaking changes.","severity":"breaking","affected_versions":">=3.0.0"},{"fix":"Set the gateway_url argument in operators/hook or set OPENFAAS_GATEWAY_URL environment variable.","message":"OpenFaasHook requires explicit 'gateway_url' parameter or environment variable OPENFAAS_GATEWAY_URL. If not set, the hook may default to localhost, causing connection issues.","severity":"gotcha","affected_versions":"All"},{"fix":"Use pip install apache-airflow-providers-openfaas instead.","message":"The use of Airflow extras (e.g., pip install apache-airflow[openfaas]) is deprecated for providers. Users should install the provider package directly.","severity":"deprecated","affected_versions":">=3.0.0"}],"env_vars":null,"last_verified":"2026-05-01T00:00:00.000Z","next_check":"2026-07-30T00:00:00.000Z","problems":[{"fix":"Run: pip install apache-airflow-providers-openfaas","cause":"Provider package not installed or installed incorrectly (missing dependencies).","error":"ModuleNotFoundError: No module named 'airflow.providers.openfaas'"},{"fix":"Change import to: from airflow.providers.openfaas.hooks.openfaas import OpenFaasHook","cause":"Using old import path from Airflow 1.x.","error":"AttributeError: module 'airflow.hooks' has no attribute 'openfaas_hook'"},{"fix":"Verify gateway is running: curl http://<gateway_url>/healthz. Ensure network connectivity and correct port.","cause":"OpenFaaS gateway is not running or unreachable at the configured URL.","error":"OSError: [Errno 111] Connection refused for gateway_url"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}