fiddler-client 1.7.0.dev2__py3-none-any.whl → 1.7.0.dev4__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.py CHANGED
@@ -1 +1 @@
1
- __version__ = '1.7.0.dev2'
1
+ __version__ = '1.7.0.dev4'
fiddler/core_objects.py CHANGED
@@ -6,6 +6,7 @@ import functools
6
6
  import json
7
7
  import logging
8
8
  import textwrap
9
+ import warnings
9
10
  from dataclasses import asdict, dataclass
10
11
  from pathlib import Path
11
12
  from typing import (
@@ -26,7 +27,6 @@ import pandas as pd
26
27
  import pandas.api.types
27
28
  import pyarrow as pa
28
29
  from deprecated import deprecated
29
- import warnings
30
30
 
31
31
  from ._version import __version__
32
32
  from .utils.exceptions import MalformedSchemaException
@@ -1292,7 +1292,7 @@ class ModelInfo:
1292
1292
  explanation method if unspecified (typically Fiddler Shapley).
1293
1293
  Must be one of the built-in explanation types (ie an `fdl.core_objects.ExplanationMethod`) or be specified as
1294
1294
  a custom explanation type via `custom_explanation_names` (and in `package.py`).
1295
- :param custom_explanation_names:
1295
+ :param custom_explanation_names:
1296
1296
  [Optional] List of (string) names that
1297
1297
  can be passed to the explanation_name argument of the optional
1298
1298
  user-defined explain_custom method of the model object defined in
@@ -1342,7 +1342,6 @@ class ModelInfo:
1342
1342
  tree_shap_enabled: Optional[bool] = False,
1343
1343
  custom_features: Optional[List[CustomFeature]] = None,
1344
1344
  is_binary_ranking_model: Optional[bool] = None,
1345
-
1346
1345
  **kwargs,
1347
1346
  ):
1348
1347
  self.display_name = display_name
@@ -1370,26 +1369,26 @@ class ModelInfo:
1370
1369
  # warning for parameters deprecated in version 1.7
1371
1370
  if mlflow_params is not None:
1372
1371
  self.warn_deprecated_parameter(
1373
- param_name='mlflow_params',
1374
- from_version='1.7')
1372
+ param_name='mlflow_params', from_version='1.7'
1373
+ )
1375
1374
  if display_name is not None:
1376
1375
  self.warn_deprecated_parameter(
1377
- param_name='display_name',
1378
- from_version='1.7')
1376
+ param_name='display_name', from_version='1.7'
1377
+ )
1379
1378
  if model_deployment_params is not None:
1380
1379
  self.warn_deprecated_parameter(
1381
- param_name='model_deployment_params',
1382
- from_version='1.7')
1383
-
1380
+ param_name='model_deployment_params', from_version='1.7'
1381
+ )
1382
+
1384
1383
  # artifact_status is set by Model Service
1385
1384
  # POST /v2/models sets artifact_status to NO_MODEL
1386
1385
  # POST /v2/<model-id>/deploy-artifacts/... sets USER_UPLOADED
1387
1386
  # POST /v2/<model-id>/deploy-surrogate sets SURROGATE
1388
1387
  if artifact_status is not None:
1389
1388
  self.warn_deprecated_parameter(
1390
- param_name='artifact_status',
1391
- from_version='1.7')
1392
-
1389
+ param_name='artifact_status', from_version='1.7'
1390
+ )
1391
+
1393
1392
  if custom_explanation_names is None:
1394
1393
  custom_explanation_names = []
1395
1394
 
@@ -1519,11 +1518,11 @@ class ModelInfo:
1519
1518
  f"Custom features '{feature.name}' is defined based on column '{feature.columns}' which was not found."
1520
1519
  )
1521
1520
 
1522
- def warn_deprecated_parameter(self, param_name:str, from_version:str) -> None:
1521
+ def warn_deprecated_parameter(self, param_name: str, from_version: str) -> None:
1523
1522
  warnings.warn(
1524
- f'WARNING: {param_name} is deprecated in {from_version}. It will be removed from 2.0.0 version.', DeprecationWarning
1525
- )
1526
-
1523
+ f'WARNING: {param_name} is deprecated in {from_version}. It will be removed from 2.0.0 version.',
1524
+ DeprecationWarning,
1525
+ )
1527
1526
 
