fiddler-client 3.0.0.dev13__py3-none-any.whl → 3.0.0.dev15__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/entities/events.py +51 -16
- fiddler/schemas/custom_features.py +30 -29
- fiddler/schemas/model_spec.py +11 -9
- fiddler_client-3.0.0.dev15.dist-info/METADATA +45 -0
- {fiddler_client-3.0.0.dev13.dist-info → fiddler_client-3.0.0.dev15.dist-info}/RECORD +9 -9
- fiddler_client-3.0.0.dev13.dist-info/METADATA +0 -538
- {fiddler_client-3.0.0.dev13.dist-info → fiddler_client-3.0.0.dev15.dist-info}/LICENSE.txt +0 -0
- {fiddler_client-3.0.0.dev13.dist-info → fiddler_client-3.0.0.dev15.dist-info}/WHEEL +0 -0
- {fiddler_client-3.0.0.dev13.dist-info → fiddler_client-3.0.0.dev15.dist-info}/top_level.txt +0 -0
fiddler/VERSION
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
3.0.0.
|
|
1
|
+
3.0.0.dev15
|
fiddler/entities/events.py
CHANGED
|
@@ -2,7 +2,7 @@ from __future__ import annotations
|
|
|
2
2
|
|
|
3
3
|
import tempfile
|
|
4
4
|
from pathlib import Path
|
|
5
|
-
from typing import Any
|
|
5
|
+
from typing import Any, Callable
|
|
6
6
|
from uuid import UUID
|
|
7
7
|
|
|
8
8
|
import pandas as pd
|
|
@@ -17,6 +17,9 @@ from fiddler.entities.job import Job
|
|
|
17
17
|
from fiddler.schemas.dataset import EnvType
|
|
18
18
|
from fiddler.schemas.events import EventsSource, FileSource
|
|
19
19
|
from fiddler.schemas.job import JobCompactResp
|
|
20
|
+
from fiddler.utils.logger import get_logger
|
|
21
|
+
|
|
22
|
+
logger = get_logger(__name__)
|
|
20
23
|
|
|
21
24
|
|
|
22
25
|
class EventPublisher(ConnectionMixin):
|
|
@@ -51,40 +54,72 @@ class EventPublisher(ConnectionMixin):
|
|
|
51
54
|
|
|
52
55
|
:return: list[UUID] for list of dicts source and Job object for file path or dataframe source.
|
|
53
56
|
"""
|
|
57
|
+
|
|
58
|
+
publish_method = self._get_publish_method(source=source)
|
|
59
|
+
|
|
60
|
+
return publish_method(
|
|
61
|
+
source=source,
|
|
62
|
+
environment=environment,
|
|
63
|
+
dataset_name=dataset_name,
|
|
64
|
+
update=update,
|
|
65
|
+
)
|
|
66
|
+
|
|
67
|
+
def _get_publish_method(
|
|
68
|
+
self, source: list[dict[str, Any]] | str | Path | pd.DataFrame
|
|
69
|
+
) -> Callable:
|
|
54
70
|
if isinstance(source, (str, Path)):
|
|
55
|
-
return self._publish_file
|
|
56
|
-
source=source,
|
|
57
|
-
environment=environment,
|
|
58
|
-
dataset_name=dataset_name,
|
|
59
|
-
update=update,
|
|
60
|
-
)
|
|
71
|
+
return self._publish_file
|
|
61
72
|
|
|
62
73
|
if isinstance(source, pd.DataFrame):
|
|
63
|
-
|
|
64
|
-
|
|
74
|
+
return self._publish_df
|
|
75
|
+
|
|
76
|
+
if isinstance(source, list):
|
|
77
|
+
return self._publish_stream
|
|
78
|
+
|
|
79
|
+
raise ValueError(f'Unsupported source - {type(source)}')
|
|
80
|
+
|
|
81
|
+
def _publish_df(
|
|
82
|
+
self,
|
|
83
|
+
source: pd.DataFrame,
|
|
84
|
+
environment: EnvType,
|
|
85
|
+
dataset_name: str | None = None,
|
|
86
|
+
update: bool = False,
|
|
87
|
+
) -> Job:
|
|
88
|
+
with tempfile.NamedTemporaryFile(suffix='.parquet') as temp_file:
|
|
89
|
+
try:
|
|
90
|
+
source.to_parquet(temp_file.name, index=False)
|
|
65
91
|
return self._publish_file(
|
|
66
92
|
source=temp_file.name,
|
|
67
93
|
environment=environment,
|
|
68
94
|
dataset_name=dataset_name,
|
|
69
95
|
update=update,
|
|
70
96
|
)
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
97
|
+
except Exception:
|
|
98
|
+
logger.warning(
|
|
99
|
+
'Failed to convert input dataframe to parquet format. Retrying as a CSV file.'
|
|
100
|
+
)
|
|
101
|
+
with tempfile.NamedTemporaryFile(suffix='.csv') as temp_file:
|
|
102
|
+
source.to_csv(temp_file.name, index=False)
|
|
103
|
+
return self._publish_file(
|
|
104
|
+
source=temp_file.name,
|
|
105
|
+
environment=environment,
|
|
106
|
+
dataset_name=dataset_name,
|
|
107
|
+
update=update,
|
|
108
|
+
)
|
|
76
109
|
|
|
77
110
|
def _publish_stream(
|
|
78
111
|
self,
|
|
79
112
|
source: list[dict[str, Any]],
|
|
113
|
+
environment: EnvType = EnvType.PRODUCTION,
|
|
114
|
+
dataset_name: str | None = None,
|
|
80
115
|
update: bool = False,
|
|
81
116
|
) -> list[UUID]:
|
|
82
117
|
event_ids = []
|
|
83
118
|
for i in tqdm(range(0, len(source), self.STREAM_LIMIT)):
|
|
84
119
|
response = self._publish_call(
|
|
85
120
|
source=EventsSource(events=source[i : i + self.STREAM_LIMIT]),
|
|
86
|
-
environment=
|
|
87
|
-
dataset_name=
|
|
121
|
+
environment=environment,
|
|
122
|
+
dataset_name=dataset_name,
|
|
88
123
|
update=update,
|
|
89
124
|
)
|
|
90
125
|
event_ids.extend(response.json()['data']['event_ids'])
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
from typing import Any, Dict, List, Optional, Type, TypeVar
|
|
1
|
+
from typing import Any, Dict, List, Optional, Type, TypeVar, Literal
|
|
2
2
|
|
|
3
3
|
from pydantic import BaseModel, validator
|
|
4
4
|
|
|
@@ -10,18 +10,12 @@ CustomFeatureTypeVar = TypeVar('CustomFeatureTypeVar', bound='CustomFeature')
|
|
|
10
10
|
|
|
11
11
|
class CustomFeature(BaseModel):
|
|
12
12
|
name: str
|
|
13
|
-
type:
|
|
14
|
-
n_clusters: Optional[int] = DEFAULT_NUM_CLUSTERS
|
|
15
|
-
centroids: Optional[List] = None
|
|
16
|
-
|
|
17
|
-
@validator('n_clusters')
|
|
18
|
-
def validate_n_clusters(cls, value: int) -> int: # noqa: N805
|
|
19
|
-
if value < 0:
|
|
20
|
-
raise ValueError('n_clusters must be greater than 0')
|
|
21
|
-
return value
|
|
13
|
+
type: Any
|
|
22
14
|
|
|
23
15
|
class Config:
|
|
24
16
|
allow_mutation = False
|
|
17
|
+
use_enum_values = True
|
|
18
|
+
discriminator = 'type'
|
|
25
19
|
|
|
26
20
|
@classmethod
|
|
27
21
|
def from_columns(
|
|
@@ -53,12 +47,13 @@ class CustomFeature(BaseModel):
|
|
|
53
47
|
return_dict: Dict[str, Any] = {
|
|
54
48
|
'name': self.name,
|
|
55
49
|
'type': self.type.value,
|
|
56
|
-
'n_clusters': self.n_clusters,
|
|
57
50
|
}
|
|
58
51
|
if isinstance(self, Multivariate):
|
|
59
52
|
return_dict['columns'] = self.columns
|
|
53
|
+
return_dict['n_clusters'] = self.n_clusters
|
|
60
54
|
elif isinstance(self, VectorFeature):
|
|
61
55
|
return_dict['column'] = self.column
|
|
56
|
+
return_dict['n_clusters'] = self.n_clusters
|
|
62
57
|
if isinstance(self, (ImageEmbedding, TextEmbedding)):
|
|
63
58
|
return_dict['source_column'] = self.source_column
|
|
64
59
|
if isinstance(self, TextEmbedding):
|
|
@@ -74,7 +69,9 @@ class CustomFeature(BaseModel):
|
|
|
74
69
|
|
|
75
70
|
|
|
76
71
|
class Multivariate(CustomFeature):
|
|
77
|
-
type:
|
|
72
|
+
type: Literal['FROM_COLUMNS'] = CustomFeatureType.FROM_COLUMNS.value
|
|
73
|
+
n_clusters: Optional[int] = DEFAULT_NUM_CLUSTERS
|
|
74
|
+
centroids: Optional[List] = None
|
|
78
75
|
columns: List[str]
|
|
79
76
|
monitor_components: bool = False
|
|
80
77
|
|
|
@@ -84,22 +81,31 @@ class Multivariate(CustomFeature):
|
|
|
84
81
|
raise ValueError('Multivariate columns must be greater than 1')
|
|
85
82
|
return value
|
|
86
83
|
|
|
84
|
+
@validator('n_clusters')
|
|
85
|
+
def validate_n_clusters(cls, value: int) -> int: # noqa: N805
|
|
86
|
+
if value < 0:
|
|
87
|
+
raise ValueError('n_clusters must be greater than 0')
|
|
88
|
+
return value
|
|
89
|
+
|
|
87
90
|
|
|
88
91
|
class VectorFeature(CustomFeature):
|
|
89
|
-
type:
|
|
90
|
-
|
|
92
|
+
type: Literal['FROM_VECTOR'] = CustomFeatureType.FROM_VECTOR.value
|
|
93
|
+
n_clusters: Optional[int] = DEFAULT_NUM_CLUSTERS
|
|
94
|
+
centroids: Optional[List] = None
|
|
91
95
|
column: str
|
|
92
96
|
|
|
97
|
+
@validator('n_clusters')
|
|
98
|
+
def validate_n_clusters(cls, value: int) -> int: # noqa: N805
|
|
99
|
+
if value < 0:
|
|
100
|
+
raise ValueError('n_clusters must be greater than 0')
|
|
101
|
+
return value
|
|
102
|
+
|
|
93
103
|
|
|
94
104
|
class TextEmbedding(VectorFeature):
|
|
95
|
-
type:
|
|
105
|
+
type: Literal['FROM_TEXT_EMBEDDING'] = CustomFeatureType.FROM_TEXT_EMBEDDING.value # type: ignore
|
|
106
|
+
source_column: str
|
|
96
107
|
n_tags: Optional[int] = DEFAULT_NUM_TAGS
|
|
97
|
-
|
|
98
|
-
@validator('source_column')
|
|
99
|
-
def validate_source_column(cls, value: str) -> str: # noqa: N805
|
|
100
|
-
if value is None:
|
|
101
|
-
raise ValueError('source_column must be specified')
|
|
102
|
-
return value
|
|
108
|
+
tf_idf: Optional[Dict[str, List]] = None
|
|
103
109
|
|
|
104
110
|
@validator('n_tags')
|
|
105
111
|
def validate_n_tags(cls, value: int) -> int: # noqa: N805
|
|
@@ -109,13 +115,8 @@ class TextEmbedding(VectorFeature):
|
|
|
109
115
|
|
|
110
116
|
|
|
111
117
|
class ImageEmbedding(VectorFeature):
|
|
112
|
-
type:
|
|
113
|
-
|
|
114
|
-
@validator('source_column')
|
|
115
|
-
def validate_source_column(cls, value: str) -> str: # noqa: N805
|
|
116
|
-
if value is None:
|
|
117
|
-
raise ValueError('source_column must be specified')
|
|
118
|
-
return value
|
|
118
|
+
type: Literal['FROM_IMAGE_EMBEDDING'] = CustomFeatureType.FROM_IMAGE_EMBEDDING.value # type: ignore
|
|
119
|
+
source_column: str
|
|
119
120
|
|
|
120
121
|
|
|
121
122
|
class Enrichment(CustomFeature):
|
|
@@ -134,7 +135,7 @@ class Enrichment(CustomFeature):
|
|
|
134
135
|
"""
|
|
135
136
|
|
|
136
137
|
# Setting the feature type to ENRICHMENT
|
|
137
|
-
type:
|
|
138
|
+
type: Literal['ENRICHMENT'] = CustomFeatureType.ENRICHMENT.value
|
|
138
139
|
|
|
139
140
|
# List of input column names used to generate the enrichment
|
|
140
141
|
columns: List[str]
|
fiddler/schemas/model_spec.py
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
from typing import List
|
|
1
|
+
from typing import List, Union
|
|
2
2
|
|
|
3
|
-
from pydantic import BaseModel
|
|
3
|
+
from pydantic import BaseModel, Field
|
|
4
4
|
|
|
5
|
-
from fiddler.schemas.custom_features import
|
|
5
|
+
from fiddler.schemas.custom_features import Multivariate, VectorFeature, TextEmbedding, ImageEmbedding, Enrichment
|
|
6
6
|
|
|
7
7
|
|
|
8
8
|
class ModelSpec(BaseModel):
|
|
@@ -11,20 +11,22 @@ class ModelSpec(BaseModel):
|
|
|
11
11
|
schema_version: int = 1
|
|
12
12
|
"""Schema version"""
|
|
13
13
|
|
|
14
|
-
inputs: List[str] =
|
|
14
|
+
inputs: List[str] = Field(default_factory=list)
|
|
15
15
|
"""Feature columns"""
|
|
16
16
|
|
|
17
|
-
outputs: List[str] =
|
|
17
|
+
outputs: List[str] = Field(default_factory=list)
|
|
18
18
|
"""Prediction columns"""
|
|
19
19
|
|
|
20
|
-
targets: List[str] =
|
|
20
|
+
targets: List[str] = Field(default_factory=list)
|
|
21
21
|
"""Label columns"""
|
|
22
22
|
|
|
23
|
-
decisions: List[str] =
|
|
23
|
+
decisions: List[str] = Field(default_factory=list)
|
|
24
24
|
"""Decisions columns"""
|
|
25
25
|
|
|
26
|
-
metadata: List[str] =
|
|
26
|
+
metadata: List[str] = Field(default_factory=list)
|
|
27
27
|
"""Metadata columns"""
|
|
28
28
|
|
|
29
|
-
custom_features: List[
|
|
29
|
+
custom_features: List[Union[Multivariate, VectorFeature, TextEmbedding, ImageEmbedding, Enrichment]] = Field(
|
|
30
|
+
default_factory=list
|
|
31
|
+
)
|
|
30
32
|
"""Custom feature definitions"""
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
Metadata-Version: 2.1
|
|
2
|
+
Name: fiddler-client
|
|
3
|
+
Version: 3.0.0.dev15
|
|
4
|
+
Summary: Python client for Fiddler Platform
|
|
5
|
+
Home-page: https://fiddler.ai
|
|
6
|
+
Author: Fiddler Labs
|
|
7
|
+
Classifier: Programming Language :: Python :: 3
|
|
8
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
9
|
+
Classifier: Operating System :: OS Independent
|
|
10
|
+
Requires-Python: >3.8.0
|
|
11
|
+
Description-Content-Type: text/markdown
|
|
12
|
+
License-File: LICENSE.txt
|
|
13
|
+
Requires-Dist: pip >=21.0
|
|
14
|
+
Requires-Dist: requests <3
|
|
15
|
+
Requires-Dist: requests-toolbelt
|
|
16
|
+
Requires-Dist: pandas >=1.2.5
|
|
17
|
+
Requires-Dist: pydantic <2,>=1.9.0
|
|
18
|
+
Requires-Dist: deprecated ==1.2.13
|
|
19
|
+
Requires-Dist: tqdm
|
|
20
|
+
Requires-Dist: simplejson >=3.17.0
|
|
21
|
+
Requires-Dist: pyarrow >=7.0.0
|
|
22
|
+
Requires-Dist: pyyaml
|
|
23
|
+
|
|
24
|
+
Fiddler Client
|
|
25
|
+
=============
|
|
26
|
+
|
|
27
|
+
Python client for interacting with Fiddler. Provides a user-friendly interface to our REST API and enables event
|
|
28
|
+
publishing for use with our monitoring features.
|
|
29
|
+
|
|
30
|
+
Requirements
|
|
31
|
+
------------
|
|
32
|
+
Requires Python >= Python-3.6.3 and pip >= 19.0
|
|
33
|
+
|
|
34
|
+
Installation
|
|
35
|
+
------------
|
|
36
|
+
|
|
37
|
+
$ pip3 install fiddler-client
|
|
38
|
+
|
|
39
|
+
API Example Usage
|
|
40
|
+
-------------
|
|
41
|
+
Documentation for the API can be found [here](https://docs.fiddler.ai/reference/about-the-fiddler-client). For examples of interacting with our APIs, please check out our [Quick Start Guide](https://docs.fiddler.ai/docs/quick-start) as well as the notebooks found on our [Examples Github](https://github.com/fiddler-labs/fiddler-examples).
|
|
42
|
+
|
|
43
|
+
Version History
|
|
44
|
+
-------------
|
|
45
|
+
Version history is available on [Fiddler documentation page](https://docs.fiddler.ai/page/python-client-version-history).
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
fiddler/VERSION,sha256=
|
|
1
|
+
fiddler/VERSION,sha256=ot2K5PGuwo8XhF3b-KVG7u1Sx5QpFS8mOR3YQvHYP-M,12
|
|
2
2
|
fiddler/__init__.py,sha256=U9g19CmjOoli4bMAcD_LD-qTmFFBG3uCCIFm34vcTac,3757
|
|
3
3
|
fiddler/configs.py,sha256=ZimSo0Gk7j1BFkjDHdRdycrGZ8oh-7G5TBXYiOh1HvU,217
|
|
4
4
|
fiddler/connection.py,sha256=fLdSXpu5dwoK-h4Vtc9nbdKENOJ7jfEmrnDhVAtChck,5677
|
|
@@ -22,7 +22,7 @@ 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
|
|
24
24
|
fiddler/entities/dataset.py,sha256=kwD1pZMG6DQGIjejU7A2KUUBRgOi0o1qbbUX-PSlnGg,4399
|
|
25
|
-
fiddler/entities/events.py,sha256=
|
|
25
|
+
fiddler/entities/events.py,sha256=_orqFyg0m5tBREa21f36ZaX_4kKEtpA2Hsff0d__Uw0,5383
|
|
26
26
|
fiddler/entities/file.py,sha256=dk8ISfjy0--F2eF23Ae8vGiEZmJW6e9LMqNmKfrY2mE,4710
|
|
27
27
|
fiddler/entities/job.py,sha256=Feiqo6ns4bRcp2uaV-kuGYAKs90-aYXvzqqi1yLivYE,5220
|
|
28
28
|
fiddler/entities/model.py,sha256=J1DoDMZptaOac64LJ_pRmuD2wJ1Wk88SAKA6bSg0W8g,16882
|
|
@@ -49,7 +49,7 @@ fiddler/schemas/alert_rule.py,sha256=-V0AibEImrfcEZfJ4J_Ed5SuZISOGsk-nIoVlX5mOOg
|
|
|
49
49
|
fiddler/schemas/base.py,sha256=upzAmneEz169h_w-UDH_tY0Abo7DeK68YOZ5qVwIMa8,189
|
|
50
50
|
fiddler/schemas/baseline.py,sha256=tBQji1GLYt0ZYgEK6ZTmXxk5nUYTI6oxMmSjNXnRfWw,933
|
|
51
51
|
fiddler/schemas/custom_expression.py,sha256=6Y4Q89HIOjUwVS9u9-wMAXvcPMmtQ7puLEkx27Gr-wY,844
|
|
52
|
-
fiddler/schemas/custom_features.py,sha256=
|
|
52
|
+
fiddler/schemas/custom_features.py,sha256=U33Rlyt9TxNqEQ2_3aQTgvlIuI2_QPg-6YnQBzJuyoE,5531
|
|
53
53
|
fiddler/schemas/dataset.py,sha256=rGmpMrMfPLSs9d3_sxDTjrKqWp-o-bCe9pf_nlYyHfw,657
|
|
54
54
|
fiddler/schemas/events.py,sha256=dH6SGPBO_rgGZetIhSo4Fq0L1pTU7TEKR7zW7gg3fnI,409
|
|
55
55
|
fiddler/schemas/file.py,sha256=z_7bOxKbwQsgI8F7MMQvC6RE5dgdzYCMyD5XcBirjCc,462
|
|
@@ -58,7 +58,7 @@ fiddler/schemas/job.py,sha256=6q3SiHp43ah0R0eIO77DNgJRug-dejI13NZAd_7c0sk,354
|
|
|
58
58
|
fiddler/schemas/model.py,sha256=1z7W0Ct180z3cku2AhwGFI9ry2MgVKgEy7GvVPJ0rJM,1361
|
|
59
59
|
fiddler/schemas/model_deployment.py,sha256=s1moOBT7JIMWgGZ4ALxgZJhB4ulVK6i2VkNp7_mOJKo,1128
|
|
60
60
|
fiddler/schemas/model_schema.py,sha256=nagwbYFoWG6CzBTYYYuQNMpGfA6i9da_WPa8uO2IBCo,1914
|
|
61
|
-
fiddler/schemas/model_spec.py,sha256=
|
|
61
|
+
fiddler/schemas/model_spec.py,sha256=alDjVaDwh0PPuSCO58C_HaR9v5xOHv9WrUDjQ6e7QW4,941
|
|
62
62
|
fiddler/schemas/model_task_params.py,sha256=pDueFuk0yNqBLxQFW0ZhwdvU_JwYmXBSiRY4BoJOS8w,691
|
|
63
63
|
fiddler/schemas/organization.py,sha256=cZ80vIWAzmDhiSlrelSLJ66eKdSr0oX64z4t4rR0Gqo,281
|
|
64
64
|
fiddler/schemas/project.py,sha256=gOVFpt-gFQt5opMlBUiDtcSjJtgyHauyBVVyPpnbYt4,379
|
|
@@ -101,8 +101,8 @@ 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.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.
|
|
104
|
+
fiddler_client-3.0.0.dev15.dist-info/LICENSE.txt,sha256=w8-LUAb_VLBWSsCNmih0pAqLIicJfGu8OJXpDjkIg_o,559
|
|
105
|
+
fiddler_client-3.0.0.dev15.dist-info/METADATA,sha256=kmgY4ovUHjLVsxkOKGSOy5j-UJkQerxTSIGvSD0M2jA,1557
|
|
106
|
+
fiddler_client-3.0.0.dev15.dist-info/WHEEL,sha256=GJ7t_kWBFywbagK5eo9IoUwLW6oyOeTKmQ-9iHFVNxQ,92
|
|
107
|
+
fiddler_client-3.0.0.dev15.dist-info/top_level.txt,sha256=ndC6LqvKmrTTs8czRlBOYdYgSqZbHuMf0zHt_HWpzzk,8
|
|
108
|
+
fiddler_client-3.0.0.dev15.dist-info/RECORD,,
|
|
@@ -1,538 +0,0 @@
|
|
|
1
|
-
Metadata-Version: 2.1
|
|
2
|
-
Name: fiddler-client
|
|
3
|
-
Version: 3.0.0.dev13
|
|
4
|
-
Summary: Python client for Fiddler Platform
|
|
5
|
-
Home-page: https://fiddler.ai
|
|
6
|
-
Author: Fiddler Labs
|
|
7
|
-
Classifier: Programming Language :: Python :: 3
|
|
8
|
-
Classifier: License :: OSI Approved :: Apache Software License
|
|
9
|
-
Classifier: Operating System :: OS Independent
|
|
10
|
-
Requires-Python: >3.8.0
|
|
11
|
-
Description-Content-Type: text/markdown
|
|
12
|
-
License-File: LICENSE.txt
|
|
13
|
-
Requires-Dist: pip >=21.0
|
|
14
|
-
Requires-Dist: requests <3
|
|
15
|
-
Requires-Dist: requests-toolbelt
|
|
16
|
-
Requires-Dist: pandas >=1.2.5
|
|
17
|
-
Requires-Dist: pydantic <2,>=1.9.0
|
|
18
|
-
Requires-Dist: deprecated ==1.2.13
|
|
19
|
-
Requires-Dist: tqdm
|
|
20
|
-
Requires-Dist: simplejson >=3.17.0
|
|
21
|
-
Requires-Dist: pyarrow >=7.0.0
|
|
22
|
-
Requires-Dist: pyyaml
|
|
23
|
-
|
|
24
|
-
Fiddler Client
|
|
25
|
-
=============
|
|
26
|
-
|
|
27
|
-
Python client for interacting with Fiddler. Provides a user-friendly interface to our REST API and enables event
|
|
28
|
-
publishing for use with our monitoring features.
|
|
29
|
-
|
|
30
|
-
Requirements
|
|
31
|
-
------------
|
|
32
|
-
Requires Python >= Python-3.6.3 and pip >= 19.0
|
|
33
|
-
|
|
34
|
-
Installation
|
|
35
|
-
------------
|
|
36
|
-
|
|
37
|
-
$ pip3 install fiddler-client
|
|
38
|
-
|
|
39
|
-
API Example Usage
|
|
40
|
-
-------------
|
|
41
|
-
Documentation for the API can be found [here](https://docs.fiddler.ai/reference/about-the-fiddler-client). For examples of interacting with our APIs, please check out our [Quick Start Guide](https://docs.fiddler.ai/docs/quick-start) as well as the notebooks found on our [Examples Github](https://github.com/fiddler-labs/fiddler-examples).
|
|
42
|
-
|
|
43
|
-
Version History
|
|
44
|
-
-------------
|
|
45
|
-
### 2.5.0
|
|
46
|
-
- #### **New Features**
|
|
47
|
-
- Add support for enrichments
|
|
48
|
-
- Allow pausing multiple alerts at once
|
|
49
|
-
- Add percentage violation metrics for alert
|
|
50
|
-
- Support for alert revisions
|
|
51
|
-
|
|
52
|
-
### 2.4.1
|
|
53
|
-
- ### **Modifications**
|
|
54
|
-
- Fix slice query with `vector` type columns
|
|
55
|
-
|
|
56
|
-
### 2.4.0
|
|
57
|
-
- ### **New Features**
|
|
58
|
-
- Add support for segments
|
|
59
|
-
- #### **Modifications**
|
|
60
|
-
- Ensure `TextEmbedding` and `ImageEmbedding` is supported for vectors in metadata
|
|
61
|
-
|
|
62
|
-
### 2.3.0
|
|
63
|
-
- #### **New Features**
|
|
64
|
-
- Added support for creating alerts on the `Frequency` metric.
|
|
65
|
-
- #### **Modifications**
|
|
66
|
-
- Relax pydantic version to allow any version between 1.9 and 2
|
|
67
|
-
|
|
68
|
-
### 2.2.1
|
|
69
|
-
- #### **Modifications**
|
|
70
|
-
- Relax pydantic version to allow any version between 1.9 and 2
|
|
71
|
-
|
|
72
|
-
### 2.2.0
|
|
73
|
-
- #### **Modifications**
|
|
74
|
-
- `add_custom_metric()` supports an optional `description` parameter
|
|
75
|
-
- `fql` is renamed to `definition` in `add_custom_metric()`
|
|
76
|
-
- A new `get_custom_metric()` function to get details about a single custom metric.
|
|
77
|
-
|
|
78
|
-
### 2.1.2
|
|
79
|
-
- #### **Modifications**
|
|
80
|
-
- Relax pydantic version to allow any version between 1.9 and 2
|
|
81
|
-
|
|
82
|
-
### 2.1.1
|
|
83
|
-
- #### **Modifications**
|
|
84
|
-
- Update `pyarrow` requirement to `7.0.0`.
|
|
85
|
-
|
|
86
|
-
### 2.1.0
|
|
87
|
-
- #### **New Features**
|
|
88
|
-
- Introduce Model Tasks `NOT_SET` and `LLM`
|
|
89
|
-
- Relax Target / Output specification for model tasks `NOT_SET` and `LLM`
|
|
90
|
-
- Support custom metrics
|
|
91
|
-
- #### **Modifications**
|
|
92
|
-
- `DatasetDataSource` and `EventIdDataSource` will take `dataset_id` instead of `dataset_name`
|
|
93
|
-
- `list_baselines()` to return baseline names instead of baseline objects
|
|
94
|
-
|
|
95
|
-
### 2.0.8
|
|
96
|
-
- #### **Modifications**
|
|
97
|
-
- Relax pydantic version to allow any version between 1.9 and 2
|
|
98
|
-
|
|
99
|
-
### 2.0.7
|
|
100
|
-
- #### **Modifications**
|
|
101
|
-
- Support string metric types for alert creation, for server 23.7.
|
|
102
|
-
|
|
103
|
-
### 2.0.6
|
|
104
|
-
- #### **Modifications**
|
|
105
|
-
- Update `pyarrow` requirement to `7.0.0`.
|
|
106
|
-
|
|
107
|
-
### 2.0.5
|
|
108
|
-
- #### **Modifications**
|
|
109
|
-
- Fix for a minor bug in `fdl.DatasetInfo.from_dataframe()`
|
|
110
|
-
|
|
111
|
-
### 2.0.4
|
|
112
|
-
- #### **Modifications**
|
|
113
|
-
- Update `pyarrow` requirement to `13.0.0`.
|
|
114
|
-
|
|
115
|
-
### 2.0.3
|
|
116
|
-
- #### **Modifications**
|
|
117
|
-
- Relax pandas version for 2.0.
|
|
118
|
-
- get_slice() `query` parameter reverted to `sql_query`
|
|
119
|
-
|
|
120
|
-
### 2.0.2
|
|
121
|
-
- #### **Modifications**
|
|
122
|
-
- Fix Parquet conversion issue in `upload_dataset` and `publish_event_batch`
|
|
123
|
-
|
|
124
|
-
### 2.0.1
|
|
125
|
-
- #### **Removed**
|
|
126
|
-
- Following methods are removed
|
|
127
|
-
- register_model
|
|
128
|
-
- upload_model_package
|
|
129
|
-
- update_model
|
|
130
|
-
- trigger_pre_computation
|
|
131
|
-
- _trigger_model_predictions
|
|
132
|
-
- generate_sample_events
|
|
133
|
-
- list_teams
|
|
134
|
-
- list_project_roles
|
|
135
|
-
- list_org_roles
|
|
136
|
-
- unshare_project
|
|
137
|
-
- share_project
|
|
138
|
-
- process_avro
|
|
139
|
-
- process_csv
|
|
140
|
-
- #### **New Features**
|
|
141
|
-
- Add `monitor_components` as an attribute for `CustomFeature` of type `FROM_COLUMNS`. Default as `False`
|
|
142
|
-
- Adds new statistic type `SUM` to supported alert metrics
|
|
143
|
-
- Support `CustomFeature` of type `FROM_VECTOR` `FROM_TEXT_EMBEDDING` and `FROM_IMAGE_EMBEDDING`
|
|
144
|
-
- #### **Modificatiosn**
|
|
145
|
-
- Remove `column` as a parameter in `add_alert_rule` and `get_alert_rules` functions
|
|
146
|
-
- Default `FileType` Parquet in `upload_dataset` and `publish_event_batch`
|
|
147
|
-
- - get_slice() `sql_query` parameter changed to `query`
|
|
148
|
-
|
|
149
|
-
### 1.8.6
|
|
150
|
-
- #### **Modifications**
|
|
151
|
-
- Relax pandas version for 2.0.
|
|
152
|
-
|
|
153
|
-
### 1.8.4
|
|
154
|
-
- #### **New Features**
|
|
155
|
-
- New DeploymentType enum for `MANUAL` deployment
|
|
156
|
-
|
|
157
|
-
### 1.8.3
|
|
158
|
-
- #### **Modifications**
|
|
159
|
-
- New `columns` parameter in add_alert_rule and get_alert_rules to support multiple columns to be used for server version >= 23.3.0
|
|
160
|
-
- get_triggered_alerts supports `alert_value` as a float as well as a dict
|
|
161
|
-
|
|
162
|
-
### 1.8.2
|
|
163
|
-
- #### **Modifications**
|
|
164
|
-
- Fixed a bug where `min` and `max` for columns of type `float` in `dataset_info` are cast into `int` after uploaded
|
|
165
|
-
|
|
166
|
-
### 1.8.1
|
|
167
|
-
- #### **Modifications**
|
|
168
|
-
- Fixed a bug wherein null string was going in request body if body wasn't specified.
|
|
169
|
-
- Fix `categorical_target_class_details` when passed as an array
|
|
170
|
-
- Fix a bug where `fdl.ModelInputType.TEXT` were not being accepted properly
|
|
171
|
-
- Fix `categorical_target_class_details` when passed as an empty list
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
### 1.8.0
|
|
175
|
-
- #### **Modifications**
|
|
176
|
-
- Add new alert type - `statistic` for setting alerts
|
|
177
|
-
- Add `target_class_order` as a required field of `ModelInfo` object when `model_task` is `MULTICLASS_CLASSIFICATION`,
|
|
178
|
-
`RANKING` or `BINARY_CLASSIFICATION`. Only applies for `BINARY_CLASSIFICATION` when target column is of type `CATEGORY`
|
|
179
|
-
- Add `columns` as a parameter in `add_alert_rule` and `get_alert_rules` functions
|
|
180
|
-
- Add deprecation warning for `column` as a parameter in `add_alert_rule` and `get_alert_rules` functions
|
|
181
|
-
|
|
182
|
-
### 1.7.4
|
|
183
|
-
- #### **Modification**
|
|
184
|
-
- Do not typecast column with strings in get_slice()
|
|
185
|
-
|
|
186
|
-
### 1.7.3
|
|
187
|
-
- #### **Modification**
|
|
188
|
-
- Send row and column count information to dataset upload api
|
|
189
|
-
|
|
190
|
-
### 1.7.2
|
|
191
|
-
- #### **Modification**
|
|
192
|
-
- Bring back `WeightingParams` object
|
|
193
|
-
|
|
194
|
-
### 1.7.1
|
|
195
|
-
- #### **Modification**
|
|
196
|
-
- Relaxed boto3 version constraint
|
|
197
|
-
|
|
198
|
-
### 1.7.0
|
|
199
|
-
- #### **Removed**
|
|
200
|
-
- Remove support for initializing fiddler client with version=1
|
|
201
|
-
- Following methods are removed
|
|
202
|
-
- get_segment_info
|
|
203
|
-
- delete_segment
|
|
204
|
-
- deactivate_segment
|
|
205
|
-
- activate_segment
|
|
206
|
-
- list_segments
|
|
207
|
-
- upload_segment
|
|
208
|
-
- add_monitoring_config
|
|
209
|
-
- publish_parquet_s3
|
|
210
|
-
- publish_events_log
|
|
211
|
-
|
|
212
|
-
### 1.6.2
|
|
213
|
-
- #### **Modifications**
|
|
214
|
-
- Make dataset_id a required field in add_model()
|
|
215
|
-
- Update max_inferred_cardinality to 100
|
|
216
|
-
- #### **New Features**
|
|
217
|
-
- New method for updating a model artifact `update_model_artifact`
|
|
218
|
-
|
|
219
|
-
### 1.5.3
|
|
220
|
-
- #### **Modifications**
|
|
221
|
-
- Fix add_model_artifact error for NLP models
|
|
222
|
-
- Add model_info validation during add_model
|
|
223
|
-
|
|
224
|
-
### 1.5.2
|
|
225
|
-
- #### **Modifications**
|
|
226
|
-
- Add fix for self signed certificate not working by adding verify param to FiddlerApi
|
|
227
|
-
|
|
228
|
-
### 1.5.1
|
|
229
|
-
- #### **Modifications**
|
|
230
|
-
- Fix in `violation_of_type` to include numpy dtypes such as `int64`
|
|
231
|
-
|
|
232
|
-
### 1.5.0
|
|
233
|
-
- #### **New Features**
|
|
234
|
-
- New methods addition for alert rules: `add_alert_rule`, `get_alert_rules`, `delete_alert_rule`
|
|
235
|
-
- New method to get triggered alerts for an alert rule: `get_triggered_alerts`
|
|
236
|
-
|
|
237
|
-
### 1.4.5
|
|
238
|
-
- #### **Modifications**
|
|
239
|
-
- Assert nullable columns in `missing_value_encodings`(If users send non-nullable columns as `missing_value_encodings`, Fiddler converts them as nullable automatically with a warning)
|
|
240
|
-
|
|
241
|
-
### 1.4.4
|
|
242
|
-
- #### **Modifications**
|
|
243
|
-
- Allow types other than `Column data_type` for `missing_value_encodings`.
|
|
244
|
-
|
|
245
|
-
### 1.4.3
|
|
246
|
-
- #### **Modifications**
|
|
247
|
-
- Accept `string` `'inf'` in `float` columns in `missing_value_encodings`.
|
|
248
|
-
|
|
249
|
-
### 1.4.2
|
|
250
|
-
- #### **New Features**
|
|
251
|
-
- Support `missing_value_encodings` as a new field of `model_info` object.
|
|
252
|
-
### 1.4.1
|
|
253
|
-
- #### **Modifications**
|
|
254
|
-
- Minor bug fix to handle string nan
|
|
255
|
-
|
|
256
|
-
### 1.4.0
|
|
257
|
-
- #### **Modifications**
|
|
258
|
-
- Default client initiation is now the v2 client
|
|
259
|
-
- `publish_events_batch` is now async, returns status id and doesn't wait for the upload to complete.
|
|
260
|
-
- Default behavior of all publish data in v2 client is async (`is_sync = False`)
|
|
261
|
-
|
|
262
|
-
### 1.3.0
|
|
263
|
-
- #### **New Features**
|
|
264
|
-
- New capabilities for Artifact-less Monitoring
|
|
265
|
-
|
|
266
|
-
### 1.2.8
|
|
267
|
-
- ### **Modifications**
|
|
268
|
-
- Change the `batch_size` argument default to 1000 for `trigger_pre_computation`
|
|
269
|
-
- Updated the `delete_model` API default value for the `delete_prod` parameter from False to True.
|
|
270
|
-
- We will by default delete all the events associated with the model.
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
### 1.2.7
|
|
274
|
-
- ### **Modifications**
|
|
275
|
-
- Added check for "model" key before access in from_dict
|
|
276
|
-
- Allow changing artifact_status when updating the model
|
|
277
|
-
- Adds docstrings for add_model, add_model_surrogate and add_model_artifact
|
|
278
|
-
|
|
279
|
-
### 1.2.6
|
|
280
|
-
- ### **Modifications**
|
|
281
|
-
- Fixed publish_events_batch_schema backward compatible.
|
|
282
|
-
|
|
283
|
-
### 1.2.5
|
|
284
|
-
- ### **Modifications**
|
|
285
|
-
- Added add_model_surrogate and add_model_artifact APIs for artifactless monitoring
|
|
286
|
-
- Simplifies the add_model API by removing unnecessary parameters
|
|
287
|
-
- Fixed publish_events_batch_schema parameter names.
|
|
288
|
-
|
|
289
|
-
|
|
290
|
-
### 1.2.4
|
|
291
|
-
- ### **Modifications**
|
|
292
|
-
- Fixed a type coercion bug that caused some get_slice calls to fail cryptically
|
|
293
|
-
|
|
294
|
-
### 1.2.3
|
|
295
|
-
- ### **Modifications**
|
|
296
|
-
- Map Tree shap values from log odds space to probability space
|
|
297
|
-
- Added add_model API for artifactless monitoring
|
|
298
|
-
- Fixed bug in request when creating a model using add_model
|
|
299
|
-
|
|
300
|
-
### 1.2.2
|
|
301
|
-
- ### **Modifications**
|
|
302
|
-
- Fixed a bug that prevented importing the client in some environments.
|
|
303
|
-
|
|
304
|
-
### 1.2.1
|
|
305
|
-
- ### **Modifications**
|
|
306
|
-
- Removed unnecessary server-client version check that produced an uninformative warning.
|
|
307
|
-
|
|
308
|
-
### 1.2.0
|
|
309
|
-
- #### **New Features**
|
|
310
|
-
- New `WeightingParams` object. This enables weighted histograms for class-imbalanced models.
|
|
311
|
-
- #### **Modifications**
|
|
312
|
-
- `update_model` allows some small modifications in model info for the following fields: custom_explanation_names, preferred_explanation_method, display_name, description, framework, algorithm and model_deployment_params
|
|
313
|
-
|
|
314
|
-
|
|
315
|
-
### 1.1.0
|
|
316
|
-
- #### **New Features**
|
|
317
|
-
- Add v2 client. v2 methods can be accessed either via sub-module (`client.v2.`) or by instantiating the `FiddlerApi` and passing `version=2`.
|
|
318
|
-
- #### **Modifications**
|
|
319
|
-
- Remove handlers from root logger
|
|
320
|
-
- Add url, org_id, auth_token and version validation while instantiating client
|
|
321
|
-
- Fix dataset ingestion file extension issue
|
|
322
|
-
- init monitoring issue
|
|
323
|
-
- Fix publish_event request header bug
|
|
324
|
-
- Add `publish_events_batch_dataframe` and `upload_dataset_dataframe` methods
|
|
325
|
-
- Support for DatasetInfo class
|
|
326
|
-
- Using `http_client` package. A wrapper over `requetsts`.
|
|
327
|
-
|
|
328
|
-
### 1.0.6
|
|
329
|
-
- #### **Modifications**
|
|
330
|
-
- Add client v2 sub-package.
|
|
331
|
-
### 1.0.5
|
|
332
|
-
- ##### **Modifications**
|
|
333
|
-
- relax the version requirements for `requests`.
|
|
334
|
-
- adds flag to init_monitoring to enable synchronous initialization
|
|
335
|
-
### 1.0.4
|
|
336
|
-
- ##### **Modifications**
|
|
337
|
-
- Fixed the JSON transformation issue which was forcing `requests` package upgrade issue
|
|
338
|
-
### 1.0.3
|
|
339
|
-
- ##### **New Features**
|
|
340
|
-
- Tree SHAP Helper.
|
|
341
|
-
- ##### **Modifications**
|
|
342
|
-
- `fdl.ModelInfo` has an additional optional parameter to enabled Tree Shap
|
|
343
|
-
|
|
344
|
-
### 1.0.2
|
|
345
|
-
- ##### **New Features**
|
|
346
|
-
- Integrated Gradients Keras TF2 Helpers.
|
|
347
|
-
- ##### **Modifications**
|
|
348
|
-
- Relax `botocore` version requirements.
|
|
349
|
-
|
|
350
|
-
### 1.0.1
|
|
351
|
-
- ##### **Modifications**
|
|
352
|
-
- Minor bug fixes and improvements.
|
|
353
|
-
- `run_explanation` has two additional optional arguments (`n_permutation` and `n_background`) allowing users to change the default parameters for Fiddler SHAP explanations.
|
|
354
|
-
|
|
355
|
-
### 1.0.0
|
|
356
|
-
|
|
357
|
-
Inaugural client for Fiddler 22.0! This version includes numerous improvements for stability, performance, and usability.
|
|
358
|
-
|
|
359
|
-
Compatible with server versions >=22.0.0.
|
|
360
|
-
|
|
361
|
-
### 0.8.1.8
|
|
362
|
-
- ##### **Modifications**
|
|
363
|
-
- Minor bug fixes and improvements.
|
|
364
|
-
|
|
365
|
-
### 0.8.1.7
|
|
366
|
-
- ##### **Modifications**
|
|
367
|
-
- Minor bug fixes and improvements.
|
|
368
|
-
|
|
369
|
-
### 0.8.1.6
|
|
370
|
-
- ##### **Modifications**
|
|
371
|
-
- Add a parameter in list_projects API to get detailed project information
|
|
372
|
-
- Minor bug fix for the datetime format.
|
|
373
|
-
|
|
374
|
-
### 0.8.1.5
|
|
375
|
-
- ##### **Modifications**
|
|
376
|
-
- Add a parameter in list_projects API to get detailed project information
|
|
377
|
-
- Allow `run_explanation` api call to pass a list of explanation with `ig_flex` and one of the shap algorithm
|
|
378
|
-
|
|
379
|
-
### 0.8.1.4
|
|
380
|
-
- ##### **Modifications**
|
|
381
|
-
- Minor bugfix for categorical feature drift
|
|
382
|
-
|
|
383
|
-
### 0.8.1.3
|
|
384
|
-
- ##### **Modifications**
|
|
385
|
-
- Addressed an issue with categorical features with string literals containing numeric content
|
|
386
|
-
|
|
387
|
-
### 0.8.1.2
|
|
388
|
-
- ##### **Modifications**
|
|
389
|
-
- Implement a ranking surrogate model for ranking task models
|
|
390
|
-
|
|
391
|
-
### 0.8.1.1
|
|
392
|
-
- ##### **Modifications**
|
|
393
|
-
- change the dependecy of requests package to 0.25.1
|
|
394
|
-
|
|
395
|
-
### 0.8.1
|
|
396
|
-
- ##### **Modifications**
|
|
397
|
-
- Improved `SegmentInfo` validation.
|
|
398
|
-
- make the dependency versions less strict.
|
|
399
|
-
|
|
400
|
-
### 0.8.0
|
|
401
|
-
- ##### **New Features**
|
|
402
|
-
- New `publish_events_batch_schema` API call, Publishes a batch events object to Fiddler Service using the passed `publish_schema` as a template.
|
|
403
|
-
- New Ranking Monitoring capability available with publish_events_batch API
|
|
404
|
-
- ##### **Modifications**
|
|
405
|
-
- Enforced package versions in setup.py
|
|
406
|
-
- `trigger_pre_computation` has an additional optional argument (`cache_dataset`) to enable/disable dataset histograms caching.
|
|
407
|
-
- `register_model` has 3 additional optional arguments to enable/disable pdp caching (set to False by default), feature importance caching (set to True by default) and dataset histograms caching (set to True by default).
|
|
408
|
-
|
|
409
|
-
### 0.7.6
|
|
410
|
-
- ##### **New Features**
|
|
411
|
-
- New segment monitoring related functionality (currently in preview):
|
|
412
|
-
- Ability to create and validate `SegmentInfo` objects,
|
|
413
|
-
- `upload_segment` BE call,
|
|
414
|
-
- `activate_segment` BE call,
|
|
415
|
-
- `deactivate_segment` BE call, and
|
|
416
|
-
- `list_segments` BE call,
|
|
417
|
-
- ##### **Modifications**
|
|
418
|
-
- Upon connecting to the server, the client now performs a version check for the *server* by default. Earlier the default was to only do a version check for the client.
|
|
419
|
-
|
|
420
|
-
### 0.7.5
|
|
421
|
-
- ##### **New Features**
|
|
422
|
-
- New `update_event` parameter for `publish_events_batch` API.
|
|
423
|
-
- Changes to `fdl.publish_event()`:
|
|
424
|
-
- Renamed parameter `event_time_stamp` to `event_timestamp`
|
|
425
|
-
- Added new parameter: `timestamp_format`
|
|
426
|
-
- Allows specification of timestamp format using the `FiddlerTimestamp` class
|
|
427
|
-
|
|
428
|
-
### 0.7.4
|
|
429
|
-
- ##### **New Features**
|
|
430
|
-
- New `initialize_monitoring` API call, sets up monitoring for a model. Intended to also work retroactively for legacy schema.
|
|
431
|
-
- ##### **Modifications**
|
|
432
|
-
- Modified `DatasetInfo.from_dataframe` and `ModelInfo.from_dataset_info` to take additional `dataset_id` as parameter.
|
|
433
|
-
- Modified the `outputs` parameter of `ModelInfo.from_dataset_info` to now expect a dictionary in case of regression tasks, specifying output range.
|
|
434
|
-
- Modified the `preferred_explanation_method` parameter of `ModelInfo.from_dataset_info` to accept string names from `custom_explanation_names`. Details in docstring.
|
|
435
|
-
- Misc bug fixes and documentation enhancements.
|
|
436
|
-
|
|
437
|
-
### 0.7.3
|
|
438
|
-
- ##### **New Features**
|
|
439
|
-
- Changed the default display for `ModelInfo` and `DatasetInfo` to render HTML instead of plaintext, when accessed via jupyter notebooks
|
|
440
|
-
- Added support for GCP Storage ingestion of log events using `fdl.BatchPublishType.GCP_STORAGE`
|
|
441
|
-
|
|
442
|
-
### 0.7.2
|
|
443
|
-
- ##### **New Features**
|
|
444
|
-
- Restructured the following arguments for `fdl.ModelInfo.from_dataset_info()`
|
|
445
|
-
- Added: `categorical_target_class_details`:
|
|
446
|
-
- Mandatory for Multiclass classification tasks, optional for Binary (unused for Regression)
|
|
447
|
-
- Used to specify the positive class for Binary classification, and the class order for Multiclass classification
|
|
448
|
-
- Modified: `target`:
|
|
449
|
-
- No longer optional, models must specify target columns
|
|
450
|
-
|
|
451
|
-
### 0.7.1
|
|
452
|
-
- ##### **New Features**
|
|
453
|
-
- Restructured the following arguments for `fdl.publish_events_batch()`
|
|
454
|
-
- Added: `id_field`:
|
|
455
|
-
- Column to extract `id` value from
|
|
456
|
-
- Added: `timestamp_format`:
|
|
457
|
-
- Format of timestamp within batch object. Can be one of:
|
|
458
|
-
- `fdl.FiddlerTimestamp.INFER`
|
|
459
|
-
- `fdl.FiddlerTimestamp.EPOCH_MILLISECONDS`
|
|
460
|
-
- `fdl.FiddlerTimestamp.EPOCH_SECONDS`
|
|
461
|
-
- `fdl.FiddlerTimestamp.ISO_8601`
|
|
462
|
-
Removed: `default_timestamp`
|
|
463
|
-
- Minor bug fixes
|
|
464
|
-
- ##### **Deprecation Warning**
|
|
465
|
-
- Support `fdl.publish_events_log` and `fdl.publish_parquet_s3` will soon be
|
|
466
|
-
deprecated in favor of `fdl.publish_events_batch()`
|
|
467
|
-
|
|
468
|
-
|
|
469
|
-
### 0.7.0
|
|
470
|
-
- ##### **Dataset Refactor**
|
|
471
|
-
- Datasets refactored to be members of a Project
|
|
472
|
-
- *This is a change promoting Datasets to be first class within Fiddler. It will affects both the UI and several API in Fiddler*
|
|
473
|
-
- Many API utilizing Projects will now require `project_id` passed as a parameter
|
|
474
|
-
- ##### **New Features**
|
|
475
|
-
- Added `fdl.update_model()` to client
|
|
476
|
-
- *update the specified model, with model binary and package.py from
|
|
477
|
-
the specified model_dir*
|
|
478
|
-
- Added `fdl.get_model()` to client
|
|
479
|
-
- *download the model binary, package.py and model.yaml to the given
|
|
480
|
-
output dir.*
|
|
481
|
-
- Added `fdl.publish_events_batch()` to client
|
|
482
|
-
- *Publishes a batch events object to Fiddler Service.*
|
|
483
|
-
- *Note: Support for other batch methods including `fdl.publish_events_log()`
|
|
484
|
-
and `fdl.publish_parquet_s3()` will be deprecated in the near future
|
|
485
|
-
in favor of `fdl.publish_events_batch()`*
|
|
486
|
-
- ##### **Changes**
|
|
487
|
-
- Simplified logic within `fld.upload-dataset()`
|
|
488
|
-
- Added client/server handshake for checking version compatibilities
|
|
489
|
-
- *Warning issued in case of mismatch*
|
|
490
|
-
- Deleted redundant APIs
|
|
491
|
-
- `fdl.create_surrogate_model()`
|
|
492
|
-
- `fdl.upload_model_sklearn()`
|
|
493
|
-
- Restructured APIs to be more duck typing-friendly (relaxing data type restrictions)
|
|
494
|
-
- Patches for minor bug-fixes
|
|
495
|
-
|
|
496
|
-
|
|
497
|
-
### 0.6.18
|
|
498
|
-
- ##### **Features**
|
|
499
|
-
- Minor updates to ease use of binary classification labels
|
|
500
|
-
|
|
501
|
-
### 0.6.17
|
|
502
|
-
- ##### **Features**
|
|
503
|
-
- Added new arguments to `ModelInfo.from_dataset_info()`
|
|
504
|
-
- `preferred_explanation_method` to express a preferred default explanation algorithm for a model
|
|
505
|
-
- `custom_explanation_names` to support user-provided explanation algorithms which the user will implement on their model object via package.py.
|
|
506
|
-
|
|
507
|
-
### 0.6.16
|
|
508
|
-
- ##### **Features**
|
|
509
|
-
- Minor improvements to `publish_events_log()` to circumvent datatype conversion issues
|
|
510
|
-
|
|
511
|
-
### 0.6.15
|
|
512
|
-
- ##### **Features**
|
|
513
|
-
- Added strict name checks
|
|
514
|
-
|
|
515
|
-
### 0.6.14
|
|
516
|
-
- ##### **Features**
|
|
517
|
-
- Added client-native multithreading support for `publish_events_log()`
|
|
518
|
-
using new parameters `num_threads` and `batch_size`
|
|
519
|
-
|
|
520
|
-
### 0.6.13
|
|
521
|
-
- ##### **Features**
|
|
522
|
-
- Added `fdl.generate_sample_events()` to client
|
|
523
|
-
- *API for generating monitoring traffic to test out Fiddler*
|
|
524
|
-
- Added `fdl.trigger_pre_computation()` to client
|
|
525
|
-
- *Triggers various precomputation steps within the Fiddler service based on input parameters.*
|
|
526
|
-
- Optionally add proxies to FiddlerApi() init
|
|
527
|
-
|
|
528
|
-
### 0.6.12
|
|
529
|
-
- ##### **Features**
|
|
530
|
-
- Added `fdl.publish_parquet_s3()` to client
|
|
531
|
-
- *Publishes parquet events file from S3 to Fiddler instance.
|
|
532
|
-
Experimental and may be expanded in the future.*
|
|
533
|
-
|
|
534
|
-
### 0.6.10
|
|
535
|
-
- ##### **Features**
|
|
536
|
-
- Added `fdl.register_model()` to client
|
|
537
|
-
- *Register a model in fiddler. This will generate a surrogate model,
|
|
538
|
-
which can be replaced later with original model.*
|
|
File without changes
|
|
File without changes
|
|
File without changes
|