Skip to content

Commit c17d7ee

Browse files
[vertexai|community|genai] chore: Change the client_library_version to gapic_version
1 parent 0d40a4f commit c17d7ee

File tree

6 files changed

+194
-0
lines changed

6 files changed

+194
-0
lines changed

libs/community/langchain_google_community/_utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,6 +58,7 @@ def get_client_info(module: Optional[str] = None) -> "ClientInfo":
5858
client_library_version, user_agent = get_user_agent(module)
5959
return ClientInfo(
6060
client_library_version=client_library_version,
61+
gapic_version=client_library_version,
6162
user_agent=user_agent,
6263
)
6364

libs/community/tests/unit_tests/test_utils.py

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
from unittest.mock import MagicMock, patch
22

3+
from google.api_core.gapic_v1.client_info import ClientInfo
4+
35
from langchain_google_community._utils import (
6+
get_client_info,
47
get_user_agent,
58
)
69

@@ -29,3 +32,64 @@ def test_get_user_agent_without_telemetry_env_variable(
2932
client_lib_version, user_agent_str = get_user_agent(module="test-module")
3033
assert client_lib_version == "1.2.3-test-module"
3134
assert user_agent_str == "langchain-google-community/1.2.3-test-module"
35+
36+
37+
@patch("langchain_google_community._utils.os.environ.get")
38+
@patch("langchain_google_community._utils.metadata.version")
39+
def test_get_client_info_with_telemetry_env_variable(
40+
mock_version: MagicMock, mock_environ_get: MagicMock
41+
) -> None:
42+
mock_version.return_value = "1.2.3"
43+
mock_environ_get.return_value = True
44+
client_info = get_client_info(module="test-module")
45+
assert isinstance(client_info, ClientInfo)
46+
assert client_info.client_library_version == "1.2.3-test-module+remote_reasoning_engine"
47+
assert client_info.gapic_version == "1.2.3-test-module+remote_reasoning_engine"
48+
assert client_info.user_agent == (
49+
"langchain-google-community/1.2.3-test-module+remote_reasoning_engine"
50+
)
51+
52+
53+
@patch("langchain_google_community._utils.os.environ.get")
54+
@patch("langchain_google_community._utils.metadata.version")
55+
def test_get_client_info_without_telemetry_env_variable(
56+
mock_version: MagicMock, mock_environ_get: MagicMock
57+
) -> None:
58+
mock_version.return_value = "1.2.3"
59+
mock_environ_get.return_value = False
60+
client_info = get_client_info(module="test-module")
61+
assert isinstance(client_info, ClientInfo)
62+
assert client_info.client_library_version == "1.2.3-test-module"
63+
assert client_info.gapic_version == "1.2.3-test-module"
64+
assert client_info.user_agent == "langchain-google-community/1.2.3-test-module"
65+
66+
67+
@patch("langchain_google_community._utils.os.environ.get")
68+
@patch("langchain_google_community._utils.metadata.version")
69+
def test_get_client_info_no_module(
70+
mock_version: MagicMock, mock_environ_get: MagicMock
71+
) -> None:
72+
mock_version.return_value = "1.2.3"
73+
mock_environ_get.return_value = False
74+
client_info = get_client_info()
75+
assert isinstance(client_info, ClientInfo)
76+
assert client_info.client_library_version == "1.2.3"
77+
assert client_info.gapic_version == "1.2.3"
78+
assert client_info.user_agent == "langchain-google-community/1.2.3"
79+
80+
81+
@patch("langchain_google_community._utils.os.environ.get")
82+
@patch("langchain_google_community._utils.metadata.PackageNotFoundError")
83+
@patch("langchain_google_community._utils.metadata.version")
84+
def test_get_client_info_package_not_found(
85+
mock_version: MagicMock,
86+
mock_package_not_found_error: MagicMock,
87+
mock_environ_get: MagicMock,
88+
) -> None:
89+
mock_version.side_effect = mock_package_not_found_error
90+
mock_environ_get.return_value = False
91+
client_info = get_client_info(module="test-module")
92+
assert isinstance(client_info, ClientInfo)
93+
assert client_info.client_library_version == "0.0.0-test-module"
94+
assert client_info.gapic_version == "0.0.0-test-module"
95+
assert client_info.user_agent == "langchain-google-community/0.0.0-test-module"

libs/genai/langchain_google_genai/_common.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -149,6 +149,7 @@ def get_client_info(module: Optional[str] = None) -> "ClientInfo":
149149
client_library_version, user_agent = get_user_agent(module)
150150
return ClientInfo(
151151
client_library_version=client_library_version,
152+
gapic_version=client_library_version,
152153
user_agent=user_agent,
153154
)
154155

libs/genai/tests/unit_tests/test_common.py

Lines changed: 64 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,9 @@
11
from unittest.mock import MagicMock, patch
22

3+
from google.api_core.gapic_v1.client_info import ClientInfo
4+
35
from langchain_google_genai._common import (
6+
get_client_info,
47
get_user_agent,
58
)
69

@@ -29,3 +32,64 @@ def test_get_user_agent_without_telemetry_env_variable(
2932
client_lib_version, user_agent_str = get_user_agent(module="test-module")
3033
assert client_lib_version == "1.2.3-test-module"
3134
assert user_agent_str == "langchain-google-genai/1.2.3-test-module"
35+
36+
37+
@patch("langchain_google_genai._common.os.environ.get")
38+
@patch("langchain_google_genai._common.metadata.version")
39+
def test_get_client_info_with_telemetry_env_variable(
40+
mock_version: MagicMock, mock_environ_get: MagicMock
41+
) -> None:
42+
mock_version.return_value = "1.2.3"
43+
mock_environ_get.return_value = True
44+
client_info = get_client_info(module="test-module")
45+
assert isinstance(client_info, ClientInfo)
46+
assert client_info.client_library_version == "1.2.3-test-module+remote_reasoning_engine"
47+
assert client_info.gapic_version == "1.2.3-test-module+remote_reasoning_engine"
48+
assert client_info.user_agent == (
49+
"langchain-google-genai/1.2.3-test-module+remote_reasoning_engine"
50+
)
51+
52+
53+
@patch("langchain_google_genai._common.os.environ.get")
54+
@patch("langchain_google_genai._common.metadata.version")
55+
def test_get_client_info_without_telemetry_env_variable(
56+
mock_version: MagicMock, mock_environ_get: MagicMock
57+
) -> None:
58+
mock_version.return_value = "1.2.3"
59+
mock_environ_get.return_value = False
60+
client_info = get_client_info(module="test-module")
61+
assert isinstance(client_info, ClientInfo)
62+
assert client_info.client_library_version == "1.2.3-test-module"
63+
assert client_info.gapic_version == "1.2.3-test-module"
64+
assert client_info.user_agent == "langchain-google-genai/1.2.3-test-module"
65+
66+
67+
@patch("langchain_google_genai._common.os.environ.get")
68+
@patch("langchain_google_genai._common.metadata.version")
69+
def test_get_client_info_no_module(
70+
mock_version: MagicMock, mock_environ_get: MagicMock
71+
) -> None:
72+
mock_version.return_value = "1.2.3"
73+
mock_environ_get.return_value = False
74+
client_info = get_client_info()
75+
assert isinstance(client_info, ClientInfo)
76+
assert client_info.client_library_version == "1.2.3"
77+
assert client_info.gapic_version == "1.2.3"
78+
assert client_info.user_agent == "langchain-google-genai/1.2.3"
79+
80+
81+
@patch("langchain_google_genai._common.os.environ.get")
82+
@patch("langchain_google_genai._common.metadata.PackageNotFoundError")
83+
@patch("langchain_google_genai._common.metadata.version")
84+
def test_get_client_info_package_not_found(
85+
mock_version: MagicMock,
86+
mock_package_not_found_error: MagicMock,
87+
mock_environ_get: MagicMock,
88+
) -> None:
89+
mock_version.side_effect = mock_package_not_found_error
90+
mock_environ_get.return_value = False
91+
client_info = get_client_info(module="test-module")
92+
assert isinstance(client_info, ClientInfo)
93+
assert client_info.client_library_version == "0.0.0-test-module"
94+
assert client_info.gapic_version == "0.0.0-test-module"
95+
assert client_info.user_agent == "langchain-google-genai/0.0.0-test-module"

libs/vertexai/langchain_google_vertexai/_utils.py

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -116,6 +116,7 @@ def get_client_info(module: Optional[str] = None) -> "ClientInfo":
116116
client_library_version, user_agent = get_user_agent(module)
117117
return ClientInfo(
118118
client_library_version=client_library_version,
119+
gapic_version=client_library_version,
119120
user_agent=user_agent,
120121
)
121122

libs/vertexai/tests/unit_tests/test_utils.py

Lines changed: 63 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -3,11 +3,13 @@
33

44
import pytest
55
from google.api_core.exceptions import ClientError, GoogleAPICallError, InvalidArgument
6+
from google.api_core.gapic_v1.client_info import ClientInfo
67

78
from langchain_google_vertexai._retry import create_base_retry_decorator
89
from langchain_google_vertexai._utils import (
910
GoogleModelFamily,
1011
_get_def_key_from_schema_path,
12+
get_client_info,
1113
get_user_agent,
1214
replace_defs_in_schema,
1315
)
@@ -210,3 +212,64 @@ def test_get_user_agent_without_telemetry_env_variable(
210212
client_lib_version, user_agent_str = get_user_agent(module="test-module")
211213
assert client_lib_version == "1.2.3-test-module"
212214
assert user_agent_str == "langchain-google-vertexai/1.2.3-test-module"
215+
216+
217+
@patch("langchain_google_vertexai._utils.os.environ.get")
218+
@patch("langchain_google_vertexai._utils.metadata.version")
219+
def test_get_client_info_with_telemetry_env_variable(
220+
mock_version: MagicMock, mock_environ_get: MagicMock
221+
) -> None:
222+
mock_version.return_value = "1.2.3"
223+
mock_environ_get.return_value = True
224+
client_info = get_client_info(module="test-module")
225+
assert isinstance(client_info, ClientInfo)
226+
assert client_info.client_library_version == "1.2.3-test-module+remote_reasoning_engine"
227+
assert client_info.gapic_version == "1.2.3-test-module+remote_reasoning_engine"
228+
assert client_info.user_agent == (
229+
"langchain-google-vertexai/1.2.3-test-module+remote_reasoning_engine"
230+
)
231+
232+
233+
@patch("langchain_google_vertexai._utils.os.environ.get")
234+
@patch("langchain_google_vertexai._utils.metadata.version")
235+
def test_get_client_info_without_telemetry_env_variable(
236+
mock_version: MagicMock, mock_environ_get: MagicMock
237+
) -> None:
238+
mock_version.return_value = "1.2.3"
239+
mock_environ_get.return_value = False
240+
client_info = get_client_info(module="test-module")
241+
assert isinstance(client_info, ClientInfo)
242+
assert client_info.client_library_version == "1.2.3-test-module"
243+
assert client_info.gapic_version == "1.2.3-test-module"
244+
assert client_info.user_agent == "langchain-google-vertexai/1.2.3-test-module"
245+
246+
247+
@patch("langchain_google_vertexai._utils.os.environ.get")
248+
@patch("langchain_google_vertexai._utils.metadata.version")
249+
def test_get_client_info_no_module(
250+
mock_version: MagicMock, mock_environ_get: MagicMock
251+
) -> None:
252+
mock_version.return_value = "1.2.3"
253+
mock_environ_get.return_value = False
254+
client_info = get_client_info()
255+
assert isinstance(client_info, ClientInfo)
256+
assert client_info.client_library_version == "1.2.3"
257+
assert client_info.gapic_version == "1.2.3"
258+
assert client_info.user_agent == "langchain-google-vertexai/1.2.3"
259+
260+
261+
@patch("langchain_google_vertexai._utils.os.environ.get")
262+
@patch("langchain_google_vertexai._utils.metadata.PackageNotFoundError")
263+
@patch("langchain_google_vertexai._utils.metadata.version")
264+
def test_get_client_info_package_not_found(
265+
mock_version: MagicMock,
266+
mock_package_not_found_error: MagicMock,
267+
mock_environ_get: MagicMock,
268+
) -> None:
269+
mock_version.side_effect = mock_package_not_found_error
270+
mock_environ_get.return_value = False
271+
client_info = get_client_info(module="test-module")
272+
assert isinstance(client_info, ClientInfo)
273+
assert client_info.client_library_version == "0.0.0-test-module"
274+
assert client_info.gapic_version == "0.0.0-test-module"
275+
assert client_info.user_agent == "langchain-google-vertexai/0.0.0-test-module"

0 commit comments

Comments
 (0)