{"id":20935,"library":"apache-airflow-providers-arangodb","title":"Apache Airflow Provider for ArangoDB","description":"Apache Airflow provider package to integrate with ArangoDB. Version 2.9.4 supports Airflow 2.x and requires Python >=3.10. Allows use of ArangoDB as a metadata database and provides ArangoDBHook and operators.","status":"active","version":"2.9.4","language":"python","source_language":"en","source_url":"https://github.com/apache/airflow/tree/main/airflow/providers/arangodb","tags":["airflow","arangodb","provider","aql","database"],"install":[{"cmd":"pip install apache-airflow-providers-arangodb","lang":"bash","label":"Install from PyPI"}],"dependencies":[{"reason":"Required: Airflow provider base","package":"apache-airflow","optional":false},{"reason":"Required: ArangoDB driver","package":"python-arango","optional":false}],"imports":[{"note":"Incorrect old import path","wrong":"from airflow.providers.arangodb.hooks.arango_hook import ArangoDBHook","symbol":"ArangoDBHook","correct":"from airflow.providers.arangodb.hooks.arangodb import ArangoDBHook"}],"quickstart":{"code":"from airflow import DAG\nfrom airflow.providers.arangodb.operators.arangodb import ArangoDBOperator\nfrom datetime import datetime\n\nwith DAG(dag_id='arangodb_example', start_date=datetime(2024,1,1), schedule=None, catchup=False) as dag:\n    query = ArangoDBOperator(\n        task_id='run_query',\n        arangodb_conn_id='arangodb_default',\n        query='FOR doc IN collection RETURN doc',\n        result_processor=lambda results: print(results),\n        do_xcom_push=True\n    )","lang":"python","description":"Create a DAG that executes an AQL query using ArangoDBOperator. Ensure connection is configured."},"warnings":[{"fix":"Use Python 3.10+ (recommended 3.11).","message":"Provider dropped support for Python 3.9 in version 2.8.0. Upgrade to Python >=3.10.","severity":"breaking","affected_versions":">=2.8.0"},{"fix":"Set connection in Airflow UI as type 'ArangoDB', host/port/login/password, and extra '{\"database\": \"your_db\"}'.","message":"ArangoDBHook uses python-arango library. Connection URI format: 'arangodb://user:pass@host:port/db' or via Airflow connection extra fields including 'host', 'port', 'username', 'password', 'database'.","severity":"gotcha","affected_versions":"all"},{"fix":"Use result_processor to handle or transform result.","message":"ArangoDBOperator returns raw python-arango query result; result_processor is called if provided. If not, result is pushed to XCom as a dict.","severity":"gotcha","affected_versions":"all"}],"env_vars":null,"last_verified":"2026-04-27T00:00:00.000Z","next_check":"2026-07-26T00:00:00.000Z","problems":[{"fix":"Run 'pip install apache-airflow-providers-arangodb' and restart Airflow webserver/scheduler.","cause":"Provider not installed or Airflow not restarted after install.","error":"ModuleNotFoundError: No module named 'airflow.providers.arangodb'"},{"fix":"Create an ArangoDB connection via Admin UI: Admin > Connections > Add, set Conn Id: arangodb_default, Conn Type: ArangoDB, Host, Login, Password, Port (8529), Extra: {\"database\": \"your_database\"}.","cause":"Connection not configured in Airflow.","error":"airflow.exceptions.AirflowException: The conn_id `arangodb_default` isn't defined"},{"fix":"Use result_processor to convert result to a list/dict: result_processor=lambda res: list(res).","cause":"ArangoDBOperator returns a python-arango Cursor, which Airflow tries to serialize for XCom.","error":"TypeError: Object of type Cursor is not JSON serializable"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}