Skip to content

Commit 4b0798d

Browse files
Merge pull request #30 from epsilla-cloud/dev
update with res.close()
2 parents a631534 + 82d2686 commit 4b0798d

3 files changed

Lines changed: 48 additions & 29 deletions

File tree

pyepsilla/cloud/client.py

Lines changed: 18 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -3,37 +3,42 @@
33
import json, datetime, socket, requests, json, pprint
44
from typing import Union, Optional
55
import sentry_sdk
6+
requests.packages.urllib3.disable_warnings()
67

78
class Client(object):
89
def __init__(self, project_id: str, api_key: str):
910
self._project_id = project_id
1011
self._apikey = api_key
1112
self._baseurl = "https://dispatch.epsilla.com/api/v2/project/{}".format(self._project_id)
1213
self._timeout = 10
13-
self._header = {'Content-type': 'application/json', 'X-API-Key': api_key}
14+
self._header = {'Content-type': 'application/json', "Connection": "close", 'X-API-Key': api_key}
1415

1516

1617
def validate(self):
17-
res = requests.get(url=self._baseurl, data=None, headers=self._header)
18-
return res.json()
18+
res = requests.get(url=self._baseurl, data=None, headers=self._header, verify=False)
19+
data = res.json()
20+
res.close()
21+
return data
1922

2023

2124
def get_db_list(self):
2225
db_list = []
2326
req_url = "{}/vectordb/list".format(self._baseurl)
24-
res = requests.get(url=req_url, data=None, headers=self._header)
27+
res = requests.get(url=req_url, data=None, headers=self._header, verify=False)
2528
status_code = res.status_code
2629
body = res.json()
2730
if status_code == 200 and body["statusCode"] == 200:
2831
db_list = [ db_id for db_id in res.json()["result"] ]
32+
res.close()
2933
return db_list
3034

3135

3236
def get_db_info(self, db_id: str):
3337
req_url = "{}/vectordb/{}".format(self._baseurl, db_id)
34-
res = requests.get(url=req_url, data=None, headers=self._header)
38+
res = requests.get(url=req_url, data=None, headers=self._header, verify=False)
3539
status_code = res.status_code
3640
body = res.json()
41+
res.close()
3742
return status_code, body
3843

3944

@@ -91,9 +96,10 @@ def drop_table(self, table_name: str):
9196
def insert(self, table_name: str, records: list[dict]):
9297
req_url = "{}/data/insert".format(self._baseurl)
9398
req_data = {"table": table_name, "data": records}
94-
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header)
99+
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header, verify=False)
95100
status_code = res.status_code
96101
body = res.json()
102+
res.close()
97103
return status_code, body
98104

99105

@@ -114,9 +120,10 @@ def query(self, table_name: str, query_field: str = None, query_vector: list = N
114120
if with_distance != None:
115121
req_data["withDistance"] = with_distance
116122

117-
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header)
123+
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header, verify=False)
118124
status_code = res.status_code
119125
body = res.json()
126+
res.close()
120127
return status_code, body
121128

122129

@@ -142,9 +149,10 @@ def delete(self, table_name: str, primary_keys: Optional[list[Union[str,int]]] =
142149
if filter != None:
143150
req_data["filter"] = filter
144151

145-
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header)
152+
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header, verify=False)
146153
status_code = res.status_code
147154
body = res.json()
155+
res.close()
148156
return status_code, body
149157

150158

@@ -173,9 +181,10 @@ def get(self, table_name: str, response_fields: Optional[list] = None, primary_k
173181
req_data["limit"] = limit
174182

175183
req_url = "{}/data/get".format(self._baseurl)
176-
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header)
184+
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header, verify=False)
177185
status_code = res.status_code
178186
body = res.json()
187+
res.close()
179188
return status_code, body
180189

181190

pyepsilla/vectordb/client.py

Lines changed: 29 additions & 19 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,8 @@
11
#!/usr/bin/env python
22
# -*- coding:utf-8 -*-
3-
import json
4-
import requests
5-
import socket
6-
import datetime, time
7-
import sentry_sdk
3+
import json, requests, socket, datetime, time, sentry_sdk
84
from typing import Union, Optional
5+
requests.packages.urllib3.disable_warnings()
96

107

118
class Client():
@@ -16,7 +13,7 @@ def __init__(self, protocol: str = 'http', host: str = 'localhost', port: str =
1613
self._baseurl = "{}://{}:{}".format(self._protocol, self._host, self._port)
1714
self._db = None
1815
self._timeout = 10
19-
self._header = {'Content-type': 'application/json'}
16+
self._header = {'Content-type': 'application/json', "Connection": "close"}
2017
self.check_networking()
2118

2219
def check_networking(self):
@@ -32,17 +29,19 @@ def check_networking(self):
3229
def welcome(self):
3330
req_url = "{}/".format(self._baseurl)
3431
req_data = None
35-
res = requests.get(url=req_url, data=json.dumps(req_data), headers=self._header, timeout=self._timeout)
32+
res = requests.get(url=req_url, data=json.dumps(req_data), headers=self._header, timeout=self._timeout, verify=False)
3633
status_code = res.status_code
3734
body = res.text
35+
res.close()
3836
return status_code, body
3937

4038
def state(self):
4139
req_url = "{}/state".format(self._baseurl)
4240
req_data = None
43-
res = requests.get(url=req_url, data=json.dumps(req_data), headers=self._header)
41+
res = requests.get(url=req_url, data=json.dumps(req_data), headers=self._header, verify=False)
4442
status_code = res.status_code
4543
body = res.json()
44+
res.close()
4645
return status_code, body
4746

4847
def use_db(self, db_name: str):
@@ -55,17 +54,19 @@ def load_db(self, db_name: str, db_path: str, vector_scale: int = None, wal_enab
5554
req_data["vectorScale"] = vector_scale
5655
if wal_enabled is not None:
5756
req_data["walEnabled"] = wal_enabled
58-
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header)
57+
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header, verify=False)
5958
status_code = res.status_code
6059
body = res.json()
60+
res.close()
6161
return status_code, body
6262