1528
1527
  def to_dict(self):
1529
1528
  """Dumps to basic python objects (easy for JSON serialization)"""
@@ -1968,14 +1967,17 @@ class ModelInfo:
1968
1967
  """
1969
1968
  if categorical_target_class_details is not None:
1970
1969
  warnings.warn(
1971
- 'WARNING: categorical_target_class_details is deprecated in 1.7 and will be removed from 2.0.0 version. As a replacement, use target_class_order while constructing ModelInfo.', DeprecationWarning
1970
+ 'WARNING: categorical_target_class_details is deprecated in 1.7 and will be removed from 2.0.0 version. As a replacement, use target_class_order while constructing ModelInfo.',
1971
+ DeprecationWarning,
1972
1972
  )
1973
1973
 
1974
1974
  if custom_explanation_names is None:
1975
1975
  custom_explanation_names = []
1976
1976
 
1977
1977
  if not isinstance(dataset_info, DatasetInfo):
1978
- raise ValueError(f'The dataset_info parameter must be a valid DatasetInfo object')
1978
+ raise ValueError(
1979
+ f'The dataset_info parameter must be a valid DatasetInfo object'
1980
+ )
1979
1981
 
1980
1982
  if display_name is None:
1981
1983
  if dataset_info.display_name is not None:
@@ -2322,6 +2324,17 @@ class ModelInfo:
2322
2324
  assert decisions is not None, 'decisions unexpectedly None'
2323
2325
  decisions.append(column.copy())
2324
2326
 
2327
+ # dataset_id creation
2328
+ if dataset_id is not None:
2329
+ datasets = [dataset_id]
2330
+ elif dataset_info.dataset_id is not None:
2331
+ datasets = [dataset_info.dataset_id]
2332
+ else:
2333
+ raise ValueError(
2334
+ 'Please specify a dataset_id, it could not be inferred from the '
2335
+ 'dataset_info.'
2336
+ )
2337
+
2325
2338
  # perform checks for weighting parameters
2326
2339
  if weighting_params is not None:
2327
2340
  if (
@@ -2361,6 +2374,7 @@ class ModelInfo:
2361
2374
  metadata=metadata,
2362
2375
  decisions=decisions,
2363
2376
  targets=[target_column],
2377
+ datasets=datasets,
2364
2378
  weighting_params=weighting_params,
2365
2379
  mlflow_params=None,
2366
2380
  model_deployment_params=model_deployment_params,
fiddler/fiddler_api.py CHANGED
@@ -1282,6 +1282,9 @@ class FiddlerApi:
1282
1282
  with yaml_file.open() as f:
1283
1283
  model_info = ModelInfo.from_dict(yaml.safe_load(f))
1284
1284
 
1285
+ if not model_info.datasets:
1286
+ raise ValueError('Please provide the dataset_id while creating model_info.')
1287
+
1285
1288
  deployment_type = DeploymentType[deployment_type.upper()]
1286
1289
  valid_deployment_types = [DeploymentType.PREDICTOR, DeploymentType.EXECUTOR]
1287
1290
  if deployment_type not in valid_deployment_types:
@@ -14,7 +14,6 @@ class AlertType(str, enum.Enum):
14
14
  DATA_INTEGRITY = 'data_integrity'
15
15
  DATA_DRIFT = 'drift'
16
16
  SERVICE_METRICS = 'service_metrics'
17
- STATISTIC = 'statistic'
18
17
 
19
18
  def __repr__(self) -> str:
20
19
  return f'{self.__class__.__name__}.{self.name}'
@@ -61,9 +60,6 @@ class Metric(str, enum.Enum):
61
60
  ## Service Metrics
62
61
  TRAFFIC = 'Traffic'
63
62
 
64
- ## Statistic
65
- AVERAGE = 'average'
66
-
67
63
  def __repr__(self) -> str:
68
64
  return f'{self.__class__.__name__}.{self.name}'
69
65
 
@@ -1,5 +1,5 @@
1
1
  import enum
2
- from typing import Any, List, Optional
2
+ from typing import Any, List, Optional, Union
3
3
 
4
4
  from pydantic import Field
5
5
 
@@ -46,8 +46,8 @@ class Column(BaseDataSchema):
46
46
  data_type: DataType = Field(alias='data-type')
47
47
  possible_values: Optional[List[Any]] = Field(None, alias='possible-values')
48
48
  is_nullable: Optional[bool] = Field(None, alias='is-nullable')
49
- value_range_min: Optional[float] = Field(None, alias='value-range-min')
50
- value_range_max: Optional[float] = Field(None, alias='value-range-max')
49
+ value_range_min: Optional[Union[int, float]] = Field(None, alias='value-range-min')
50
+ value_range_max: Optional[Union[int, float]] = Field(None, alias='value-range-max')
51
51
 
52
52
  class Config:
53
53
  use_enum_values = True
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fiddler-client
3
- Version: 1.7.0.dev2
3
+ Version: 1.7.0.dev4
4
4
  Summary: Python client for Fiddler Service
5
5
  Home-page: https://fiddler.ai
6
6
  Author: Fiddler Labs
@@ -23,7 +23,7 @@ Requires-Dist: packaging
23
23
  Requires-Dist: pandas (>=1.2.5)
24
24
  Requires-Dist: pip (>=21.0)
25
25
  Requires-Dist: pyarrow (>=3.0.0)
26
- Requires-Dist: pydantic (==1.9.0)
26
+ Requires-Dist: pydantic (>=1.9.0)
27
27
  Requires-Dist: pyyaml
28
28
  Requires-Dist: requests-toolbelt
29
29
  Requires-Dist: requests (<3)
@@ -68,7 +68,7 @@ Version History
68
68
 
69
69
  ### 1.6.2
70
70
  - #### **Modifications**
71
- - Made dataset_id a required field in add_model()
71
+ - Make dataset_id a required field in add_model()
72
72
  - Update max_inferred_cardinality to 100
73
73
  - #### **New Features**
74
74
  - New method for updating a model artifact `update_model_artifact`
@@ -1,13 +1,13 @@
1
1
  fiddler/__init__.py,sha256=Pw9NOznq08J3nmNFvomabwRt-xgj28Q-ve7bZhlgrNc,32528
2
- fiddler/_version.py,sha256=RjVgCy05o0iB-_h-TdwenOn99GZWd5rtdzNR0L6t5WA,27
2
+ fiddler/_version.py,sha256=8onZza00YP733LrBAEFCcPto7B1mxgF5avO7piNrnuU,27
3
3
  fiddler/aws_utils.py,sha256=HlA3YxzvKe5bNiLjhmumrX9qepEy-iCa6Y0DEQ27Ulk,6393
4
4
  fiddler/client.py,sha256=hXrOg000_NBs_dXTtlJbwQKdHoKiMzTZofkVI_jPoA8,5098
5
5
  fiddler/connection.py,sha256=sUtxRsuj5lxxcLBWORJVA6aKI8NXPhYla6b8w0jm3GY,21425
6
6
  fiddler/constants.py,sha256=5JTSLDFOprN0UA-pgGib5bbvcvEIGHeE1bvYNhkVJ-0,354
7
- fiddler/core_objects.py,sha256=HNTViR2r93OaY8WEQ3uEzt_HWXhxE8eoaH34N9a9_mc,128868
7
+ fiddler/core_objects.py,sha256=nb9OrA8Iga7UUpbkb8Ujm4ZQ3EmX-f0X0DrKxO-6GaA,129279
8
8
  fiddler/dataset.py,sha256=Eo6haBPS3Vm8GaTWDMcL1JCuoLsQQ5HgZO9X4WKT5J0,4721
9
9
  fiddler/experimental.py,sha256=aTkC0-Rvvt9GlNDn13Yv8Ihg92AjoSnIf6xbxNbwaY8,16945
10
- fiddler/fiddler_api.py,sha256=S2guuNco04nihYrSEdBQfhzLMSsBnVocDIFMyKhZgTk,81261
10
+ fiddler/fiddler_api.py,sha256=zGiUtMvHxsCLWJq0eXTqNNmg7YjirnvOjtH15eDml8A,81387
11
11
  fiddler/model.py,sha256=li0D12POxOP5oc5nWhmBqc0eEDMpAbdFUeYBbIDAP_Y,15196
12
12
  fiddler/model_info_validator.py,sha256=FN9giSjPYSbNdeFNbUo-i8LHc7sgwTMTPeKuT3pM6TA,6387
13
13
  fiddler/monitoring_validator.py,sha256=t5YECqJQQWfyNhDeqW8ce00MHh544Fhdbk6wIvMQUDM,17870
@@ -63,10 +63,10 @@ fiddler/v2/api/model_deployment_mixin.py,sha256=iZzhotIG3xLCRrui-oylsCtZELN2pj5M
63
63
  fiddler/v2/api/model_mixin.py,sha256=iFwycgyNzCUbVMyTsjTOIPopyB1w9fOJ2bImHbbpIqU,14391
64
64
  fiddler/v2/api/project_mixin.py,sha256=BnjVkV8i6bcsqbfU0IGHm1EwRQ9jMhq6LRFZVFtgMPE,2664
65
65
  fiddler/v2/schema/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
66
- fiddler/v2/schema/alert.py,sha256=UTYAep0dMXtgUqhv7ZnjxenxU62pkQbFSASvvXiG2x8,4560
66
+ fiddler/v2/schema/alert.py,sha256=n83zqc7XkdZ91I4NjszmvONXtcbwuvwdzyUk5WELbg0,4490
67
67
  fiddler/v2/schema/base.py,sha256=3fPJorUMZAaOoMnQBHKVdZBI_eno2-0_xA6s7QDn8fc,346
68
68
  fiddler/v2/schema/baseline.py,sha256=QH3mTpYdqFKKcFvGoeEKBeXjpEqlXR8oQ9Gy6wckYW0,462
69
- fiddler/v2/schema/common.py,sha256=bYBZ4LX_Rnkfw4iFv6V8y-Nag79kDEKrbbXH2kFZkMM,2502
69
+ fiddler/v2/schema/common.py,sha256=cB45sTSw3LcZsQ8iiGrz0Ka_CiprD1xxr477fj4IHec,2533
70
70
  fiddler/v2/schema/dataset.py,sha256=5amJkN_iHJr0BHd9bunuFis1lZoYYP0PjavO81Tk9e8,640
71
71
  fiddler/v2/schema/events.py,sha256=-bngy8u26finzBkuCOLIbomQVSCCPbtANPH-__EP8fQ,885
72
72
  fiddler/v2/schema/job.py,sha256=mDQ3ZevsFT2ZW1wri9BeQSiB7G4ZyoA_3tzuoBvl5ow,157
@@ -85,8 +85,8 @@ fiddler/v2/validators/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3h
85
85
  fiddler/v2/validators/dataset_validator.py,sha256=DHkwymg2KfVmryKmoNHj0GI47AFpYRqT39Z7oDvD4lM,1527
86
86
  tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
87
87
  tests/test_fiddler_api.py,sha256=3wMvk9hlCwVJEsY0xheOrpnyOTBWVVHbPODoI3TZsok,2132
88
- fiddler_client-1.7.0.dev2.dist-info/LICENSE.txt,sha256=w8-LUAb_VLBWSsCNmih0pAqLIicJfGu8OJXpDjkIg_o,559
89
- fiddler_client-1.7.0.dev2.dist-info/METADATA,sha256=MkwJdE3QyK-mD0clp1jmMU1Bs8MGxQDsMOJke_ZkSKc,15784
90
- fiddler_client-1.7.0.dev2.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92
91
- fiddler_client-1.7.0.dev2.dist-info/top_level.txt,sha256=GdJimrE4Q9O20-dA6QljDHm5KBrlz25oQTdbMHu41So,14
92
- fiddler_client-1.7.0.dev2.dist-info/RECORD,,
88
+ fiddler_client-1.7.0.dev4.dist-info/LICENSE.txt,sha256=w8-LUAb_VLBWSsCNmih0pAqLIicJfGu8OJXpDjkIg_o,559
89
+ fiddler_client-1.7.0.dev4.dist-info/METADATA,sha256=5-jnpKxYATgpntf1wcFseu9LwBWVy6HNJQJT-J0fRCI,15784
90
+ fiddler_client-1.7.0.dev4.dist-info/WHEEL,sha256=g4nMs7d-Xl9-xC9XovUrsDHGXt-FT0E17Yqo92DEfvY,92
91
+ fiddler_client-1.7.0.dev4.dist-info/top_level.txt,sha256=GdJimrE4Q9O20-dA6QljDHm5KBrlz25oQTdbMHu41So,14
92
+ fiddler_client-1.7.0.dev4.dist-info/RECORD,,