fiddler-client 3.0.0.dev9__tar.gz → 3.0.0.dev11__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-3.0.0.dev9/fiddler_client.egg-info → fiddler-client-3.0.0.dev11}/PKG-INFO +1 -1
- fiddler-client-3.0.0.dev11/fiddler/VERSION +1 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/__init__.py +23 -6
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/connection.py +15 -13
- fiddler-client-3.0.0.dev11/fiddler/constants/baseline.py +15 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/alert_rule.py +2 -2
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/baseline.py +22 -25
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/custom_expression.py +16 -16
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/dataset.py +4 -8
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/model.py +15 -9
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/model_artifact.py +1 -1
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/model_deployment.py +2 -2
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/surrogate.py +3 -3
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/xai.py +3 -3
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/baseline.py +2 -2
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_baseline.py +8 -10
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_custom_metric.py +4 -12
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_dataset.py +4 -9
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_model.py +4 -4
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_segment.py +4 -12
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/conftest.py +1 -1
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11/fiddler_client.egg-info}/PKG-INFO +1 -1
- fiddler-client-3.0.0.dev9/fiddler/VERSION +0 -1
- fiddler-client-3.0.0.dev9/fiddler/constants/baseline.py +0 -19
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/LICENSE.txt +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/MANIFEST.in +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/PUBLIC.md +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/README.md +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/configs.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/constants/__init__.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/constants/alert_rule.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/constants/common.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/constants/dataset.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/constants/events.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/constants/job.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/constants/model.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/constants/model_deployment.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/constants/xai.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/decorators.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/__init__.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/alert_record.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/base.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/events.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/file.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/job.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/organization.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/project.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/user.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/webhook.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/exceptions.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/libs/__init__.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/libs/http_client.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/libs/json_encoder.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/libs/semver.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/packtools/__init__.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/packtools/gem.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/packtools/keras_ig_helpers.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/packtools/project_attributions_helpers.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/packtools/template_model.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/__init__.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/alert_record.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/alert_rule.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/base.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/custom_expression.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/custom_features.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/dataset.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/events.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/file.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/filter_query.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/job.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/model.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/model_deployment.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/model_schema.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/model_spec.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/model_task_params.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/organization.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/project.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/response.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/server_info.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/user.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/webhook.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/xai.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/schemas/xai_params.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/__init__.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/__init__.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_alert_record.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_alert_rule.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_events.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_files.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_generate_model.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_job.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_mixin.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_model_artifact.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_model_deployment.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_model_surrogate.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_project.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_webhook.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_xai.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/constants.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/test_connection.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/test_json_encoder.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/test_logger.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/test_utils.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/utils.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/utils/__init__.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/utils/helpers.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/utils/logger.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/utils/model_generator.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/utils/validations.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/utils/version.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/version.py +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler_client.egg-info/SOURCES.txt +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler_client.egg-info/dependency_links.txt +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler_client.egg-info/requires.txt +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler_client.egg-info/top_level.txt +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/setup.cfg +0 -0
- {fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/setup.py +0 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
3.0.0-dev11
|
|
@@ -1,3 +1,5 @@
|
|
|
1
|
+
from __future__ import annotations
|
|
2
|
+
|
|
1
3
|
from fiddler.connection import Connection, ConnectionMixin, init # noqa
|
|
2
4
|
from fiddler.constants.alert_rule import ( # noqa
|
|
3
5
|
AlertCondition,
|
|
@@ -5,7 +7,7 @@ from fiddler.constants.alert_rule import ( # noqa
|
|
|
5
7
|
CompareTo,
|
|
6
8
|
Priority,
|
|
7
9
|
)
|
|
8
|
-
from fiddler.constants.baseline import BaselineType,
|
|
10
|
+
from fiddler.constants.baseline import BaselineType, WindowBinSize # noqa
|
|
9
11
|
from fiddler.constants.dataset import EnvType # noqa
|
|
10
12
|
from fiddler.constants.job import JobStatus # noqa
|
|
11
13
|
from fiddler.constants.model import ( # noqa
|
|
@@ -19,14 +21,14 @@ from fiddler.constants.model_deployment import ArtifactType, DeploymentType # n
|
|
|
19
21
|
from fiddler.constants.xai import ExplainMethod # noqa
|
|
20
22
|
from fiddler.entities.alert_record import AlertRecord # noqa
|
|
21
23
|
from fiddler.entities.alert_rule import AlertRule # noqa
|
|
22
|
-
from fiddler.entities.baseline import Baseline # noqa
|
|
24
|
+
from fiddler.entities.baseline import Baseline, BaselineCompact # noqa
|
|
23
25
|
from fiddler.entities.custom_expression import CustomMetric, Segment # noqa
|
|
24
|
-
from fiddler.entities.dataset import Dataset # noqa
|
|
26
|
+
from fiddler.entities.dataset import Dataset, DatasetCompact # noqa
|
|
25
27
|
from fiddler.entities.file import File # noqa
|
|
26
28
|
from fiddler.entities.job import Job # noqa
|
|
27
|
-
from fiddler.entities.model import Model # noqa
|
|
29
|
+
from fiddler.entities.model import Model, ModelCompact # noqa
|
|
28
30
|
from fiddler.entities.model_deployment import ModelDeployment # noqa
|
|
29
|
-
from fiddler.entities.project import Project # noqa
|
|
31
|
+
from fiddler.entities.project import Project, ProjectCompact # noqa
|
|
30
32
|
from fiddler.entities.webhook import Webhook # noqa
|
|
31
33
|
from fiddler.exceptions import ( # noqa
|
|
32
34
|
ApiError,
|
|
@@ -62,11 +64,22 @@ from fiddler.schemas.xai_params import XaiParams # noqa
|
|
|
62
64
|
from fiddler.utils.logger import set_logging # noqa
|
|
63
65
|
from fiddler.version import __version__ # noqa
|
|
64
66
|
|
|
67
|
+
# Global connection object
|
|
68
|
+
conn: Connection | None = None
|
|
69
|
+
|
|
70
|
+
|
|
71
|
+
def set_conn(conn_: Connection) -> None:
|
|
72
|
+
"""Set global conn variable"""
|
|
73
|
+
global conn
|
|
74
|
+
conn = conn_
|
|
75
|
+
|
|
76
|
+
|
|
65
77
|
__all__ = [
|
|
66
78
|
'__version__',
|
|
67
79
|
'Connection',
|
|
68
80
|
'ConnectionMixin',
|
|
69
81
|
'init',
|
|
82
|
+
'conn',
|
|
70
83
|
# Constants
|
|
71
84
|
'AlertCondition',
|
|
72
85
|
'ArtifactStatus',
|
|
@@ -82,7 +95,7 @@ __all__ = [
|
|
|
82
95
|
'ModelInputType',
|
|
83
96
|
'ModelTask',
|
|
84
97
|
'Priority',
|
|
85
|
-
'
|
|
98
|
+
'WindowBinSize',
|
|
86
99
|
# Schemas
|
|
87
100
|
'CustomFeature',
|
|
88
101
|
'DatasetDataSource',
|
|
@@ -103,13 +116,17 @@ __all__ = [
|
|
|
103
116
|
'AlertRecord',
|
|
104
117
|
'AlertRule',
|
|
105
118
|
'Baseline',
|
|
119
|
+
'BaselineCompact',
|
|
106
120
|
'Dataset',
|
|
121
|
+
'DatasetCompact',
|
|
107
122
|
'CustomMetric',
|
|
108
123
|
'File',
|
|
109
124
|
'Job',
|
|
110
125
|
'Model',
|
|
126
|
+
'ModelCompact',
|
|
111
127
|
'ModelDeployment',
|
|
112
128
|
'Project',
|
|
129
|
+
'ProjectCompact',
|
|
113
130
|
'Segment',
|
|
114
131
|
'Webhook',
|
|
115
132
|
# Exceptions
|
|
@@ -15,9 +15,6 @@ from fiddler.version import __version__
|
|
|
15
15
|
|
|
16
16
|
logger = get_logger(__name__)
|
|
17
17
|
|
|
18
|
-
# Global connection object
|
|
19
|
-
connection: Connection | None = None
|
|
20
|
-
|
|
21
18
|
|
|
22
19
|
class Connection:
|
|
23
20
|
def __init__( # pylint: disable=too-many-arguments
|
|
@@ -123,35 +120,37 @@ class Connection:
|
|
|
123
120
|
|
|
124
121
|
class ConnectionMixin:
|
|
125
122
|
@classmethod
|
|
126
|
-
def
|
|
123
|
+
def _conn(cls) -> Connection:
|
|
127
124
|
"""Fiddler connection instance"""
|
|
128
|
-
|
|
129
|
-
|
|
125
|
+
from fiddler import conn
|
|
126
|
+
|
|
127
|
+
assert conn is not None
|
|
128
|
+
return conn
|
|
130
129
|
|
|
131
130
|
@classmethod
|
|
132
131
|
def _client(cls) -> RequestClient:
|
|
133
132
|
"""Request client instance"""
|
|
134
|
-
return cls.
|
|
133
|
+
return cls._conn().client
|
|
135
134
|
|
|
136
135
|
@property
|
|
137
136
|
def organization_name(self) -> str:
|
|
138
137
|
"""Organization name property"""
|
|
139
|
-
return self.
|
|
138
|
+
return self._conn().server_info.organization.name
|
|
140
139
|
|
|
141
140
|
@property
|
|
142
141
|
def organization_id(self) -> UUID:
|
|
143
142
|
"""Organization id property"""
|
|
144
|
-
return self.
|
|
143
|
+
return self._conn().server_info.organization.id
|
|
145
144
|
|
|
146
145
|
@classmethod
|
|
147
146
|
def get_organization_name(cls) -> str:
|
|
148
147
|
"""Organization name"""
|
|
149
|
-
return cls.
|
|
148
|
+
return cls._conn().server_info.organization.name
|
|
150
149
|
|
|
151
150
|
@classmethod
|
|
152
151
|
def get_organization_id(cls) -> UUID:
|
|
153
152
|
"""Organization id"""
|
|
154
|
-
return cls.
|
|
153
|
+
return cls._conn().server_info.organization.id
|
|
155
154
|
|
|
156
155
|
|
|
157
156
|
def init( # pylint: disable=too-many-arguments
|
|
@@ -173,8 +172,9 @@ def init( # pylint: disable=too-many-arguments
|
|
|
173
172
|
:param validate: Whether to validate the server/client version compatibility.
|
|
174
173
|
Some functionalities might not work if this is turned off.
|
|
175
174
|
"""
|
|
176
|
-
|
|
177
|
-
|
|
175
|
+
from fiddler import set_conn
|
|
176
|
+
|
|
177
|
+
conn = Connection(
|
|
178
178
|
url=url,
|
|
179
179
|
token=token,
|
|
180
180
|
proxies=proxies,
|
|
@@ -182,3 +182,5 @@ def init( # pylint: disable=too-many-arguments
|
|
|
182
182
|
verify=verify,
|
|
183
183
|
validate=validate,
|
|
184
184
|
)
|
|
185
|
+
|
|
186
|
+
set_conn(conn_=conn)
|
|
@@ -24,7 +24,7 @@ class AlertRule(
|
|
|
24
24
|
def __init__( # pylint: disable=too-many-arguments
|
|
25
25
|
self,
|
|
26
26
|
name: str,
|
|
27
|
-
model_id: UUID,
|
|
27
|
+
model_id: UUID | str,
|
|
28
28
|
metric_id: str | UUID,
|
|
29
29
|
priority: Priority | str,
|
|
30
30
|
compare_to: CompareTo | str,
|
|
@@ -33,7 +33,7 @@ class AlertRule(
|
|
|
33
33
|
critical_threshold: float,
|
|
34
34
|
warning_threshold: float | None = None,
|
|
35
35
|
columns: list[str] | None = None,
|
|
36
|
-
baseline_id: UUID | None = None,
|
|
36
|
+
baseline_id: UUID | str | None = None,
|
|
37
37
|
compare_bin_delta: int | None = None,
|
|
38
38
|
) -> None:
|
|
39
39
|
"""Construct a alert rule instance."""
|
|
@@ -5,6 +5,7 @@ from datetime import datetime
|
|
|
5
5
|
from typing import Any, Iterator
|
|
6
6
|
from uuid import UUID
|
|
7
7
|
|
|
8
|
+
from fiddler.constants.baseline import WindowBinSize
|
|
8
9
|
from fiddler.constants.dataset import EnvType
|
|
9
10
|
from fiddler.decorators import handle_api_error
|
|
10
11
|
from fiddler.entities.base import BaseEntity
|
|
@@ -22,14 +23,14 @@ class Baseline(
|
|
|
22
23
|
def __init__( # pylint: disable=too-many-arguments
|
|
23
24
|
self,
|
|
24
25
|
name: str,
|
|
25
|
-
model_id: UUID,
|
|
26
|
+
model_id: UUID | str,
|
|
26
27
|
environment: EnvType,
|
|
27
28
|
type_: str,
|
|
28
|
-
dataset_id: UUID | None = None,
|
|
29
|
+
dataset_id: UUID | str | None = None,
|
|
29
30
|
start_time: int | None = None,
|
|
30
31
|
end_time: int | None = None,
|
|
31
|
-
|
|
32
|
-
|
|
32
|
+
offset_delta: int | None = None,
|
|
33
|
+
window_bin_size: WindowBinSize | str | None = None,
|
|
33
34
|
) -> None:
|
|
34
35
|
"""Construct a baseline instance."""
|
|
35
36
|
self.name = name
|
|
@@ -39,8 +40,8 @@ class Baseline(
|
|
|
39
40
|
self.dataset_id = dataset_id
|
|
40
41
|
self.start_time = start_time
|
|
41
42
|
self.end_time = end_time
|
|
42
|
-
self.
|
|
43
|
-
self.
|
|
43
|
+
self.offset_delta = offset_delta
|
|
44
|
+
self.window_bin_size = window_bin_size
|
|
44
45
|
|
|
45
46
|
self.id: UUID | None = None
|
|
46
47
|
self.row_count: int | None = None
|
|
@@ -73,8 +74,8 @@ class Baseline(
|
|
|
73
74
|
type_=resp_obj.type,
|
|
74
75
|
start_time=resp_obj.start_time,
|
|
75
76
|
end_time=resp_obj.end_time,
|
|
76
|
-
|
|
77
|
-
|
|
77
|
+
offset_delta=resp_obj.offset_delta,
|
|
78
|
+
window_bin_size=resp_obj.window_bin_size,
|
|
78
79
|
)
|
|
79
80
|
|
|
80
81
|
# Add remaining fields
|
|
@@ -109,8 +110,8 @@ class Baseline(
|
|
|
109
110
|
'type',
|
|
110
111
|
'start_time',
|
|
111
112
|
'end_time',
|
|
112
|
-
'
|
|
113
|
-
'
|
|
113
|
+
'offset_delta',
|
|
114
|
+
'window_bin_size',
|
|
114
115
|
'created_at',
|
|
115
116
|
'updated_at',
|
|
116
117
|
'row_count',
|
|
@@ -134,27 +135,23 @@ class Baseline(
|
|
|
134
135
|
|
|
135
136
|
@classmethod
|
|
136
137
|
@handle_api_error
|
|
137
|
-
def from_name(cls, name: str,
|
|
138
|
+
def from_name(cls, name: str, model_id: UUID | str) -> Baseline:
|
|
138
139
|
"""
|
|
139
|
-
Get the baseline instance
|
|
140
|
+
Get the baseline instance of a model from baseline name
|
|
140
141
|
|
|
141
142
|
:param name: Baseline name
|
|
142
|
-
:param
|
|
143
|
-
:param project_name: Name of the project associated with the baseline
|
|
143
|
+
:param model_id: Model identifier
|
|
144
144
|
|
|
145
|
-
:return: Baseline instance
|
|
145
|
+
:return: Baseline instance
|
|
146
146
|
"""
|
|
147
147
|
|
|
148
148
|
_filter = QueryCondition(
|
|
149
149
|
rules=[
|
|
150
150
|
QueryRule(field='name', operator=OperatorType.EQUAL, value=name),
|
|
151
151
|
QueryRule(
|
|
152
|
-
field='
|
|
152
|
+
field='model_id',
|
|
153
153
|
operator=OperatorType.EQUAL,
|
|
154
|
-
value=
|
|
155
|
-
),
|
|
156
|
-
QueryRule(
|
|
157
|
-
field='model_name', operator=OperatorType.EQUAL, value=model_name
|
|
154
|
+
value=model_id,
|
|
158
155
|
),
|
|
159
156
|
]
|
|
160
157
|
)
|
|
@@ -203,7 +200,7 @@ class Baseline(
|
|
|
203
200
|
@handle_api_error
|
|
204
201
|
def create(self) -> Baseline:
|
|
205
202
|
"""Create a new baseline."""
|
|
206
|
-
payload = {
|
|
203
|
+
payload: dict[str, Any] = {
|
|
207
204
|
'name': self.name,
|
|
208
205
|
'model_id': self.model_id,
|
|
209
206
|
'type': self.type,
|
|
@@ -214,10 +211,10 @@ class Baseline(
|
|
|
214
211
|
payload['start_time'] = self.start_time
|
|
215
212
|
if self.end_time:
|
|
216
213
|
payload['end_time'] = self.end_time
|
|
217
|
-
if self.
|
|
218
|
-
payload['
|
|
219
|
-
if self.
|
|
220
|
-
payload['
|
|
214
|
+
if self.offset_delta:
|
|
215
|
+
payload['offset_delta'] = self.offset_delta
|
|
216
|
+
if self.window_bin_size:
|
|
217
|
+
payload['window_bin_size'] = self.window_bin_size
|
|
221
218
|
|
|
222
219
|
response = self._client().post(
|
|
223
220
|
url=self._get_url(),
|
{fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/custom_expression.py
RENAMED
|
@@ -22,7 +22,7 @@ class CustomExpression(BaseEntity, ModelCompactMixin, ProjectCompactMixin):
|
|
|
22
22
|
def __init__(
|
|
23
23
|
self,
|
|
24
24
|
name: str,
|
|
25
|
-
model_id: UUID,
|
|
25
|
+
model_id: UUID | str,
|
|
26
26
|
definition: str,
|
|
27
27
|
description: str | None = None,
|
|
28
28
|
) -> None:
|
|
@@ -112,15 +112,12 @@ class CustomExpression(BaseEntity, ModelCompactMixin, ProjectCompactMixin):
|
|
|
112
112
|
|
|
113
113
|
@classmethod
|
|
114
114
|
@handle_api_error
|
|
115
|
-
def from_name(
|
|
116
|
-
cls, name: str, model_name: str, project_name: str
|
|
117
|
-
) -> CustomExpression:
|
|
115
|
+
def from_name(cls, name: str, model_id: UUID | str) -> CustomExpression:
|
|
118
116
|
"""
|
|
119
|
-
Get the custom metric instance
|
|
117
|
+
Get the custom metric instance of a model from custom metric name
|
|
120
118
|
|
|
121
119
|
:param name: Custom metric name
|
|
122
|
-
:param
|
|
123
|
-
:param project_name: Name of the project associated with the custom metric
|
|
120
|
+
:param model_id: Model identifier
|
|
124
121
|
|
|
125
122
|
:return: CustomMetric instance for the provided params
|
|
126
123
|
"""
|
|
@@ -129,12 +126,7 @@ class CustomExpression(BaseEntity, ModelCompactMixin, ProjectCompactMixin):
|
|
|
129
126
|
rules=[
|
|
130
127
|
QueryRule(field='name', operator=OperatorType.EQUAL, value=name),
|
|
131
128
|
QueryRule(
|
|
132
|
-
field='
|
|
133
|
-
),
|
|
134
|
-
QueryRule(
|
|
135
|
-
field='project_name',
|
|
136
|
-
operator=OperatorType.EQUAL,
|
|
137
|
-
value=project_name,
|
|
129
|
+
field='model_id', operator=OperatorType.EQUAL, value=model_id
|
|
138
130
|
),
|
|
139
131
|
]
|
|
140
132
|
)
|
|
@@ -157,7 +149,7 @@ class CustomExpression(BaseEntity, ModelCompactMixin, ProjectCompactMixin):
|
|
|
157
149
|
@handle_api_error
|
|
158
150
|
def list(
|
|
159
151
|
cls,
|
|
160
|
-
model_id: UUID,
|
|
152
|
+
model_id: UUID | str,
|
|
161
153
|
) -> Iterator[CustomExpression]:
|
|
162
154
|
"""Get a list of all custom metrics in the organization."""
|
|
163
155
|
|
|
@@ -195,7 +187,11 @@ class CustomExpression(BaseEntity, ModelCompactMixin, ProjectCompactMixin):
|
|
|
195
187
|
|
|
196
188
|
class CustomMetric(CustomExpression):
|
|
197
189
|
def __init__(
|
|
198
|
-
self,
|
|
190
|
+
self,
|
|
191
|
+
name: str,
|
|
192
|
+
model_id: UUID | str,
|
|
193
|
+
definition: str,
|
|
194
|
+
description: str | None = None,
|
|
199
195
|
) -> None:
|
|
200
196
|
"""Construct a custom metric instance."""
|
|
201
197
|
super().__init__(name, model_id, definition, description)
|
|
@@ -214,7 +210,11 @@ class CustomMetric(CustomExpression):
|
|
|
214
210
|
|
|
215
211
|
class Segment(CustomExpression):
|
|
216
212
|
def __init__(
|
|
217
|
-
self,
|
|
213
|
+
self,
|
|
214
|
+
name: str,
|
|
215
|
+
model_id: UUID | str,
|
|
216
|
+
definition: str,
|
|
217
|
+
description: str | None = None,
|
|
218
218
|
) -> None:
|
|
219
219
|
"""Construct a segment instance."""
|
|
220
220
|
super().__init__(name, model_id, definition, description)
|
|
@@ -72,13 +72,12 @@ class Dataset(BaseEntity, ProjectCompactMixin):
|
|
|
72
72
|
|
|
73
73
|
@classmethod
|
|
74
74
|
@handle_api_error
|
|
75
|
-
def from_name(cls, name: str,
|
|
75
|
+
def from_name(cls, name: str, model_id: UUID | str) -> Dataset:
|
|
76
76
|
"""
|
|
77
77
|
Get the dataset instance using dataset name.
|
|
78
78
|
|
|
79
79
|
:param name: Dataset name
|
|
80
|
-
:param
|
|
81
|
-
:param project_name: name of the project associated with the dataset
|
|
80
|
+
:param model_id: Model identifier
|
|
82
81
|
|
|
83
82
|
:return: Dataset instance for the provided params
|
|
84
83
|
"""
|
|
@@ -86,12 +85,9 @@ class Dataset(BaseEntity, ProjectCompactMixin):
|
|
|
86
85
|
rules=[
|
|
87
86
|
QueryRule(field='name', operator=OperatorType.EQUAL, value=name),
|
|
88
87
|
QueryRule(
|
|
89
|
-
field='
|
|
88
|
+
field='model_id',
|
|
90
89
|
operator=OperatorType.EQUAL,
|
|
91
|
-
value=
|
|
92
|
-
),
|
|
93
|
-
QueryRule(
|
|
94
|
-
field='model_name', operator=OperatorType.EQUAL, value=model_name
|
|
90
|
+
value=model_id,
|
|
95
91
|
),
|
|
96
92
|
]
|
|
97
93
|
)
|
|
@@ -49,7 +49,7 @@ class Model(
|
|
|
49
49
|
def __init__( # pylint: disable=too-many-arguments
|
|
50
50
|
self,
|
|
51
51
|
name: str,
|
|
52
|
-
project_id: UUID,
|
|
52
|
+
project_id: UUID | str,
|
|
53
53
|
schema: ModelSchema,
|
|
54
54
|
spec: ModelSpec,
|
|
55
55
|
input_type: str = ModelInputType.TABULAR,
|
|
@@ -188,15 +188,21 @@ class Model(
|
|
|
188
188
|
|
|
189
189
|
@classmethod
|
|
190
190
|
@handle_api_error
|
|
191
|
-
def from_name(cls, name: str,
|
|
192
|
-
"""
|
|
191
|
+
def from_name(cls, name: str, project_id: UUID | str) -> Model:
|
|
192
|
+
"""
|
|
193
|
+
Get the model instance from model name within a project.
|
|
194
|
+
|
|
195
|
+
:param name: Model name
|
|
196
|
+
:param project_id: Project identifier
|
|
197
|
+
:return: Model instance
|
|
198
|
+
"""
|
|
193
199
|
_filter = QueryCondition(
|
|
194
200
|
rules=[
|
|
195
201
|
QueryRule(field='name', operator=OperatorType.EQUAL, value=name),
|
|
196
202
|
QueryRule(
|
|
197
|
-
field='
|
|
203
|
+
field='project_id',
|
|
198
204
|
operator=OperatorType.EQUAL,
|
|
199
|
-
value=
|
|
205
|
+
value=project_id,
|
|
200
206
|
),
|
|
201
207
|
]
|
|
202
208
|
)
|
|
@@ -251,7 +257,7 @@ class Model(
|
|
|
251
257
|
@handle_api_error
|
|
252
258
|
def list(
|
|
253
259
|
cls,
|
|
254
|
-
project_id: UUID,
|
|
260
|
+
project_id: UUID | str,
|
|
255
261
|
) -> Iterator[ModelCompact]:
|
|
256
262
|
"""
|
|
257
263
|
Get a list of all models with the given filters
|
|
@@ -308,7 +314,7 @@ class Model(
|
|
|
308
314
|
cls,
|
|
309
315
|
source: pd.DataFrame | Path | str,
|
|
310
316
|
name: str,
|
|
311
|
-
project_id: UUID,
|
|
317
|
+
project_id: UUID | str,
|
|
312
318
|
spec: ModelSpec | None = None,
|
|
313
319
|
input_type: str = ModelInputType.TABULAR,
|
|
314
320
|
task: str = ModelTask.NOT_SET,
|
|
@@ -452,7 +458,7 @@ class Model(
|
|
|
452
458
|
|
|
453
459
|
def add_surrogate(
|
|
454
460
|
self,
|
|
455
|
-
dataset_id: UUID,
|
|
461
|
+
dataset_id: UUID | str,
|
|
456
462
|
deployment_params: DeploymentParams | None = None,
|
|
457
463
|
) -> Job:
|
|
458
464
|
"""
|
|
@@ -470,7 +476,7 @@ class Model(
|
|
|
470
476
|
@handle_api_error
|
|
471
477
|
def update_surrogate(
|
|
472
478
|
self,
|
|
473
|
-
dataset_id: UUID,
|
|
479
|
+
dataset_id: UUID | str,
|
|
474
480
|
deployment_params: DeploymentParams | None = None,
|
|
475
481
|
) -> Job:
|
|
476
482
|
"""
|
{fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/entities/model_deployment.py
RENAMED
|
@@ -18,7 +18,7 @@ class ModelDeployment(
|
|
|
18
18
|
): # pylint: disable=too-many-instance-attributes
|
|
19
19
|
def __init__( # pylint: disable=too-many-arguments
|
|
20
20
|
self,
|
|
21
|
-
model_id: UUID,
|
|
21
|
+
model_id: UUID | str,
|
|
22
22
|
) -> None:
|
|
23
23
|
"""Construct a model deployment instance."""
|
|
24
24
|
self.id: UUID | None = None # pylint: disable=invalid-name
|
|
@@ -110,7 +110,7 @@ class ModelDeployment(
|
|
|
110
110
|
self._refresh_from_response(response=response)
|
|
111
111
|
|
|
112
112
|
@classmethod
|
|
113
|
-
def of(cls, model_id: UUID) -> ModelDeployment:
|
|
113
|
+
def of(cls, model_id: UUID | str) -> ModelDeployment:
|
|
114
114
|
"""
|
|
115
115
|
Get model deployment instance of the given model
|
|
116
116
|
|
|
@@ -25,7 +25,7 @@ class Surrogate(ConnectionMixin):
|
|
|
25
25
|
|
|
26
26
|
def _deploy(
|
|
27
27
|
self,
|
|
28
|
-
dataset_id: UUID,
|
|
28
|
+
dataset_id: UUID | str,
|
|
29
29
|
deployment_params: DeploymentParams | None = None,
|
|
30
30
|
update: bool = False,
|
|
31
31
|
) -> Job:
|
|
@@ -71,7 +71,7 @@ class Surrogate(ConnectionMixin):
|
|
|
71
71
|
@handle_api_error
|
|
72
72
|
def add(
|
|
73
73
|
self,
|
|
74
|
-
dataset_id: UUID,
|
|
74
|
+
dataset_id: UUID | str,
|
|
75
75
|
deployment_params: DeploymentParams | None = None,
|
|
76
76
|
) -> Job:
|
|
77
77
|
"""
|
|
@@ -89,7 +89,7 @@ class Surrogate(ConnectionMixin):
|
|
|
89
89
|
@handle_api_error
|
|
90
90
|
def update(
|
|
91
91
|
self,
|
|
92
|
-
dataset_id: UUID,
|
|
92
|
+
dataset_id: UUID | str,
|
|
93
93
|
deployment_params: DeploymentParams | None = None,
|
|
94
94
|
) -> Job:
|
|
95
95
|
"""
|
|
@@ -382,7 +382,7 @@ class XaiMixin:
|
|
|
382
382
|
@handle_api_error
|
|
383
383
|
def precompute_feature_impact( # pylint: disable=too-many-arguments
|
|
384
384
|
self,
|
|
385
|
-
dataset_id: UUID,
|
|
385
|
+
dataset_id: UUID | str,
|
|
386
386
|
num_samples: int | None = None,
|
|
387
387
|
num_iterations: int | None = None,
|
|
388
388
|
num_refs: int | None = None,
|
|
@@ -444,7 +444,7 @@ class XaiMixin:
|
|
|
444
444
|
@handle_api_error
|
|
445
445
|
def precompute_feature_importance( # pylint: disable=too-many-arguments
|
|
446
446
|
self,
|
|
447
|
-
dataset_id: UUID,
|
|
447
|
+
dataset_id: UUID | str,
|
|
448
448
|
num_samples: int | None = None,
|
|
449
449
|
num_iterations: int | None = None,
|
|
450
450
|
num_refs: int | None = None,
|
|
@@ -528,7 +528,7 @@ class XaiMixin:
|
|
|
528
528
|
@handle_api_error
|
|
529
529
|
def precompute_predictions(
|
|
530
530
|
self,
|
|
531
|
-
dataset_id: UUID,
|
|
531
|
+
dataset_id: UUID | str,
|
|
532
532
|
chunk_size: int | None = None,
|
|
533
533
|
update: bool = False,
|
|
534
534
|
) -> Job:
|
|
@@ -24,8 +24,8 @@ class BaselineResp(BaseModel):
|
|
|
24
24
|
type: str
|
|
25
25
|
start_time: Optional[int]
|
|
26
26
|
end_time: Optional[int]
|
|
27
|
-
|
|
28
|
-
|
|
27
|
+
offset_delta: Optional[int]
|
|
28
|
+
window_bin_size: Optional[str]
|
|
29
29
|
row_count: Optional[int]
|
|
30
30
|
|
|
31
31
|
model: ModelCompactResp
|
{fiddler-client-3.0.0.dev9 → fiddler-client-3.0.0.dev11}/fiddler/tests/apis/test_baseline.py
RENAMED
|
@@ -29,8 +29,8 @@ API_RESPONSE_200 = {
|
|
|
29
29
|
'type': 'STATIC',
|
|
30
30
|
'start_time': None,
|
|
31
31
|
'end_time': None,
|
|
32
|
-
'
|
|
33
|
-
'
|
|
32
|
+
'offset_delta': None,
|
|
33
|
+
'window_bin_size': None,
|
|
34
34
|
'row_count': 20000,
|
|
35
35
|
'model': {
|
|
36
36
|
'id': MODEL_ID,
|
|
@@ -80,8 +80,8 @@ LIST_API_RESPONSE = {
|
|
|
80
80
|
'type': 'STATIC',
|
|
81
81
|
'start_time': None,
|
|
82
82
|
'end_time': None,
|
|
83
|
-
'
|
|
84
|
-
'
|
|
83
|
+
'offset_delta': None,
|
|
84
|
+
'window_bin_size': None,
|
|
85
85
|
'row_count': 20000,
|
|
86
86
|
'model': {
|
|
87
87
|
'id': MODEL_ID,
|
|
@@ -160,7 +160,7 @@ def test_get_baseline_not_found() -> None:
|
|
|
160
160
|
@responses.activate
|
|
161
161
|
def test_baseline_from_name() -> None:
|
|
162
162
|
params = {
|
|
163
|
-
'filter': '{"condition": "AND", "rules": [{"field": "name", "operator": "equal", "value": "test_baseline"}, {"field": "
|
|
163
|
+
'filter': '{"condition": "AND", "rules": [{"field": "name", "operator": "equal", "value": "test_baseline"}, {"field": "model_id", "operator": "equal", "value": "4531bfd9-2ca2-4a7b-bb5a-136c8da09ca2"}]}'
|
|
164
164
|
}
|
|
165
165
|
|
|
166
166
|
responses.get(
|
|
@@ -170,8 +170,7 @@ def test_baseline_from_name() -> None:
|
|
|
170
170
|
)
|
|
171
171
|
baseline = Baseline.from_name(
|
|
172
172
|
name=BASELINE_NAME,
|
|
173
|
-
|
|
174
|
-
project_name=PROJECT_NAME,
|
|
173
|
+
model_id=MODEL_ID,
|
|
175
174
|
)
|
|
176
175
|
assert isinstance(baseline, Baseline)
|
|
177
176
|
|
|
@@ -184,7 +183,7 @@ def test_baseline_from_name_not_found() -> None:
|
|
|
184
183
|
resp['data']['items'] = []
|
|
185
184
|
|
|
186
185
|
params = {
|
|
187
|
-
'filter': '{"condition": "AND", "rules": [{"field": "name", "operator": "equal", "value": "test_baseline"}, {"field": "
|
|
186
|
+
'filter': '{"condition": "AND", "rules": [{"field": "name", "operator": "equal", "value": "test_baseline"}, {"field": "model_id", "operator": "equal", "value": "4531bfd9-2ca2-4a7b-bb5a-136c8da09ca2"}]}'
|
|
188
187
|
}
|
|
189
188
|
|
|
190
189
|
responses.get(
|
|
@@ -195,8 +194,7 @@ def test_baseline_from_name_not_found() -> None:
|
|
|
195
194
|
with pytest.raises(NotFound):
|
|
196
195
|
Baseline.from_name(
|
|
197
196
|
name=BASELINE_NAME,
|
|
198
|
-
|
|
199
|
-
project_name=PROJECT_NAME,
|
|
197
|
+
model_id=MODEL_ID,
|
|
200
198
|
)
|
|
201
199
|
|
|
202
200
|
|