This is an automated email from the ASF dual-hosted git repository.
henry3260 pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/airflow.git
The following commit(s) were added to refs/heads/main by this push:
new 424c4a73cab Update Weaviate examples for client 4.16 API (#67343)
424c4a73cab is described below
commit 424c4a73cabb8d495bf85a41b83b7eeffc52b1b6
Author: Henry Chen <[email protected]>
AuthorDate: Mon Jul 20 20:56:37 2026 +0800
Update Weaviate examples for client 4.16 API (#67343)
---
providers/weaviate/README.rst | 2 +-
providers/weaviate/docs/index.rst | 2 +-
providers/weaviate/pyproject.toml | 2 +-
.../weaviate/tests/system/weaviate/example_weaviate_cohere.py | 3 ++-
.../system/weaviate/example_weaviate_dynamic_mapping_dag.py | 9 ++++++---
.../weaviate/tests/system/weaviate/example_weaviate_openai.py | 3 ++-
.../weaviate/tests/system/weaviate/example_weaviate_operator.py | 9 ++++-----
.../tests/system/weaviate/example_weaviate_using_hook.py | 7 +++----
.../tests/system/weaviate/example_weaviate_vectorizer_dag.py | 4 ++--
.../system/weaviate/example_weaviate_without_vectorizer_dag.py | 3 ++-
uv.lock | 2 +-
11 files changed, 25 insertions(+), 21 deletions(-)
diff --git a/providers/weaviate/README.rst b/providers/weaviate/README.rst
index fba9b3e8a17..4086bd7a2b8 100644
--- a/providers/weaviate/README.rst
+++ b/providers/weaviate/README.rst
@@ -56,7 +56,7 @@ PIP package Version required
``apache-airflow`` ``>=2.11.0``
``apache-airflow-providers-common-compat`` ``>=1.8.0``
``httpx`` ``>=0.25.0``
-``weaviate-client`` ``!=4.16.7,>=4.4.0``
+``weaviate-client`` ``>=4.16.0,!=4.16.7``
``pandas`` ``>=2.1.2; python_version <
"3.13"``
``pandas`` ``>=2.2.3; python_version >=
"3.13" and python_version < "3.14"``
``pandas`` ``>=2.3.3; python_version >=
"3.14"``
diff --git a/providers/weaviate/docs/index.rst
b/providers/weaviate/docs/index.rst
index 43dc78ecab2..1b5379cb7c1 100644
--- a/providers/weaviate/docs/index.rst
+++ b/providers/weaviate/docs/index.rst
@@ -105,7 +105,7 @@ PIP package Version required
``apache-airflow`` ``>=2.11.0``
``apache-airflow-providers-common-compat`` ``>=1.8.0``
``httpx`` ``>=0.25.0``
-``weaviate-client`` ``!=4.16.7,>=4.4.0``
+``weaviate-client`` ``>=4.16.0,!=4.16.7``
``pandas`` ``>=2.1.2; python_version <
"3.13"``
``pandas`` ``>=2.2.3; python_version >=
"3.13" and python_version < "3.14"``
``pandas`` ``>=2.3.3; python_version >=
"3.14"``
diff --git a/providers/weaviate/pyproject.toml
b/providers/weaviate/pyproject.toml
index 5800e8fb509..1579aaffef3 100644
--- a/providers/weaviate/pyproject.toml
+++ b/providers/weaviate/pyproject.toml
@@ -62,7 +62,7 @@ dependencies = [
"apache-airflow>=2.11.0",
"apache-airflow-providers-common-compat>=1.8.0",
"httpx>=0.25.0",
- "weaviate-client>=4.4.0,!=4.16.7",
+ "weaviate-client>=4.16.0,!=4.16.7",
'pandas>=2.1.2; python_version <"3.13"',
'pandas>=2.2.3; python_version >="3.13" and python_version <"3.14"',
'pandas>=2.3.3; python_version >="3.14"',
diff --git
a/providers/weaviate/tests/system/weaviate/example_weaviate_cohere.py
b/providers/weaviate/tests/system/weaviate/example_weaviate_cohere.py
index d76b60f4868..1a9d7a7c447 100644
--- a/providers/weaviate/tests/system/weaviate/example_weaviate_cohere.py
+++ b/providers/weaviate/tests/system/weaviate/example_weaviate_cohere.py
@@ -19,6 +19,7 @@ from __future__ import annotations
from datetime import timedelta
import pendulum
+from weaviate.classes.config import Configure
try:
from airflow.sdk import dag, setup, task, teardown
@@ -59,7 +60,7 @@ def example_weaviate_cohere():
weaviate_hook = WeaviateHook()
# Collection definition object. Weaviate's autoschema feature will
infer properties when importing.
- weaviate_hook.create_collection(name=COLLECTION_NAME,
vectorizer_config=None)
+ weaviate_hook.create_collection(name=COLLECTION_NAME,
vector_config=Configure.Vectors.self_provided())
@setup
@task
diff --git
a/providers/weaviate/tests/system/weaviate/example_weaviate_dynamic_mapping_dag.py
b/providers/weaviate/tests/system/weaviate/example_weaviate_dynamic_mapping_dag.py
index ecd31c6ffd9..4a750973f8f 100644
---
a/providers/weaviate/tests/system/weaviate/example_weaviate_dynamic_mapping_dag.py
+++
b/providers/weaviate/tests/system/weaviate/example_weaviate_dynamic_mapping_dag.py
@@ -19,7 +19,7 @@ from __future__ import annotations
from datetime import timedelta
import pendulum
-from weaviate.collections.classes.config import Configure
+from weaviate.classes.config import Configure
try:
from airflow.sdk import dag, setup, task, teardown
@@ -58,7 +58,7 @@ def example_weaviate_dynamic_mapping_dag():
weaviate_hook = WeaviateHook()
# collection definition object. Weaviate's autoschema feature will
infer properties when importing.
- weaviate_hook.create_collection(data[0], vectorizer_config=data[1])
+ weaviate_hook.create_collection(data[0], vector_config=data[1])
@setup
@task
@@ -96,7 +96,10 @@ def example_weaviate_dynamic_mapping_dag():
(
create_weaviate_collection.expand(
- data=[[COLLECTION_NAMES[0], None], [COLLECTION_NAMES[1],
Configure.Vectorizer.text2vec_openai()]]
+ data=[
+ [COLLECTION_NAMES[0], Configure.Vectors.self_provided()],
+ [COLLECTION_NAMES[1],
Configure.Vectors.text2vec_openai(vectorize_collection_name=True)],
+ ]
)
>> perform_ingestion
>> delete_weaviate_collection.expand(collection_name=COLLECTION_NAMES)
diff --git
a/providers/weaviate/tests/system/weaviate/example_weaviate_openai.py
b/providers/weaviate/tests/system/weaviate/example_weaviate_openai.py
index 2dc39a446a6..bead4d0918d 100644
--- a/providers/weaviate/tests/system/weaviate/example_weaviate_openai.py
+++ b/providers/weaviate/tests/system/weaviate/example_weaviate_openai.py
@@ -21,6 +21,7 @@ from datetime import timedelta
from pathlib import Path
import pendulum
+from weaviate.classes.config import Configure
try:
from airflow.sdk import dag, setup, task, teardown
@@ -60,7 +61,7 @@ def example_weaviate_openai():
"""
weaviate_hook = WeaviateHook()
# collection definition object. Weaviate's autoschema feature will
infer properties when importing.
- weaviate_hook.create_collection(COLLECTION_NAME)
+ weaviate_hook.create_collection(COLLECTION_NAME,
vector_config=Configure.Vectors.self_provided())
@setup
@task
diff --git
a/providers/weaviate/tests/system/weaviate/example_weaviate_operator.py
b/providers/weaviate/tests/system/weaviate/example_weaviate_operator.py
index c1bab9f2eb5..a8499deb8cd 100644
--- a/providers/weaviate/tests/system/weaviate/example_weaviate_operator.py
+++ b/providers/weaviate/tests/system/weaviate/example_weaviate_operator.py
@@ -19,8 +19,7 @@ from __future__ import annotations
from datetime import timedelta
import pendulum
-from weaviate.classes.config import DataType, Property
-from weaviate.collections.classes.config import Configure
+from weaviate.classes.config import Configure, DataType, Property
try:
from airflow.sdk import dag, task, teardown
@@ -124,7 +123,7 @@ def example_weaviate_using_operator():
weaviate_hook = WeaviateHook()
# collection definition object. Weaviate's autoschema feature will
infer properties when importing.
- weaviate_hook.create_collection(COLLECTION_NAME)
+ weaviate_hook.create_collection(COLLECTION_NAME,
vector_config=Configure.Vectors.self_provided())
@task(trigger_rule="all_done")
def store_data_with_vectors_in_xcom():
@@ -168,7 +167,7 @@ def example_weaviate_using_operator():
Property(name="answer", description="The answer",
data_type=DataType.TEXT),
Property(name="category", description="The category",
data_type=DataType.TEXT),
],
- vectorizer_config=Configure.Vectorizer.text2vec_openai(),
+ vector_config=Configure.Vectors.text2vec_openai(),
)
@task()
@@ -188,7 +187,7 @@ def example_weaviate_using_operator():
Property(name="category", description="The category",
data_type=DataType.TEXT),
Property(name="docLink", description="URL for source
document", data_type=DataType.TEXT),
],
- vectorizer_config=Configure.Vectorizer.text2vec_openai(),
+ vector_config=Configure.Vectors.text2vec_openai(),
)
@task(trigger_rule="all_done")
diff --git
a/providers/weaviate/tests/system/weaviate/example_weaviate_using_hook.py
b/providers/weaviate/tests/system/weaviate/example_weaviate_using_hook.py
index 9cc84af73ec..40c24bda4db 100644
--- a/providers/weaviate/tests/system/weaviate/example_weaviate_using_hook.py
+++ b/providers/weaviate/tests/system/weaviate/example_weaviate_using_hook.py
@@ -19,8 +19,7 @@ from __future__ import annotations
from datetime import timedelta
import pendulum
-from weaviate.classes.config import DataType, Property
-from weaviate.collections.classes.config import Configure
+from weaviate.classes.config import Configure, DataType, Property
try:
from airflow.sdk import dag, task, teardown
@@ -63,7 +62,7 @@ def example_weaviate_dag_using_hook():
Property(name="answer", description="The answer",
data_type=DataType.TEXT),
Property(name="category", description="The category",
data_type=DataType.TEXT),
],
- vectorizer_config=Configure.Vectorizer.text2vec_openai(),
+ vector_config=Configure.Vectors.text2vec_openai(),
)
@task()
@@ -77,7 +76,7 @@ def example_weaviate_dag_using_hook():
# collection definition object. Weaviate's autoschema feature will
infer properties when importing.
weaviate_hook.create_collection(
"QuestionWithoutVectorizerUsingHook",
- vectorizer_config=None,
+ vector_config=Configure.Vectors.self_provided(),
)
@task(trigger_rule="all_done")
diff --git
a/providers/weaviate/tests/system/weaviate/example_weaviate_vectorizer_dag.py
b/providers/weaviate/tests/system/weaviate/example_weaviate_vectorizer_dag.py
index 40d26b677d7..e8cf7a628e8 100644
---
a/providers/weaviate/tests/system/weaviate/example_weaviate_vectorizer_dag.py
+++
b/providers/weaviate/tests/system/weaviate/example_weaviate_vectorizer_dag.py
@@ -19,7 +19,7 @@ from __future__ import annotations
from datetime import timedelta
import pendulum
-from weaviate.collections.classes.config import Configure
+from weaviate.classes.config import Configure
try:
from airflow.sdk import dag, setup, task, teardown
@@ -61,7 +61,7 @@ def example_weaviate_vectorizer_dag():
# collection definition object. Weaviate's autoschema feature will
infer properties when importing.
weaviate_hook.create_collection(
COLLECTION_NAME,
- vectorizer_config=Configure.Vectorizer.text2vec_openai(),
+
vector_config=Configure.Vectors.text2vec_openai(vectorize_collection_name=True),
)
@setup
diff --git
a/providers/weaviate/tests/system/weaviate/example_weaviate_without_vectorizer_dag.py
b/providers/weaviate/tests/system/weaviate/example_weaviate_without_vectorizer_dag.py
index 24d10424bf1..a8fa01c5d9b 100644
---
a/providers/weaviate/tests/system/weaviate/example_weaviate_without_vectorizer_dag.py
+++
b/providers/weaviate/tests/system/weaviate/example_weaviate_without_vectorizer_dag.py
@@ -19,6 +19,7 @@ from __future__ import annotations
from datetime import timedelta
import pendulum
+from weaviate.classes.config import Configure
try:
from airflow.sdk import dag, setup, task, teardown
@@ -59,7 +60,7 @@ def example_weaviate_without_vectorizer_dag():
weaviate_hook = WeaviateHook()
# collection definition object. Weaviate's autoschema feature will
infer properties when importing.
- weaviate_hook.create_collection(COLLECTION_NAME,
vectorizer_config=None)
+ weaviate_hook.create_collection(COLLECTION_NAME,
vector_config=Configure.Vectors.self_provided())
@setup
@task
diff --git a/uv.lock b/uv.lock
index cb582853c54..10fb859f2ea 100644
--- a/uv.lock
+++ b/uv.lock
@@ -8293,7 +8293,7 @@ requires-dist = [
{ name = "pandas", marker = "python_full_version < '3.13'", specifier =
">=2.1.2" },
{ name = "pandas", marker = "python_full_version == '3.13.*'", specifier =
">=2.2.3" },
{ name = "pandas", marker = "python_full_version >= '3.14'", specifier =
">=2.3.3" },
- { name = "weaviate-client", specifier = ">=4.4.0,!=4.16.7" },
+ { name = "weaviate-client", specifier = ">=4.16.0,!=4.16.7" },
]
[package.metadata.requires-dev]