6363

6464
def unload_db(self, db_name: str):
6565
req_url = "{}/api/{}/unload".format(self._baseurl, db_name)
66-
res = requests.post(url=req_url, data=None, headers=self._header)
66+
res = requests.post(url=req_url, data=None, headers=self._header, verify=False)
6767
status_code = res.status_code
6868
body = res.json()
69+
res.close()
6970
return status_code, body
7071

7172
def create_table(self, table_name: str, table_fields: list[str] = None):
@@ -75,18 +76,20 @@ def create_table(self, table_name: str, table_fields: list[str] = None):
7576
table_fields = []
7677
req_url = "{}/api/{}/schema/tables".format(self._baseurl, self._db)
7778
req_data = {"name": table_name, "fields": table_fields}
78-
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header)
79+
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header, verify=False)
7980
status_code = res.status_code
8081
body = res.json()
82+
res.close()
8183
return status_code, body
8284

8385
def list_tables(self):
8486
if self._db is None:
8587
raise Exception("[ERROR] Please use_db() first!")
8688
req_url = "{}/api/{}/schema/tables/show".format(self._baseurl, self._db)
87-
res = requests.get(url=req_url, headers=self._header)
89+
res = requests.get(url=req_url, headers=self._header, verify=False)
8890
status_code = res.status_code
8991
body = res.json()
92+
res.close()
9093
return status_code, body
9194

9295

@@ -97,9 +100,10 @@ def insert(self, table_name: str, records: list = None):
97100
records = []
98101
req_url = "{}/api/{}/data/insert".format(self._baseurl, self._db)
99102
req_data = {"table": table_name, "data": records}
100-
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header)
103+
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header, verify=False)
101104
status_code = res.status_code
102105
body = res.json()
106+
res.close()
103107
return status_code, body
104108

105109
def delete(self, table_name: str, primary_keys: list[Union[str,int]] = None, ids: list[Union[str,int]] = None, filter: Optional[str] = None):
@@ -125,9 +129,10 @@ def delete(self, table_name: str, primary_keys: list[Union[str,int]] = None, ids
125129
req_data["primaryKeys"] = primary_keys
126130
if filter != None:
127131
req_data["filter"] = filter
128-
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header)
132+
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header, verify=False)
129133
status_code = res.status_code
130134
body = res.json()
135+
res.close()
131136
return status_code, body
132137

133138

@@ -136,11 +141,12 @@ def rebuild(self, timeout: int = 7200):
136141
req_data = None
137142
print("[INFO] waiting until rebuild is finished ...")
138143
start_time = datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S")
139-
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header, timeout=timeout)
144+
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header, timeout=timeout, verify=False)
140145
end_time = datetime.datetime.now().strftime("%Y-%m-%dT%H:%M:%S")
141146
print("[INFO] Start Time:{}\n End Time:{}".format(start_time, end_time))
142147
status_code = res.status_code
143148
body = res.json()
149+
res.close()
144150
return status_code, body
145151

146152
def query(
@@ -168,9 +174,10 @@ def query(
168174
"filter": filter,
169175
"withDistance": with_distance
170176
}
171-
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header)
177+
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header, verify=False)
172178
status_code = res.status_code
173179
body = res.json()
180+
res.close()
174181
return status_code, body
175182

176183
def get(self, table_name: str, response_fields: Optional[list] = None, primary_keys: Optional[list[Union[str,int]]] = None, ids: Optional[list[Union[str,int]]] = None, filter: Optional[str] = None, skip: Optional[int] = None, limit: Optional[int] = None):
@@ -203,9 +210,10 @@ def get(self, table_name: str, response_fields: Optional[list] = None, primary_k
203210
req_data["limit"] = filter
204211

205212
req_url = "{}/api/{}/data/get".format(self._baseurl, self._db)
206-
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header)
213+
res = requests.post(url=req_url, data=json.dumps(req_data), headers=self._header, verify=False)
207214
status_code = res.status_code
208215
body = res.json()
216+
res.close()
209217
return status_code, body
210218

211219

@@ -214,14 +222,16 @@ def drop_table(self, table_name: str = None):
214222
raise Exception("[ERROR] Please use_db() first!")
215223
req_url = "{}/api/{}/schema/tables/{}".format(self._baseurl, self._db, table_name)
216224
req_data = None
217-
res = requests.delete(url=req_url, data=json.dumps(req_data), headers=self._header)
225+
res = requests.delete(url=req_url, data=json.dumps(req_data), headers=self._header, verify=False)
218226
status_code = res.status_code
219227
body = res.json()
228+
res.close()
220229
return status_code, body
221230

222231
def drop_db(self, db_name: str):
223232
req_url = "{}/api/{}/drop".format(self._baseurl, db_name)
224-
res = requests.delete(url=req_url, data=None, headers=self._header)
233+
res = requests.delete(url=req_url, data=None, headers=self._header, verify=False)
225234
status_code = res.status_code
226235
body = res.json()
236+
res.close()
227237
return status_code, body

pyepsilla/vectordb/version.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1 +1 @@
1-
__version__ = '0.1.21'
1+
__version__ = '0.1.22'

0 commit comments

Comments
 (0)