fiddler-client 2.1.0.dev3__tar.gz → 2.1.0.dev4__tar.gz
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-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/PKG-INFO +2 -1
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/PUBLIC.md +1 -0
- fiddler-client-2.1.0.dev4/fiddler/_version.py +1 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/custom_metrics_mixin.py +24 -5
- fiddler-client-2.1.0.dev4/fiddler/schema/custom_metric.py +18 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler_client.egg-info/PKG-INFO +2 -1
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_custom_metrics.py +84 -9
- fiddler-client-2.1.0.dev3/fiddler/_version.py +0 -1
- fiddler-client-2.1.0.dev3/fiddler/schema/custom_metric.py +0 -10
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/MANIFEST.in +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/README.md +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/__init__.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/__init__.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/alert_mixin.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/api.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/baseline_mixin.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/dataset_mixin.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/events_mixin.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/explainability_mixin.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/generate_schema_mixin.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/helpers.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/job_mixin.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/model_artifact_deploy.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/model_deployment_mixin.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/model_mixin.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/project_mixin.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/webhooks_mixin.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/assets/__init__.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/assets/pg_reserved_words.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/constants.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/core_objects.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/exceptions.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/libs/__init__.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/libs/http_client.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/packtools/__init__.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/packtools/gem.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/packtools/keras_ig_helpers.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/packtools/project_attributions_helpers.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/packtools/template_model.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schema/__init__.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schema/alert.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schema/base.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schema/baseline.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schema/dataset.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schema/events.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schema/job.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schema/model.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schema/model_deployment.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schema/project.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schema/server_info.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schema/user.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schema/webhook.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schemas/__init__.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schemas/custom_features.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schemas/model_schema.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schemas/model_spec.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schemas/model_task_params.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schemas/xai_params.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/utils/__init__.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/utils/decorators.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/utils/formatting.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/utils/general_checks.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/utils/helpers.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/utils/logger.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/utils/pandas_helper.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/utils/response_handler.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/utils/semver_version.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/utils/validations.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/utils/validator.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/validators/__init__.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/validators/dataset_validator.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler_client.egg-info/SOURCES.txt +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler_client.egg-info/dependency_links.txt +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler_client.egg-info/requires.txt +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler_client.egg-info/top_level.txt +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/setup.cfg +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/setup.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/__init__.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/__init__.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/base.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/helper.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_add_model.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_alert.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_baseline.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_check_version_decorator.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_custom_features.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_dataset_api.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_events_api.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_exceptions.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_explainability_apis.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_file_upload.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_generate_schema.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_helpers.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_job.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_model.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_project.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_response_handler.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_upload_dataset.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_validations.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_webhook.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/utils/__init__.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/utils/test_general_checks.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/utils/test_pandas.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/utils/tests_utils.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/test_object_inference.py +0 -0
- {fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/utils.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fiddler-client
|
|
3
|
-
Version: 2.1.0.
|
|
3
|
+
Version: 2.1.0.dev4
|
|
4
4
|
Summary: Python client for Fiddler Service
|
|
5
5
|
Home-page: https://fiddler.ai
|
|
6
6
|
Author: Fiddler Labs
|
|
@@ -31,6 +31,7 @@ Description: Fiddler Client
|
|
|
31
31
|
- #### **New Features**
|
|
32
32
|
- Introduce Model Tasks `NOT_SET` and `LLM`
|
|
33
33
|
- Relax Target / Output specification for model tasks `NOT_SET` and `LLM`
|
|
34
|
+
- Support custom metrics
|
|
34
35
|
|
|
35
36
|
### 2.0.4
|
|
36
37
|
- #### **Modifications**
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
__version__ = '2.1.0.dev4'
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
from http import HTTPStatus
|
|
2
|
-
from typing import List
|
|
2
|
+
from typing import List, Optional
|
|
3
3
|
|
|
4
4
|
from pydantic import parse_obj_as
|
|
5
5
|
|
|
@@ -22,7 +22,12 @@ class CustomMetricsMixin:
|
|
|
22
22
|
|
|
23
23
|
@handle_api_error_response
|
|
24
24
|
def add_custom_metric(
|
|
25
|
-
self,
|
|
25
|
+
self,
|
|
26
|
+
name: str,
|
|
27
|
+
project_id: str,
|
|
28
|
+
model_id: str,
|
|
29
|
+
definition: str,
|
|
30
|
+
description: Optional[str] = None,
|
|
26
31
|
) -> CustomMetric:
|
|
27
32
|
"""
|
|
28
33
|
Add a new `Custom Metric`.
|
|
@@ -30,7 +35,8 @@ class CustomMetricsMixin:
|
|
|
30
35
|
:params name: name of custom metric
|
|
31
36
|
:params project_id: name of project
|
|
32
37
|
:params model_id: name of model
|
|
33
|
-
:params
|
|
38
|
+
:params definition: The FQL expression describing the metric
|
|
39
|
+
:params description: description of custom metric
|
|
34
40
|
|
|
35
41
|
:returns: Created `CustomMetric` object.
|
|
36
42
|
"""
|
|
@@ -39,7 +45,8 @@ class CustomMetricsMixin:
|
|
|
39
45
|
'project_name': project_id,
|
|
40
46
|
'model_name': model_id,
|
|
41
47
|
'name': name,
|
|
42
|
-
'
|
|
48
|
+
'definition': definition,
|
|
49
|
+
'description': description,
|
|
43
50
|
}
|
|
44
51
|
response = self.client.post(
|
|
45
52
|
url='custom-metrics',
|
|
@@ -51,7 +58,7 @@ class CustomMetricsMixin:
|
|
|
51
58
|
return CustomMetric.parse_obj(attrs)
|
|
52
59
|
|
|
53
60
|
@handle_api_error_response
|
|
54
|
-
def delete_custom_metric(self, metric_id: str
|
|
61
|
+
def delete_custom_metric(self, metric_id: str) -> None:
|
|
55
62
|
"""
|
|
56
63
|
Delete a custom metric
|
|
57
64
|
|
|
@@ -95,3 +102,15 @@ class CustomMetricsMixin:
|
|
|
95
102
|
)
|
|
96
103
|
items = PaginatedResponseHandler(response).get_pagination_items()
|
|
97
104
|
return parse_obj_as(List[CustomMetric], items)
|
|
105
|
+
|
|
106
|
+
@handle_api_error_response
|
|
107
|
+
def get_custom_metric(self, metric_id: str) -> CustomMetric:
|
|
108
|
+
"""
|
|
109
|
+
Get a `CustomMetric` object.
|
|
110
|
+
|
|
111
|
+
:params metric_id: id of the custom metric
|
|
112
|
+
|
|
113
|
+
:returns: a `CustomMetric` object
|
|
114
|
+
"""
|
|
115
|
+
response = self.client.get(url=f'custom-metrics/{metric_id}')
|
|
116
|
+
return CustomMetric.deserialize(APIResponseHandler(response))
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
from typing import Optional
|
|
2
|
+
|
|
3
|
+
from fiddler.schema.base import BaseDataSchema
|
|
4
|
+
from fiddler.schema.user import UserCompact
|
|
5
|
+
from datetime import datetime
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
class CustomMetric(BaseDataSchema):
|
|
9
|
+
id: str
|
|
10
|
+
name: str
|
|
11
|
+
project_name: str
|
|
12
|
+
organization_name: str
|
|
13
|
+
name: str
|
|
14
|
+
definition: str
|
|
15
|
+
description: Optional[str]
|
|
16
|
+
created_at: Optional[datetime]
|
|
17
|
+
created_by: Optional[UserCompact]
|
|
18
|
+
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: fiddler-client
|
|
3
|
-
Version: 2.1.0.
|
|
3
|
+
Version: 2.1.0.dev4
|
|
4
4
|
Summary: Python client for Fiddler Service
|
|
5
5
|
Home-page: https://fiddler.ai
|
|
6
6
|
Author: Fiddler Labs
|
|
@@ -31,6 +31,7 @@ Description: Fiddler Client
|
|
|
31
31
|
- #### **New Features**
|
|
32
32
|
- Introduce Model Tasks `NOT_SET` and `LLM`
|
|
33
33
|
- Relax Target / Output specification for model tasks `NOT_SET` and `LLM`
|
|
34
|
+
- Support custom metrics
|
|
34
35
|
|
|
35
36
|
### 2.0.4
|
|
36
37
|
- #### **Modifications**
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_custom_metrics.py
RENAMED
|
@@ -27,17 +27,32 @@ class TestCustomMetric(BaseTestCase):
|
|
|
27
27
|
"project_name": "bank_churn",
|
|
28
28
|
"name": "tp_0.8",
|
|
29
29
|
"model_name": "churn_classifier",
|
|
30
|
-
"
|
|
30
|
+
"definition": "sum(age)",
|
|
31
31
|
"id": "fbba0596-1d49-4159-a5ea-e1c2f57c9c32",
|
|
32
|
-
"organization_name": "test_organization"
|
|
32
|
+
"organization_name": "test_organization",
|
|
33
|
+
"description": "test description",
|
|
34
|
+
"extra_field_from_future": "should_not_break",
|
|
35
|
+
"created_at": "2021-03-03T18:30:00.000Z",
|
|
36
|
+
"created_by": {
|
|
37
|
+
"id": "1",
|
|
38
|
+
"full_name": "test user",
|
|
39
|
+
"email": "testuser@fiddler.ai"
|
|
40
|
+
}
|
|
33
41
|
},
|
|
34
42
|
{
|
|
35
43
|
"project_name": "bank_churn",
|
|
36
44
|
"name": "tp_0.6",
|
|
37
45
|
"model_name": "churn_classifier",
|
|
38
|
-
"
|
|
46
|
+
"definition": "sum(credit_score)",
|
|
39
47
|
"id": "3a352397-a89a-495d-a095-440f1d21a58a",
|
|
40
|
-
"organization_name": "test_organization"
|
|
48
|
+
"organization_name": "test_organization",
|
|
49
|
+
"description": "test description",
|
|
50
|
+
"created_at": "2021-03-03T18:30:00.000Z",
|
|
51
|
+
"created_by": {
|
|
52
|
+
"id": "2",
|
|
53
|
+
"full_name": "test user",
|
|
54
|
+
"email": "testuser@fiddler.ai"
|
|
55
|
+
}
|
|
41
56
|
}
|
|
42
57
|
]
|
|
43
58
|
},
|
|
@@ -65,18 +80,32 @@ class TestCustomMetric(BaseTestCase):
|
|
|
65
80
|
CustomMetric(
|
|
66
81
|
id='fbba0596-1d49-4159-a5ea-e1c2f57c9c32',
|
|
67
82
|
name='tp_0.8',
|
|
68
|
-
|
|
83
|
+
definition='sum(age)',
|
|
69
84
|
organization_name='test_organization',
|
|
70
85
|
project_name='bank_churn',
|
|
71
86
|
model_name='churn_classifier',
|
|
87
|
+
description='test description',
|
|
88
|
+
created_at='2021-03-03T18:30:00.000Z',
|
|
89
|
+
created_by={
|
|
90
|
+
"id": "1",
|
|
91
|
+
"full_name": "test user",
|
|
92
|
+
"email": "testuser@fiddler.ai"
|
|
93
|
+
}
|
|
72
94
|
),
|
|
73
95
|
CustomMetric(
|
|
74
96
|
id='3a352397-a89a-495d-a095-440f1d21a58a',
|
|
75
97
|
name='tp_0.6',
|
|
76
|
-
|
|
98
|
+
definition='sum(credit_score)',
|
|
77
99
|
organization_name='test_organization',
|
|
78
100
|
project_name='bank_churn',
|
|
79
101
|
model_name='churn_classifier',
|
|
102
|
+
description='test description',
|
|
103
|
+
created_at='2021-03-03T18:30:00.000Z',
|
|
104
|
+
created_by={
|
|
105
|
+
"id": "2",
|
|
106
|
+
"full_name": "test user",
|
|
107
|
+
"email": "testuser@fiddler.ai"
|
|
108
|
+
}
|
|
80
109
|
),
|
|
81
110
|
]
|
|
82
111
|
|
|
@@ -95,17 +124,19 @@ class TestCustomMetric(BaseTestCase):
|
|
|
95
124
|
|
|
96
125
|
custom_metric = self.client.add_custom_metric(
|
|
97
126
|
name='my custom',
|
|
98
|
-
|
|
127
|
+
definition='sum(age)',
|
|
99
128
|
project_id='bank_churn',
|
|
100
129
|
model_id='churn_classifier',
|
|
130
|
+
description='test description',
|
|
101
131
|
)
|
|
102
132
|
assert custom_metric == CustomMetric(
|
|
103
133
|
id='fbba0596-1d49-4159-a5ea-e1c2f57c9c32',
|
|
104
134
|
name='my custom',
|
|
105
|
-
|
|
135
|
+
definition='sum(age)',
|
|
106
136
|
organization_name='test_organization',
|
|
107
137
|
project_name='bank_churn',
|
|
108
138
|
model_name='churn_classifier',
|
|
139
|
+
description='test description',
|
|
109
140
|
)
|
|
110
141
|
|
|
111
142
|
def test_add_custom_metric_error(self):
|
|
@@ -131,7 +162,7 @@ class TestCustomMetric(BaseTestCase):
|
|
|
131
162
|
with self.assertRaises(BadRequest) as context:
|
|
132
163
|
self.client.add_custom_metric(
|
|
133
164
|
name='my custom',
|
|
134
|
-
|
|
165
|
+
definition='sum(unknown)',
|
|
135
166
|
project_id='bank_churn',
|
|
136
167
|
model_id='churn_classifier',
|
|
137
168
|
)
|
|
@@ -140,6 +171,50 @@ class TestCustomMetric(BaseTestCase):
|
|
|
140
171
|
"Column unknown not found in model churn_classifier"
|
|
141
172
|
)
|
|
142
173
|
|
|
174
|
+
def test_get_custom_metric(self):
|
|
175
|
+
uuid = 'fbba0596-1d49-4159-a5ea-e1c2f57c9c32'
|
|
176
|
+
response = {
|
|
177
|
+
"data": {
|
|
178
|
+
"project_name": "bank_churn",
|
|
179
|
+
"name": "tp_0.8",
|
|
180
|
+
"model_name": "churn_classifier",
|
|
181
|
+
"definition": "sum(age)",
|
|
182
|
+
"id": "fbba0596-1d49-4159-a5ea-e1c2f57c9c32",
|
|
183
|
+
"organization_name": "test_organization",
|
|
184
|
+
"description": "test description",
|
|
185
|
+
"extra_field_from_future": "should_not_break",
|
|
186
|
+
"created_at": "2021-03-03T18:30:00.000Z",
|
|
187
|
+
"created_by": {
|
|
188
|
+
"id": "1",
|
|
189
|
+
"full_name": "test user",
|
|
190
|
+
"email": "testuser@fiddler.ai"
|
|
191
|
+
}
|
|
192
|
+
},
|
|
193
|
+
"api_version": "2.0",
|
|
194
|
+
"kind": "NORMAL"
|
|
195
|
+
}
|
|
196
|
+
url = self._get_url(uuid)
|
|
197
|
+
|
|
198
|
+
self.requests_mock.get(url, json=response)
|
|
199
|
+
cm = self.client.get_custom_metric(
|
|
200
|
+
metric_id='fbba0596-1d49-4159-a5ea-e1c2f57c9c32'
|
|
201
|
+
)
|
|
202
|
+
assert cm == CustomMetric(
|
|
203
|
+
id='fbba0596-1d49-4159-a5ea-e1c2f57c9c32',
|
|
204
|
+
name='tp_0.8',
|
|
205
|
+
definition='sum(age)',
|
|
206
|
+
organization_name='test_organization',
|
|
207
|
+
project_name='bank_churn',
|
|
208
|
+
model_name='churn_classifier',
|
|
209
|
+
description='test description',
|
|
210
|
+
created_at='2021-03-03T18:30:00.000Z',
|
|
211
|
+
created_by={
|
|
212
|
+
"id": "1",
|
|
213
|
+
"full_name": "test user",
|
|
214
|
+
"email": "testuser@fiddler.ai"
|
|
215
|
+
}
|
|
216
|
+
)
|
|
217
|
+
|
|
143
218
|
def test_delete_custom_metric(self):
|
|
144
219
|
uuid = 'fbba0596-1d49-4159-a5ea-e1c2f57c9c32'
|
|
145
220
|
url = self._get_url(uuid)
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
__version__ = '2.1.0.dev3'
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/generate_schema_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/model_artifact_deploy.py
RENAMED
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/api/model_deployment_mixin.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/packtools/keras_ig_helpers.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/schemas/model_task_params.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler/validators/dataset_validator.py
RENAMED
|
File without changes
|
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler_client.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler_client.egg-info/requires.txt
RENAMED
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/fiddler_client.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_custom_features.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_explainability_apis.py
RENAMED
|
File without changes
|
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_generate_schema.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_response_handler.py
RENAMED
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/test_upload_dataset.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{fiddler-client-2.1.0.dev3 → fiddler-client-2.1.0.dev4}/tests/fiddler/utils/test_general_checks.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|