fiddler-client 3.0.0.dev4__py3-none-any.whl → 3.0.0.dev5__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- fiddler/VERSION +1 -1
- fiddler/constants/common.py +0 -1
- fiddler/entities/file.py +5 -8
- fiddler/entities/model_artifact.py +8 -11
- fiddler/libs/http_client.py +10 -32
- {fiddler_client-3.0.0.dev4.dist-info → fiddler_client-3.0.0.dev5.dist-info}/METADATA +1 -1
- {fiddler_client-3.0.0.dev4.dist-info → fiddler_client-3.0.0.dev5.dist-info}/RECORD +10 -11
- fiddler/_version.py +0 -1
- {fiddler_client-3.0.0.dev4.dist-info → fiddler_client-3.0.0.dev5.dist-info}/LICENSE.txt +0 -0
- {fiddler_client-3.0.0.dev4.dist-info → fiddler_client-3.0.0.dev5.dist-info}/WHEEL +0 -0
- {fiddler_client-3.0.0.dev4.dist-info → fiddler_client-3.0.0.dev5.dist-info}/top_level.txt +0 -0
fiddler/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.0.0.
|
|
1
|
+
3.0.0.dev5
|
fiddler/constants/common.py
CHANGED
|
@@ -11,5 +11,4 @@ CONTENT_TYPE_OCTET_STREAM = 'application/octet-stream'
|
|
|
11
11
|
CONTENT_TYPE_OCTET_STREAM_HEADER = {CONTENT_TYPE_HEADER_KEY: CONTENT_TYPE_OCTET_STREAM}
|
|
12
12
|
|
|
13
13
|
# Multi-part upload
|
|
14
|
-
MULTI_PART_UPLOAD_SIZE_THRESHOLD = 5 * 1024 * 1024 # 5MB in bytes
|
|
15
14
|
MULTI_PART_CHUNK_SIZE = 100 * 1024 * 1024 # 100MB in bytes
|
fiddler/entities/file.py
CHANGED
|
@@ -8,7 +8,6 @@ from typing import Any
|
|
|
8
8
|
from uuid import UUID
|
|
9
9
|
|
|
10
10
|
from requests import Response
|
|
11
|
-
from requests_toolbelt import MultipartEncoder
|
|
12
11
|
|
|
13
12
|
from fiddler.constants.common import MULTI_PART_CHUNK_SIZE
|
|
14
13
|
from fiddler.decorators import handle_api_error
|
|
@@ -74,14 +73,12 @@ class File(BaseEntity, CreatedByMixin, UpdatedByMixin):
|
|
|
74
73
|
@handle_api_error
|
|
75
74
|
def single_upload(self) -> File:
|
|
76
75
|
"""Single part file upload"""
|
|
77
|
-
with open(self.path, 'rb') as f:
|
|
78
|
-
multipart_data = MultipartEncoder(fields={'file': (self.name, f)})
|
|
79
76
|
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
77
|
+
response = self._client().post(
|
|
78
|
+
url='/v3/files/upload',
|
|
79
|
+
files={'file': (self.name, open(self.path, 'rb'))},
|
|
80
|
+
headers={'Content-Type': None},
|
|
81
|
+
)
|
|
85
82
|
|
|
86
83
|
self._refresh_from_response(response)
|
|
87
84
|
return self
|
|
@@ -58,25 +58,22 @@ class ModelArtifact(ConnectionMixin):
|
|
|
58
58
|
self.model_id,
|
|
59
59
|
model_dir,
|
|
60
60
|
)
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
base_name=str(tar_file_base_name),
|
|
66
|
-
format='tar',
|
|
67
|
-
root_dir=model_dir,
|
|
61
|
+
file_path = shutil.make_archive(
|
|
62
|
+
base_name=str(Path(tmp) / 'files'),
|
|
63
|
+
format='gztar',
|
|
64
|
+
root_dir=str(model_dir),
|
|
68
65
|
base_dir='.',
|
|
69
66
|
)
|
|
70
|
-
os.rename(src=_file_path, dst=tar_file_path)
|
|
71
67
|
|
|
72
68
|
logger.info(
|
|
73
|
-
'Model[%s] - Model artifact tar file created at %s',
|
|
69
|
+
'Model[%s] - Model artifact tar file created at %s - %d bytes',
|
|
74
70
|
self.model_id,
|
|
75
|
-
|
|
71
|
+
file_path,
|
|
72
|
+
os.path.getsize(file_path),
|
|
76
73
|
)
|
|
77
74
|
|
|
78
75
|
# Upload file
|
|
79
|
-
file = File(path=
|
|
76
|
+
file = File(path=file_path).upload()
|
|
80
77
|
|
|
81
78
|
# Deploy artifact
|
|
82
79
|
assert file.id is not None
|
fiddler/libs/http_client.py
CHANGED
|
@@ -7,7 +7,6 @@ from urllib.parse import urljoin
|
|
|
7
7
|
import requests
|
|
8
8
|
import simplejson
|
|
9
9
|
from requests.adapters import HTTPAdapter
|
|
10
|
-
from requests_toolbelt.multipart.encoder import MultipartEncoder
|
|
11
10
|
|
|
12
11
|
from fiddler.constants.common import JSON_CONTENT_TYPE
|
|
13
12
|
from fiddler.exceptions import ( # pylint: disable=redefined-builtin
|
|
@@ -51,7 +50,6 @@ class RequestClient:
|
|
|
51
50
|
headers: dict | None = None,
|
|
52
51
|
data: dict | bytes | None = None,
|
|
53
52
|
timeout: int | None = None,
|
|
54
|
-
files_encoders: dict[str, MultipartEncoder] | None = None,
|
|
55
53
|
**kwargs: Any,
|
|
56
54
|
) -> requests.Response:
|
|
57
55
|
"""
|
|
@@ -63,9 +61,6 @@ class RequestClient:
|
|
|
63
61
|
:param headers: Request headers
|
|
64
62
|
:param data: Dict/binary data
|
|
65
63
|
:param timeout: Request timeout in seconds
|
|
66
|
-
:param files_encoders: Dictionary of 'filename': file-like-objects
|
|
67
|
-
for multipart encoding upload. Make sure all MultipartEncoder values have
|
|
68
|
-
same content_type.
|
|
69
64
|
"""
|
|
70
65
|
logger.debug('Making %s call to %s', method, url)
|
|
71
66
|
|
|
@@ -87,31 +82,16 @@ class RequestClient:
|
|
|
87
82
|
# So setting that as default here
|
|
88
83
|
kwargs.setdefault('verify', self.session.verify)
|
|
89
84
|
try:
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
timeout=timeout,
|
|
101
|
-
proxies=self.proxies,
|
|
102
|
-
**kwargs,
|
|
103
|
-
)
|
|
104
|
-
else:
|
|
105
|
-
response = self.session.request(
|
|
106
|
-
method,
|
|
107
|
-
full_url,
|
|
108
|
-
params=params,
|
|
109
|
-
data=data,
|
|
110
|
-
headers=request_headers,
|
|
111
|
-
timeout=timeout,
|
|
112
|
-
proxies=self.proxies,
|
|
113
|
-
**kwargs,
|
|
114
|
-
)
|
|
85
|
+
response = self.session.request(
|
|
86
|
+
method,
|
|
87
|
+
full_url,
|
|
88
|
+
params=params,
|
|
89
|
+
data=data,
|
|
90
|
+
headers=request_headers,
|
|
91
|
+
timeout=timeout,
|
|
92
|
+
proxies=self.proxies,
|
|
93
|
+
**kwargs,
|
|
94
|
+
)
|
|
115
95
|
|
|
116
96
|
except requests.Timeout as exc:
|
|
117
97
|
logger.error('%s call failed with Timeout error for URL %s', method, url)
|
|
@@ -173,7 +153,6 @@ class RequestClient:
|
|
|
173
153
|
headers: dict | None = None,
|
|
174
154
|
timeout: int | None = None,
|
|
175
155
|
data: dict | bytes | None = None,
|
|
176
|
-
files_encoders: dict[str, MultipartEncoder] | None = None,
|
|
177
156
|
**kwargs: dict[str, Any],
|
|
178
157
|
) -> requests.Response:
|
|
179
158
|
"""Construct a post request instance."""
|
|
@@ -184,7 +163,6 @@ class RequestClient:
|
|
|
184
163
|
headers=headers,
|
|
185
164
|
timeout=timeout,
|
|
186
165
|
data=data,
|
|
187
|
-
files_encoders=files_encoders,
|
|
188
166
|
**kwargs,
|
|
189
167
|
)
|
|
190
168
|
|
|
@@ -1,6 +1,5 @@
|
|
|
1
|
-
fiddler/VERSION,sha256=
|
|
1
|
+
fiddler/VERSION,sha256=UQ3IJpH6gZGP-vWjehD7g68w-idDM4WCOAjN3EGl-xk,11
|
|
2
2
|
fiddler/__init__.py,sha256=VCfPx51-NUioKq0OZSKmQTq0Qd20G088BcZt4CIzmG0,3378
|
|
3
|
-
fiddler/_version.py,sha256=K7PSOxsEF8o1sOiOqRYXX-SPQRva9fUCeDPddjcVZAc,27
|
|
4
3
|
fiddler/configs.py,sha256=s8nKw_2gCEKYk8dnmRxd92J8rCl08V4vPcH0xATT4Lw,258
|
|
5
4
|
fiddler/connection.py,sha256=pYaOyyJytsljofaMyRPV-Vs_i4wHKO48BxIJMqEBxHg,5760
|
|
6
5
|
fiddler/decorators.py,sha256=tWZliQQeUGwY0rU52FO9JXuOBueQXVEJywEbrgUEw1U,1820
|
|
@@ -9,7 +8,7 @@ fiddler/version.py,sha256=8fyg3UhFpqghMpxbtYIwNcB1lhCG6yTkPBbDS7IrwxY,140
|
|
|
9
8
|
fiddler/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
10
9
|
fiddler/constants/alert_rule.py,sha256=cmFq-VKAlQbRKEkTtMmVNdD5R52uMI2zJai6TESFwfs,512
|
|
11
10
|
fiddler/constants/baseline.py,sha256=NhmiGf73gy2IHKKpbm64HCE4eJfbxkAPy3uk_Z-6qSo,321
|
|
12
|
-
fiddler/constants/common.py,sha256=
|
|
11
|
+
fiddler/constants/common.py,sha256=pfUe_aA3GCDJcnXxOQXyv8TEBoHePbh8nJz0GTaSDCs,543
|
|
13
12
|
fiddler/constants/dataset.py,sha256=ZxPmzycSlrKpUYShpfTDqfmz8LAebzyBtIV_dBy-pRI,126
|
|
14
13
|
fiddler/constants/events.py,sha256=3SgjNo4IS-_Nod8wbj98di4B4GctF9R414MZxfQ4MkU,114
|
|
15
14
|
fiddler/constants/job.py,sha256=tMT0vr3x3IiCTQcifP2s1-VWC5gskflKexfU_VfDIzA,233
|
|
@@ -24,10 +23,10 @@ fiddler/entities/baseline.py,sha256=1y2bFIapzlDSBd4EUfNy6e-Q8fm3t0AGAZTdiz97hXQ,
|
|
|
24
23
|
fiddler/entities/custom_metric.py,sha256=Oxcnx-o1D4WowDIa5nclGDbw5eYwpemlIyhDhjyq0Ow,6802
|
|
25
24
|
fiddler/entities/dataset.py,sha256=dmOWae2IxwoIbIRX62fCtjr6uNrht3mSuFw_QTnvZwI,4712
|
|
26
25
|
fiddler/entities/events.py,sha256=usFxs8Cq0ds1MIrOjZT5jVt3XDXMdGYakOoNFnTFQ8Y,4370
|
|
27
|
-
fiddler/entities/file.py,sha256=
|
|
26
|
+
fiddler/entities/file.py,sha256=U8IlMYl2iOdGwRWSCYmVbvFlx3rVJM-Xxr0soqLux0U,4667
|
|
28
27
|
fiddler/entities/job.py,sha256=Feiqo6ns4bRcp2uaV-kuGYAKs90-aYXvzqqi1yLivYE,5220
|
|
29
28
|
fiddler/entities/model.py,sha256=TiI-n6TfFP8gdML_kbrowBotFIsRqb2UmiClkyzXn3c,16499
|
|
30
|
-
fiddler/entities/model_artifact.py,sha256=
|
|
29
|
+
fiddler/entities/model_artifact.py,sha256=ktyFkg-nUPtdpSUGNXHfLOwSMiBaaRkdU0s9DQ67lLs,5514
|
|
31
30
|
fiddler/entities/model_deployment.py,sha256=JefFd7uUgPaxWhtVTJZqTMCLWz_18DM8o2zZmY_Hn6c,3757
|
|
32
31
|
fiddler/entities/organization.py,sha256=XvUAdBUOYXzdmblxIs4hi0mAg45NtAwy5DBaMiqi47o,1074
|
|
33
32
|
fiddler/entities/project.py,sha256=_ONa4srk6zrDl6o6-BznmjiINn7TDabYSsWxve7BZxw,4595
|
|
@@ -36,7 +35,7 @@ fiddler/entities/user.py,sha256=ev_Xx9QHAdEHYzNDafzQihXOcD8ME5XkpKgc8MiqCnw,1243
|
|
|
36
35
|
fiddler/entities/webhook.py,sha256=I-mcl92Tg2-oUUqNMOeDPBe0XawVYhNcTGXHBway7_A,3798
|
|
37
36
|
fiddler/entities/xai.py,sha256=t5LOOWRtr0KnNJHOPfdhrH1WdNT6MBpAZoQ8Teiu9a8,20232
|
|
38
37
|
fiddler/libs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
39
|
-
fiddler/libs/http_client.py,sha256=
|
|
38
|
+
fiddler/libs/http_client.py,sha256=bl2V-q66NoPHm950CiDqOoF-kCPztYWUYNy9hVUsbqg,6027
|
|
40
39
|
fiddler/libs/json_encoder.py,sha256=brsrWySvtZdaBArIkqKM5WwJUbvZf6ZbKozn1CewjOc,512
|
|
41
40
|
fiddler/libs/semver.py,sha256=3HbXG1S-ABIxL3E0FHSm5OR_YrhYtCB2Q3XJ8-tywts,15995
|
|
42
41
|
fiddler/packtools/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -101,8 +100,8 @@ fiddler/utils/logger.py,sha256=FdJ3LkS9dbRjWsw5oJmNNsd7q0XRVEIvx5-TWys7L0k,669
|
|
|
101
100
|
fiddler/utils/model_generator.py,sha256=TwQMQDpy-0gcq6HyL68s37N-sk_nGPq33mmppK6i7hI,2203
|
|
102
101
|
fiddler/utils/validations.py,sha256=i8NtgrpCsitq6BPa5lygpKDh07oaOXu7PAlCIcMvqzY,408
|
|
103
102
|
fiddler/utils/version.py,sha256=iC8Ry7UFl9EJW_xU1WbzO_l4yK6V7eQ6U5exB3xT864,531
|
|
104
|
-
fiddler_client-3.0.0.
|
|
105
|
-
fiddler_client-3.0.0.
|
|
106
|
-
fiddler_client-3.0.0.
|
|
107
|
-
fiddler_client-3.0.0.
|
|
108
|
-
fiddler_client-3.0.0.
|
|
103
|
+
fiddler_client-3.0.0.dev5.dist-info/LICENSE.txt,sha256=w8-LUAb_VLBWSsCNmih0pAqLIicJfGu8OJXpDjkIg_o,559
|
|
104
|
+
fiddler_client-3.0.0.dev5.dist-info/METADATA,sha256=iyTcPoK3ebTms6F_Tmm3csGfUcmxgy-Ced_ASIAg4s4,20679
|
|
105
|
+
fiddler_client-3.0.0.dev5.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
106
|
+
fiddler_client-3.0.0.dev5.dist-info/top_level.txt,sha256=ndC6LqvKmrTTs8czRlBOYdYgSqZbHuMf0zHt_HWpzzk,8
|
|
107
|
+
fiddler_client-3.0.0.dev5.dist-info/RECORD,,
|
fiddler/_version.py
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '3.0.0.dev4'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|