Registry / workflow / apache-airflow-providers-qdrant

apache-airflow-providers-qdrant

JSON →
library1.5.5pypypi✓ verified 83d ago

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.

pip install apache-airflow-providers-qdrant
INSTALL
IMPORT
SIG · APACHE-AIRFLOW-PRO
A
apache-airflow-providers-qdrant
workflowpythonv1.5.5
harness data pending
Install & Compatibility
Where this runs

No compatibility data collected yet for this library.

Code
Verified usage

Verified import paths — ran on the pinned version, not inferred.

QdrantHook
from airflow.providers.qdrant.hooks.qdrant import QdrantHook
from airflow_providers_qdrant.hooks.qdrant import QdrantHook
Airflow providers use dotted paths, not underscores
QdrantIngestOperator
from airflow.providers.qdrant.operators.qdrant import QdrantIngestOperator
from airflow.providers.qdrant.operators import QdrantIngestOperator
Operator is in the qdrant submodule, not directly in operators

Creates a QdrantHook and uses QdrantIngestOperator to ingest documents into a collection.

from datetime import datetime from airflow import DAG from airflow.providers.qdrant.hooks.qdrant import QdrantHook from airflow.providers.qdrant.operators.qdrant import QdrantIngestOperator import os with DAG( dag_id='qdrant_ingest_example', start_date=datetime(2025, 1, 1), schedule=None, catchup=False, ) as dag: hook = QdrantHook( qdrant_host=os.environ.get('QDRANT_HOST', 'localhost'), qdrant_port=os.environ.get('QDRANT_PORT', '6333'), qdrant_api_key=os.environ.get('QDRANT_API_KEY', ''), ) ingest = QdrantIngestOperator( task_id='ingest_docs', collection_name='my_collection', documents=[{'id': 1, 'text': 'Hello world'}], qdrant_conn_id='qdrant_default', )
Debug
Known issues
breakingIn version 1.4.0, the operator 'QdrantIngestOperator' was renamed from the old 'QdrantHookOperator' (deprecated). Use the new name to avoid import errors.
fix
Replace 'QdrantHookOperator' with 'QdrantIngestOperator' in imports and code.
affects: >=1.4.0
gotchaThe 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.
fix
Always set a connection ID (e.g., 'qdrant_default') in your Airflow connections, and avoid relying on default values outside of testing.
affects: *
deprecatedThe 'qdrant_host', 'qdrant_port', and 'qdrant_api_key' parameters on QdrantHook are deprecated since v1.3.0. Use a Qdrant connection ID instead.
fix
Create an Airflow connection of type 'qdrant' with host, port, and API key, then pass the conn_id to the hook.
affects: >=1.3.0
Errors
Common errors & fixes
ModuleNotFoundError: No module named 'airflow.providers.qdrant'
The provider package is not installed or Airflow's provider manager didn't sync it.
fix
Run 'pip install apache-airflow-providers-qdrant' and restart your Airflow webserver/scheduler.
AttributeError: module 'airflow.providers.qdrant.hooks.qdrant' has no attribute 'QdrantHook'
Imported the wrong symbol or the provider version is too old (<1.0.0).
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'.
Upgrade
Version history
1.5.5latest on PyPI · released Apr 12, 2026
Audit
Dependencies
apache-airflowrequiredCore Airflow required
qdrant-clientrequiredQdrant vector database client
Agent activity
83 hits · last 30 days
node
68
OpenAI (training)
2
Perplexity
1
Resources
apache-airflow-providers-qdrant — pip install apache-airflow-providers-qdrant · libregistry