From 35914e08d7044c83890d3062b7769f9ca56ca294 Mon Sep 17 00:00:00 2001 From: Parker Duckworth Date: Wed, 17 Dec 2025 10:49:04 -0500 Subject: [PATCH 1/3] track client version --- weaviate/connect/v4.py | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/weaviate/connect/v4.py b/weaviate/connect/v4.py index 8c1f5f814..a03e7d0c4 100644 --- a/weaviate/connect/v4.py +++ b/weaviate/connect/v4.py @@ -150,7 +150,10 @@ def __init__( self._connected = False self._skip_init_checks = skip_init_checks - self._headers = {"content-type": "application/json"} + self._headers = { + "content-type": "application/json", + "X-Weaviate-Client": f"weaviate-client-python/{client_version}", + } self.__add_weaviate_embedding_service_header(connection_params.http.host) if additional_headers is not None: _validate_input(_ValidateArgument([dict], "additional_headers", additional_headers)) From 4c329e66928c36d3230a138730b5f8f5e7619da0 Mon Sep 17 00:00:00 2001 From: Dirk Kulawiak Date: Thu, 18 Dec 2025 14:30:07 +0100 Subject: [PATCH 2/3] Add async vs sync and embedded --- weaviate/connect/v4.py | 2 ++ 1 file changed, 2 insertions(+) diff --git a/weaviate/connect/v4.py b/weaviate/connect/v4.py index a03e7d0c4..6ce1a9f52 100644 --- a/weaviate/connect/v4.py +++ b/weaviate/connect/v4.py @@ -153,6 +153,8 @@ def __init__( self._headers = { "content-type": "application/json", "X-Weaviate-Client": f"weaviate-client-python/{client_version}", + "X-Weaviate-Client-Type": "sync" if isinstance(self, ConnectionSync) else "async", + "X-Weaviate-Client-IsEmbedded": "true" if self.embedded_db is not None else "false", } self.__add_weaviate_embedding_service_header(connection_params.http.host) if additional_headers is not None: From 6bcadb18a0c2ac2d447a348c6a4c8c9947e0b1c6 Mon Sep 17 00:00:00 2001 From: Parker Duckworth Date: Thu, 18 Dec 2025 16:10:41 -0500 Subject: [PATCH 3/3] unify client type and embedded status with version --- weaviate/connect/v4.py | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/weaviate/connect/v4.py b/weaviate/connect/v4.py index 6ce1a9f52..0afb62ffe 100644 --- a/weaviate/connect/v4.py +++ b/weaviate/connect/v4.py @@ -150,11 +150,13 @@ def __init__( self._connected = False self._skip_init_checks = skip_init_checks + client_type = "sync" if isinstance(self, ConnectionSync) else "async" + embedded_suffix = "-embedded" if self.embedded_db is not None else "" + client_header = f"weaviate-client-python/{client_version}-{client_type}{embedded_suffix}" + self._headers = { "content-type": "application/json", - "X-Weaviate-Client": f"weaviate-client-python/{client_version}", - "X-Weaviate-Client-Type": "sync" if isinstance(self, ConnectionSync) else "async", - "X-Weaviate-Client-IsEmbedded": "true" if self.embedded_db is not None else "false", + "X-Weaviate-Client": client_header, } self.__add_weaviate_embedding_service_header(connection_params.http.host) if additional_headers is not None: