fiddler-client 3.3.0.dev1__py3-none-any.whl → 3.4.0.dev1__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/decorators.py +1 -1
- fiddler/entities/alert_rule.py +14 -8
- fiddler/entities/xai.py +0 -38
- fiddler/tests/apis/test_alert_rule.py +20 -0
- fiddler/tests/apis/test_xai.py +0 -122
- fiddler/tests/test_logger.py +2 -2
- {fiddler_client-3.3.0.dev1.dist-info → fiddler_client-3.4.0.dev1.dist-info}/METADATA +9 -9
- {fiddler_client-3.3.0.dev1.dist-info → fiddler_client-3.4.0.dev1.dist-info}/RECORD +12 -12
- {fiddler_client-3.3.0.dev1.dist-info → fiddler_client-3.4.0.dev1.dist-info}/WHEEL +1 -1
- {fiddler_client-3.3.0.dev1.dist-info → fiddler_client-3.4.0.dev1.dist-info}/LICENSE.txt +0 -0
- {fiddler_client-3.3.0.dev1.dist-info → fiddler_client-3.4.0.dev1.dist-info}/top_level.txt +0 -0
fiddler/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.
|
|
1
|
+
3.4.0.dev1
|
fiddler/decorators.py
CHANGED
|
@@ -39,7 +39,7 @@ def handle_api_error(func: _WrappedFuncType) -> _WrappedFuncType:
|
|
|
39
39
|
error_resp = ErrorResponse(**e.response.json())
|
|
40
40
|
except requests.JSONDecodeError:
|
|
41
41
|
raise HttpError(
|
|
42
|
-
message=f
|
|
42
|
+
message=f"Invalid response content-type - {e.response.content}" # type: ignore
|
|
43
43
|
)
|
|
44
44
|
|
|
45
45
|
if status_code == HTTPStatus.CONFLICT:
|
fiddler/entities/alert_rule.py
CHANGED
|
@@ -5,6 +5,8 @@ from datetime import datetime
|
|
|
5
5
|
from typing import Any, Iterator
|
|
6
6
|
from uuid import UUID
|
|
7
7
|
|
|
8
|
+
from pydantic import ValidationError
|
|
9
|
+
|
|
8
10
|
from fiddler.constants.alert_rule import AlertCondition, BinSize, CompareTo, Priority
|
|
9
11
|
from fiddler.decorators import handle_api_error
|
|
10
12
|
from fiddler.entities.base import BaseEntity
|
|
@@ -276,14 +278,18 @@ class AlertRule(
|
|
|
276
278
|
|
|
277
279
|
:return: NotificationConfig object
|
|
278
280
|
"""
|
|
279
|
-
|
|
280
|
-
|
|
281
|
-
|
|
282
|
-
|
|
283
|
-
|
|
284
|
-
|
|
285
|
-
|
|
286
|
-
|
|
281
|
+
|
|
282
|
+
# Validating input
|
|
283
|
+
try:
|
|
284
|
+
payload: dict[str, Any] = NotificationConfig(
|
|
285
|
+
emails=emails,
|
|
286
|
+
pagerduty_services=pagerduty_services,
|
|
287
|
+
pagerduty_severity=pagerduty_severity,
|
|
288
|
+
webhooks=webhooks,
|
|
289
|
+
).dict()
|
|
290
|
+
except ValidationError as e:
|
|
291
|
+
logger.exception('Invalid input: The format of input is not correct')
|
|
292
|
+
raise e
|
|
287
293
|
response = self._client().patch(
|
|
288
294
|
url=self._get_notification_url(id_=self.id),
|
|
289
295
|
data=payload,
|
fiddler/entities/xai.py
CHANGED
|
@@ -89,44 +89,6 @@ class XaiMixin:
|
|
|
89
89
|
|
|
90
90
|
return namedtuple('Explain', response.json()['data'])(**response.json()['data'])
|
|
91
91
|
|
|
92
|
-
@handle_api_error
|
|
93
|
-
def get_fairness(
|
|
94
|
-
self,
|
|
95
|
-
data_source: DatasetDataSource | SqlSliceQueryDataSource,
|
|
96
|
-
protected_features: list[str],
|
|
97
|
-
positive_outcome: str | int | float | bool,
|
|
98
|
-
score_threshold: float | None = None,
|
|
99
|
-
) -> tuple:
|
|
100
|
-
"""
|
|
101
|
-
Get fairness analysis on a dataset or a slice.
|
|
102
|
-
|
|
103
|
-
:param data_source: DataSource for the input dataset to compute
|
|
104
|
-
fairness on (DatasetDataSource or SqlSliceQueryDataSource)
|
|
105
|
-
:param protected_features: list of protected attribute names to compute
|
|
106
|
-
Fairness analysis on
|
|
107
|
-
:param positive_outcome: name of the positive outcome to compute
|
|
108
|
-
Fairness analysis on
|
|
109
|
-
:param score_threshold: Binary threshold value (between 0 and 1). Default to 0.5
|
|
110
|
-
|
|
111
|
-
:return: A named tuple with the fairness results.
|
|
112
|
-
"""
|
|
113
|
-
self._check_id_attributes()
|
|
114
|
-
|
|
115
|
-
payload: dict[str, Any] = {
|
|
116
|
-
'model_id': self.id,
|
|
117
|
-
'data_source': data_source.dict(exclude_none=True),
|
|
118
|
-
'protected_features': protected_features,
|
|
119
|
-
'positive_outcome': positive_outcome,
|
|
120
|
-
}
|
|
121
|
-
if score_threshold:
|
|
122
|
-
payload['score_threshold'] = score_threshold
|
|
123
|
-
|
|
124
|
-
response = self._client().post(url='/v3/analytics/fairness', data=payload)
|
|
125
|
-
|
|
126
|
-
return namedtuple('Fairness', response.json()['data'])(
|
|
127
|
-
**response.json()['data']
|
|
128
|
-
)
|
|
129
|
-
|
|
130
92
|
@handle_api_error
|
|
131
93
|
def get_slice(
|
|
132
94
|
self,
|
|
@@ -5,6 +5,7 @@ from uuid import UUID
|
|
|
5
5
|
|
|
6
6
|
import pytest
|
|
7
7
|
import responses
|
|
8
|
+
from pydantic import ValidationError
|
|
8
9
|
|
|
9
10
|
from fiddler.constants.alert_rule import AlertCondition, BinSize, CompareTo, Priority
|
|
10
11
|
from fiddler.entities.alert_rule import AlertRule
|
|
@@ -349,12 +350,31 @@ def test_set_notifications() -> None:
|
|
|
349
350
|
assert json.loads(resp.calls[0].request.body) == {
|
|
350
351
|
'emails': TEST_EMAILS,
|
|
351
352
|
'webhooks': TEST_WEBHOOKS,
|
|
353
|
+
'pagerduty_services': None,
|
|
354
|
+
'pagerduty_severity': None,
|
|
352
355
|
}
|
|
353
356
|
assert notifications == NotificationConfig(
|
|
354
357
|
**ALERT_NOTIFICATION_API_RESPONSE_200['data']
|
|
355
358
|
)
|
|
356
359
|
|
|
357
360
|
|
|
361
|
+
@responses.activate
|
|
362
|
+
def test_set_notifications_invalid_input(caplog) -> None:
|
|
363
|
+
responses.get(
|
|
364
|
+
url=f'{URL}/v3/alert-rules/{ALERT_RULE_ID}',
|
|
365
|
+
json=API_RESPONSE_200,
|
|
366
|
+
)
|
|
367
|
+
|
|
368
|
+
alert_rule = AlertRule.get(id_=ALERT_RULE_ID)
|
|
369
|
+
|
|
370
|
+
with pytest.raises(ValidationError):
|
|
371
|
+
alert_rule.set_notification_config(
|
|
372
|
+
emails=TEST_EMAILS[0],
|
|
373
|
+
webhooks=TEST_WEBHOOKS,
|
|
374
|
+
)
|
|
375
|
+
assert 'Invalid input: The format of input is not correct' in caplog.messages[0]
|
|
376
|
+
|
|
377
|
+
|
|
358
378
|
@responses.activate
|
|
359
379
|
def test_get_notifications() -> None:
|
|
360
380
|
responses.get(
|
fiddler/tests/apis/test_xai.py
CHANGED
|
@@ -219,104 +219,6 @@ EXPLAIN_RESPONSE_200 = {
|
|
|
219
219
|
'kind': 'NORMAL',
|
|
220
220
|
}
|
|
221
221
|
|
|
222
|
-
FAIRNESS_RESPONSE_200 = {
|
|
223
|
-
'data': {
|
|
224
|
-
'protected_attributes': ['Gender'],
|
|
225
|
-
'label_distribution': {
|
|
226
|
-
'columns': ['Gender', 'data_label', 'count'],
|
|
227
|
-
'labels': [
|
|
228
|
-
['Female', 'Churned', 79],
|
|
229
|
-
['Female', 'Not Churned', 377],
|
|
230
|
-
['Male', 'Churned', 39],
|
|
231
|
-
['Male', 'Not Churned', 505],
|
|
232
|
-
],
|
|
233
|
-
},
|
|
234
|
-
'model_outcomes': {
|
|
235
|
-
'columns': ['Gender', 'model_outcome', 'count'],
|
|
236
|
-
'outcomes': [
|
|
237
|
-
['Female', 'Churned', 51],
|
|
238
|
-
['Female', 'Not Churned', 405],
|
|
239
|
-
['Male', 'Churned', 28],
|
|
240
|
-
['Male', 'Not Churned', 516],
|
|
241
|
-
],
|
|
242
|
-
},
|
|
243
|
-
'technical_metrics': {
|
|
244
|
-
'columns': [
|
|
245
|
-
'Gender',
|
|
246
|
-
'true_positive_rate',
|
|
247
|
-
'false_positive_rate',
|
|
248
|
-
'true_negative_rate',
|
|
249
|
-
'false_negative_rate',
|
|
250
|
-
'false_omission_rate',
|
|
251
|
-
'false_discovery_rate',
|
|
252
|
-
],
|
|
253
|
-
'values': [
|
|
254
|
-
[
|
|
255
|
-
'Female',
|
|
256
|
-
0.569620253164557,
|
|
257
|
-
0.015915119363395226,
|
|
258
|
-
0.9840848806366048,
|
|
259
|
-
0.43037974683544306,
|
|
260
|
-
0.08395061728395062,
|
|
261
|
-
0.11764705882352941,
|
|
262
|
-
],
|
|
263
|
-
[
|
|
264
|
-
'Male',
|
|
265
|
-
0.5897435897435898,
|
|
266
|
-
0.009900990099009901,
|
|
267
|
-
0.9900990099009901,
|
|
268
|
-
0.41025641025641024,
|
|
269
|
-
0.031007751937984496,
|
|
270
|
-
0.17857142857142858,
|
|
271
|
-
],
|
|
272
|
-
],
|
|
273
|
-
},
|
|
274
|
-
'fairness_metrics': {
|
|
275
|
-
'demographic_parity': {
|
|
276
|
-
'index': ['dp'],
|
|
277
|
-
'columns': ['Female', 'Male'],
|
|
278
|
-
'data': [[0.1118421052631579, 0.051470588235294115]],
|
|
279
|
-
'ratio': 0.4602076124567474,
|
|
280
|
-
},
|
|
281
|
-
'equal_opportunity': {
|
|
282
|
-
'index': ['tpr'],
|
|
283
|
-
'columns': ['Female', 'Male'],
|
|
284
|
-
'data': [[0.569620253164557, 0.5897435897435898]],
|
|
285
|
-
'ratio': 0.9658778205833792,
|
|
286
|
-
},
|
|
287
|
-
'group_benefit_equality': {
|
|
288
|
-
'index': ['group_benefit'],
|
|
289
|
-
'columns': ['Female', 'Male'],
|
|
290
|
-
'data': [[0.6455696202531646, 0.717948717948718]],
|
|
291
|
-
'ratio': 0.8991862567811935,
|
|
292
|
-
},
|
|
293
|
-
'disparate_impact': {
|
|
294
|
-
'pairs': [
|
|
295
|
-
{
|
|
296
|
-
'reference': ['Female'],
|
|
297
|
-
'groups': [['Male']],
|
|
298
|
-
'values': [0.4602076124567474],
|
|
299
|
-
},
|
|
300
|
-
{
|
|
301
|
-
'reference': ['Male'],
|
|
302
|
-
'groups': [['Female']],
|
|
303
|
-
'values': [0.4602076124567474],
|
|
304
|
-
},
|
|
305
|
-
],
|
|
306
|
-
'absolute_min': {
|
|
307
|
-
'groups': [['Female'], ['Male']],
|
|
308
|
-
'value': 0.4602076124567474,
|
|
309
|
-
},
|
|
310
|
-
},
|
|
311
|
-
},
|
|
312
|
-
'model_task': 'BINARY_CLASSIFICATION',
|
|
313
|
-
'total_samples': 1000,
|
|
314
|
-
'valid_samples': 1000,
|
|
315
|
-
},
|
|
316
|
-
'api_version': '3.0',
|
|
317
|
-
'kind': 'NORMAL',
|
|
318
|
-
}
|
|
319
|
-
|
|
320
222
|
FETCH_SLICE_RESPONSE_200 = {
|
|
321
223
|
'data': {
|
|
322
224
|
'metadata': {
|
|
@@ -653,30 +555,6 @@ def test_explain() -> None:
|
|
|
653
555
|
)
|
|
654
556
|
|
|
655
557
|
|
|
656
|
-
@responses.activate
|
|
657
|
-
def test_fairness() -> None:
|
|
658
|
-
responses.get(
|
|
659
|
-
url=f'{URL}/v3/models/{MODEL_ID}',
|
|
660
|
-
json=MODEL_API_RESPONSE_200,
|
|
661
|
-
)
|
|
662
|
-
model = Model.get(id_=MODEL_ID)
|
|
663
|
-
|
|
664
|
-
responses.post(
|
|
665
|
-
url=f'{URL}/v3/analytics/fairness',
|
|
666
|
-
json=FAIRNESS_RESPONSE_200,
|
|
667
|
-
)
|
|
668
|
-
fairness = model.get_fairness(
|
|
669
|
-
data_source=DatasetDataSource(
|
|
670
|
-
env_type='PRODUCTION',
|
|
671
|
-
),
|
|
672
|
-
protected_features=['Gender'],
|
|
673
|
-
positive_outcome='Churned',
|
|
674
|
-
)
|
|
675
|
-
assert fairness == namedtuple('Fairness', FAIRNESS_RESPONSE_200['data'])(
|
|
676
|
-
**FAIRNESS_RESPONSE_200['data']
|
|
677
|
-
)
|
|
678
|
-
|
|
679
|
-
|
|
680
558
|
@responses.activate
|
|
681
559
|
def test_get_slice() -> None:
|
|
682
560
|
responses.get(
|
fiddler/tests/test_logger.py
CHANGED
|
@@ -6,7 +6,7 @@ from fiddler.utils.logger import set_logging
|
|
|
6
6
|
|
|
7
7
|
def test_set_logging() -> None:
|
|
8
8
|
app_logger = logging.getLogger(LOGGER_NAME)
|
|
9
|
-
assert len(app_logger.handlers) ==
|
|
9
|
+
assert len(app_logger.handlers) == 2
|
|
10
10
|
|
|
11
11
|
set_logging(level=logging.ERROR)
|
|
12
|
-
assert len(app_logger.handlers) ==
|
|
12
|
+
assert len(app_logger.handlers) == 3
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fiddler-client
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.4.0.dev1
|
|
4
4
|
Summary: Python client for Fiddler Platform
|
|
5
5
|
Home-page: https://fiddler.ai
|
|
6
6
|
Author: Fiddler Labs
|
|
@@ -10,17 +10,17 @@ Classifier: Operating System :: OS Independent
|
|
|
10
10
|
Requires-Python: >3.8.0
|
|
11
11
|
Description-Content-Type: text/markdown
|
|
12
12
|
License-File: LICENSE.txt
|
|
13
|
-
Requires-Dist: pip
|
|
14
|
-
Requires-Dist: requests
|
|
13
|
+
Requires-Dist: pip>=21.0
|
|
14
|
+
Requires-Dist: requests<3
|
|
15
15
|
Requires-Dist: requests-toolbelt
|
|
16
|
-
Requires-Dist: pandas
|
|
17
|
-
Requires-Dist: pydantic
|
|
18
|
-
Requires-Dist: deprecated
|
|
16
|
+
Requires-Dist: pandas>=1.2.5
|
|
17
|
+
Requires-Dist: pydantic<2,>=1.10.15
|
|
18
|
+
Requires-Dist: deprecated==1.2.14
|
|
19
19
|
Requires-Dist: tqdm
|
|
20
|
-
Requires-Dist: simplejson
|
|
21
|
-
Requires-Dist: pyarrow
|
|
20
|
+
Requires-Dist: simplejson>=3.17.0
|
|
21
|
+
Requires-Dist: pyarrow>=7.0.0
|
|
22
22
|
Requires-Dist: pyyaml
|
|
23
|
-
Requires-Dist: typing-extensions
|
|
23
|
+
Requires-Dist: typing-extensions<5,>=4.6.0
|
|
24
24
|
|
|
25
25
|
Fiddler Client
|
|
26
26
|
=============
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
fiddler/VERSION,sha256=
|
|
1
|
+
fiddler/VERSION,sha256=vGC7qw1QPL99fmIo0frQmCZMxipDcReLwXZdaa_DvdA,11
|
|
2
2
|
fiddler/__init__.py,sha256=pBLW7thJD1HkYhH5bJJbJFXSN8FNezos-rBU3HWhb4A,3794
|
|
3
3
|
fiddler/configs.py,sha256=ZimSo0Gk7j1BFkjDHdRdycrGZ8oh-7G5TBXYiOh1HvU,217
|
|
4
4
|
fiddler/connection.py,sha256=fLdSXpu5dwoK-h4Vtc9nbdKENOJ7jfEmrnDhVAtChck,5677
|
|
5
|
-
fiddler/decorators.py,sha256=
|
|
5
|
+
fiddler/decorators.py,sha256=TyM5__nxjX8tIT83YAnIWMkWlh5GIsGg6F8wdlHeq-g,1836
|
|
6
6
|
fiddler/exceptions.py,sha256=T4ZpkTYPbnWvUX7y5XehnCyHqQPj3qqsIDKCZQNtaIE,2221
|
|
7
7
|
fiddler/version.py,sha256=8fyg3UhFpqghMpxbtYIwNcB1lhCG6yTkPBbDS7IrwxY,140
|
|
8
8
|
fiddler/constants/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -17,7 +17,7 @@ fiddler/constants/model_deployment.py,sha256=SfagLKVD7tK1QmYQFJLDrA4-6FaSeNF6tik
|
|
|
17
17
|
fiddler/constants/xai.py,sha256=GR8VguB6FTfMJZ291FIbfDsY4S9BGOft3VxNW5jMf90,214
|
|
18
18
|
fiddler/entities/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
19
19
|
fiddler/entities/alert_record.py,sha256=RcDACWDNpntkiId-JpkLQvVeIbuaZAzn6AWl2zYIh9A,3564
|
|
20
|
-
fiddler/entities/alert_rule.py,sha256=
|
|
20
|
+
fiddler/entities/alert_rule.py,sha256=4z6rhmP3Rqa46nDj490AoGExBLaqOsJE1Ct36wcoKuQ,10492
|
|
21
21
|
fiddler/entities/base.py,sha256=YCTLt1ta8UbD7u-5BW7v_ocA4S7LevEncI5XPS_SB60,2106
|
|
22
22
|
fiddler/entities/baseline.py,sha256=k3D-K8WC5MkHDILyejRaH1v9jdCIymT96McDBOVQ9A0,7907
|
|
23
23
|
fiddler/entities/custom_expression.py,sha256=SdS61JiI0gOxWwHAGxkHh1vqS5XsRtyeNSDs5E-Sg2U,6568
|
|
@@ -33,7 +33,7 @@ fiddler/entities/project.py,sha256=G5omjjKHEjvhenMvW-R0bYwrkRVHixIOhTPZb1pS7FI,4
|
|
|
33
33
|
fiddler/entities/surrogate.py,sha256=94RkJmv8uwNhRL8PaliuiRv-R0EXDMKJTimE9boXKwQ,3077
|
|
34
34
|
fiddler/entities/user.py,sha256=ev_Xx9QHAdEHYzNDafzQihXOcD8ME5XkpKgc8MiqCnw,1243
|
|
35
35
|
fiddler/entities/webhook.py,sha256=BhwV-05EaFtOATbnlPWUaGeziRSewBPSNSGsYFbIRfc,4514
|
|
36
|
-
fiddler/entities/xai.py,sha256=
|
|
36
|
+
fiddler/entities/xai.py,sha256=GaippPwXFrNda1O4aBMkYTm6WJZ8HWqw7sq-GMKyx7g,19739
|
|
37
37
|
fiddler/libs/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
38
38
|
fiddler/libs/http_client.py,sha256=bl2V-q66NoPHm950CiDqOoF-kCPztYWUYNy9hVUsbqg,6027
|
|
39
39
|
fiddler/libs/json_encoder.py,sha256=brsrWySvtZdaBArIkqKM5WwJUbvZf6ZbKozn1CewjOc,512
|
|
@@ -73,12 +73,12 @@ fiddler/tests/conftest.py,sha256=Dmz9FKAFHYdq1AWmcY7NES9pU4cbY9qKWQiojjaX_0E,840
|
|
|
73
73
|
fiddler/tests/constants.py,sha256=XuDw_3kzQEcgum-FynCfJzp-sAuRZ0wFS_w9tACFh6s,1264
|
|
74
74
|
fiddler/tests/test_connection.py,sha256=d8WoB0QRZEObWfeRAZRXRm1kw9wfEysmeo4Bld7x8js,1865
|
|
75
75
|
fiddler/tests/test_json_encoder.py,sha256=GJeFT5tTA4RTfZn1q2xm1V5SEj5DNsW3LeHPVfFxcFw,783
|
|
76
|
-
fiddler/tests/test_logger.py,sha256=
|
|
76
|
+
fiddler/tests/test_logger.py,sha256=bhpS8TLrYBUOIzuk9XAs_Inot54LOWhw0A-8oXhZ2FM,312
|
|
77
77
|
fiddler/tests/test_utils.py,sha256=AF6y7UfboEkCa-nNw0aF30SdHC7yW2Hh78J4H_4s78k,3333
|
|
78
78
|
fiddler/tests/utils.py,sha256=FEDbASW4pYZktdEK2FLnIDyZCwBzpb60m6EzkvOkwSc,335
|
|
79
79
|
fiddler/tests/apis/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
80
80
|
fiddler/tests/apis/test_alert_record.py,sha256=_0EBRDn87TqTiO1KYEHKQQVtVZjj4lYjbt8Ix-RRTSg,3118
|
|
81
|
-
fiddler/tests/apis/test_alert_rule.py,sha256=
|
|
81
|
+
fiddler/tests/apis/test_alert_rule.py,sha256=o0bi6CNTgHIM19oCJTStgB01jWHgUIJcueAGavd-DM4,11258
|
|
82
82
|
fiddler/tests/apis/test_baseline.py,sha256=R_vvbZdSenpYMSydurENJrE_uNWE3sJR9sHJksfU_Jk,7494
|
|
83
83
|
fiddler/tests/apis/test_custom_metric.py,sha256=QlNa80M9PxqaqzW-3nCtH5kKLRHYu2iqFDautBusbos,8208
|
|
84
84
|
fiddler/tests/apis/test_dataset.py,sha256=1Xc9Ng91fLMc2C6dpKfse42fQ0anza3ZOKOD1TqCvTQ,4636
|
|
@@ -94,15 +94,15 @@ fiddler/tests/apis/test_model_surrogate.py,sha256=h3OPgD1-_n6gTd0YH_hDcBBRjBfXv1
|
|
|
94
94
|
fiddler/tests/apis/test_project.py,sha256=IEYT3imD4dZJg-OT888G4jQJ_AxxHN5_VkCHcmwUnGA,6015
|
|
95
95
|
fiddler/tests/apis/test_segment.py,sha256=hQiXpZEKLJrnlRBLLMsP3jph8H8K7AEUw17sMK6BuF8,7804
|
|
96
96
|
fiddler/tests/apis/test_webhook.py,sha256=Tf6bggAFeUA0a9TKTjJ34dM_UM_l6_Q-5N9utyuieeE,8099
|
|
97
|
-
fiddler/tests/apis/test_xai.py,sha256=
|
|
97
|
+
fiddler/tests/apis/test_xai.py,sha256=pg7SGC1D8vqGxRhNmlI94c7pDMlb0KWj2Ow9GGIQCEM,26943
|
|
98
98
|
fiddler/utils/__init__.py,sha256=ooAJR6_tVaF6UKZriz5ynZPj8IeCzaDIPKV23F-e4Fk,53
|
|
99
99
|
fiddler/utils/helpers.py,sha256=Xl_T_se9SOeMTmVJAOVzzmkekUsmpFMlAb2KvPCWfTw,2908
|
|
100
100
|
fiddler/utils/logger.py,sha256=FdJ3LkS9dbRjWsw5oJmNNsd7q0XRVEIvx5-TWys7L0k,669
|
|
101
101
|
fiddler/utils/model_generator.py,sha256=TwQMQDpy-0gcq6HyL68s37N-sk_nGPq33mmppK6i7hI,2203
|
|
102
102
|
fiddler/utils/validations.py,sha256=i8NtgrpCsitq6BPa5lygpKDh07oaOXu7PAlCIcMvqzY,408
|
|
103
103
|
fiddler/utils/version.py,sha256=iC8Ry7UFl9EJW_xU1WbzO_l4yK6V7eQ6U5exB3xT864,531
|
|
104
|
-
fiddler_client-3.
|
|
105
|
-
fiddler_client-3.
|
|
106
|
-
fiddler_client-3.
|
|
107
|
-
fiddler_client-3.
|
|
108
|
-
fiddler_client-3.
|
|
104
|
+
fiddler_client-3.4.0.dev1.dist-info/LICENSE.txt,sha256=w8-LUAb_VLBWSsCNmih0pAqLIicJfGu8OJXpDjkIg_o,559
|
|
105
|
+
fiddler_client-3.4.0.dev1.dist-info/METADATA,sha256=CWLWSoSOKtM_ahd_UXMENfVn77s6FX9y7js1tSzcfo8,1594
|
|
106
|
+
fiddler_client-3.4.0.dev1.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
|
|
107
|
+
fiddler_client-3.4.0.dev1.dist-info/top_level.txt,sha256=ndC6LqvKmrTTs8czRlBOYdYgSqZbHuMf0zHt_HWpzzk,8
|
|
108
|
+
fiddler_client-3.4.0.dev1.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|