Skip to content

Commit c79dbb8

Browse files
committed
Adding get_user_agent in utils
1 parent 7c2cfa6 commit c79dbb8

File tree

3 files changed

+15
-10
lines changed

3 files changed

+15
-10
lines changed

pinecone/core/utils/__init__.py

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,9 @@
66
from pathlib import Path
77
from typing import List
88

9+
import requests
10+
import urllib3
11+
912
try:
1013
from pinecone.core.grpc.protos import vector_column_service_pb2
1114
import numpy as np
@@ -57,3 +60,10 @@ def _generate_request_id() -> str:
5760
def fix_tuple_length(t, n):
5861
"""Extend tuple t to length n by adding None items at the end of the tuple. Return the new tuple."""
5962
return t + ((None,) * (n - len(t))) if len(t) < n else t
63+
64+
65+
def get_user_agent():
66+
client_id = f'python-client-{get_version()}'
67+
user_agent_details = {'requests': requests.__version__, 'urllib3': urllib3.__version__}
68+
user_agent = '{} ({})'.format(client_id, ', '.join([f'{k}:{v}' for k, v in user_agent_details.items()]))
69+
return user_agent

pinecone/index.py

Lines changed: 3 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -8,11 +8,9 @@
88
from pinecone.core.client import ApiClient, Configuration
99
from pinecone.core.utils.sentry import sentry_decorator as sentry
1010
from .core.client.models import FetchResponse, ProtobufAny, QueryRequest, QueryResponse, QueryVector, RpcStatus, \
11-
ScoredVector, SingleQueryResults, DescribeIndexStatsResponse, UpsertRequest, Vector
12-
from .core.utils.constants import CLIENT_ID
13-
import requests, urllib3
11+
ScoredVector, SingleQueryResults, DescribeIndexStatsResponse, UpsertRequest, UpsertResponse, Vector
1412
from pinecone.core.client.api.vector_operations_api import VectorOperationsApi
15-
from pinecone.core.utils import fix_tuple_length
13+
from pinecone.core.utils import fix_tuple_length, get_user_agent
1614

1715
__all__ = [
1816
"Index", "FetchResponse", "ProtobufAny", "QueryRequest", "QueryResponse", "QueryVector", "RpcStatus",
@@ -43,8 +41,7 @@ def __init__(self, index_name: str, pool_threads=1):
4341
**openapi_client_config.server_variables
4442
}
4543
super().__init__(configuration=openapi_client_config, pool_threads=pool_threads)
46-
user_agent_details = {'requests': requests.__version__, 'urllib3': urllib3.__version__}
47-
self.user_agent = '{} ({})'.format(CLIENT_ID, ', '.join([f'{k}:{v}' for k, v in user_agent_details.items()]))
44+
self.user_agent = get_user_agent()
4845
self._vector_api = VectorOperationsApi(self)
4946

5047
@sentry

pinecone/manage.py

Lines changed: 2 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -12,9 +12,8 @@
1212
from pinecone.core.client.configuration import Configuration
1313
from pinecone.core.client.model.create_request import CreateRequest
1414
from pinecone.core.client.model.patch_request import PatchRequest
15-
from pinecone.core.utils.constants import CLIENT_ID
16-
import requests, urllib3
1715
from pinecone.core.utils.sentry import sentry_decorator as sentry
16+
from pinecone.core.utils import get_user_agent
1817

1918
__all__ = [
2019
"create_index", "delete_index", "describe_index", "list_indexes", "scale_index", "IndexDescription"
@@ -43,8 +42,7 @@ def _get_api_instance():
4342
**client_config.server_variables
4443
}
4544
api_client = ApiClient(configuration=client_config)
46-
user_agent_details = {'requests': requests.__version__, 'urllib3': urllib3.__version__}
47-
api_client.user_agent = '{} ({})'.format(CLIENT_ID, ', '.join([f'{k}:{v}' for k, v in user_agent_details.items()]))
45+
api_client.user_agent = get_user_agent()
4846
api_instance = IndexOperationsApi(api_client)
4947
return api_instance
5048

0 commit comments

Comments
 (0)