{"id":27589,"library":"apache-airflow-providers-qdrant","title":"Apache Airflow Provider for Qdrant","description":"An official Apache Airflow provider that integrates Qdrant vector database as an Airflow hook and operator. Version 1.5.5 supports Airflow >=2.10.0 and Qdrant client >=1.13.0, enabling document ingestion, vector search, and collection management in Airflow DAGs. Maintained by the Apache Airflow community, released on PyPI monthly.","status":"active","version":"1.5.5","language":"python","source_language":"en","source_url":"https://github.com/apache/airflow/tree/main/providers/qdrant","tags":["apache-airflow","qdrant","vector-database","embeddings","airflow-provider"],"install":[{"cmd":"pip install apache-airflow-providers-qdrant","lang":"bash","label":"PyPI"}],"dependencies":[{"reason":"Core Airflow required","package":"apache-airflow","optional":false},{"reason":"Qdrant vector database client","package":"qdrant-client","optional":false}],"imports":[{"note":"Airflow providers use dotted paths, not underscores","wrong":"from airflow_providers_qdrant.hooks.qdrant import QdrantHook","symbol":"QdrantHook","correct":"from airflow.providers.qdrant.hooks.qdrant import QdrantHook"},{"note":"Operator is in the qdrant submodule, not directly in operators","wrong":"from airflow.providers.qdrant.operators import QdrantIngestOperator","symbol":"QdrantIngestOperator","correct":"from airflow.providers.qdrant.operators.qdrant import QdrantIngestOperator"}],"quickstart":{"code":"from datetime import datetime\nfrom airflow import DAG\nfrom airflow.providers.qdrant.hooks.qdrant import QdrantHook\nfrom airflow.providers.qdrant.operators.qdrant import QdrantIngestOperator\nimport os\n\nwith DAG(\n    dag_id='qdrant_ingest_example',\n    start_date=datetime(2025, 1, 1),\n    schedule=None,\n    catchup=False,\n) as dag:\n    hook = QdrantHook(\n        qdrant_host=os.environ.get('QDRANT_HOST', 'localhost'),\n        qdrant_port=os.environ.get('QDRANT_PORT', '6333'),\n        qdrant_api_key=os.environ.get('QDRANT_API_KEY', ''),\n    )\n    ingest = QdrantIngestOperator(\n        task_id='ingest_docs',\n        collection_name='my_collection',\n        documents=[{'id': 1, 'text': 'Hello world'}],\n        qdrant_conn_id='qdrant_default',\n    )","lang":"python","description":"Creates a QdrantHook and uses QdrantIngestOperator to ingest documents into a collection."},"warnings":[{"fix":"Replace 'QdrantHookOperator' with 'QdrantIngestOperator' in imports and code.","message":"In version 1.4.0, the operator 'QdrantIngestOperator' was renamed from the old 'QdrantHookOperator' (deprecated). Use the new name to avoid import errors.","severity":"breaking","affected_versions":">=1.4.0"},{"fix":"Always set a connection ID (e.g., 'qdrant_default') in your Airflow connections, and avoid relying on default values outside of testing.","message":"The QdrantClient integrated via the hook defaults to 'localhost:6333' if no connection ID is provided. This can lead to accidental production writes if environment variables are missing.","severity":"gotcha","affected_versions":"*"},{"fix":"Create an Airflow connection of type 'qdrant' with host, port, and API key, then pass the conn_id to the hook.","message":"The 'qdrant_host', 'qdrant_port', and 'qdrant_api_key' parameters on QdrantHook are deprecated since v1.3.0. Use a Qdrant connection ID instead.","severity":"deprecated","affected_versions":">=1.3.0"}],"env_vars":null,"last_verified":"2026-05-09T00:00:00.000Z","next_check":"2026-08-07T00:00:00.000Z","problems":[{"fix":"Run 'pip install apache-airflow-providers-qdrant' and restart your Airflow webserver/scheduler.","cause":"The provider package is not installed or Airflow's provider manager didn't sync it.","error":"ModuleNotFoundError: No module named 'airflow.providers.qdrant'"},{"fix":"Upgrade to latest provider: 'pip install --upgrade apache-airflow-providers-qdrant' and verify the import path: 'from airflow.providers.qdrant.hooks.qdrant import QdrantHook'.","cause":"Imported the wrong symbol or the provider version is too old (<1.0.0).","error":"AttributeError: module 'airflow.providers.qdrant.hooks.qdrant' has no attribute 'QdrantHook'"}],"ecosystem":"pypi","meta_description":null,"install_score":null,"install_tag":null,"quickstart_score":null,"quickstart_tag":null}