fiddler-client 3.8.0__tar.gz → 3.8.1__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.
Files changed (119) hide show
  1. {fiddler-client-3.8.0/fiddler_client.egg-info → fiddler-client-3.8.1}/PKG-INFO +1 -1
  2. fiddler-client-3.8.1/fiddler/VERSION +1 -0
  3. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/alert_rule.py +4 -0
  4. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/alert_rule.py +1 -0
  5. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_alert_rule.py +49 -23
  6. {fiddler-client-3.8.0 → fiddler-client-3.8.1/fiddler_client.egg-info}/PKG-INFO +1 -1
  7. fiddler-client-3.8.0/fiddler/VERSION +0 -1
  8. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/LICENSE.txt +0 -0
  9. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/MANIFEST.in +0 -0
  10. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/PUBLIC.md +0 -0
  11. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/README.md +0 -0
  12. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/__init__.py +0 -0
  13. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/configs.py +0 -0
  14. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/connection.py +0 -0
  15. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/constants/__init__.py +0 -0
  16. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/constants/alert_rule.py +0 -0
  17. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/constants/baseline.py +0 -0
  18. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/constants/common.py +0 -0
  19. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/constants/dataset.py +0 -0
  20. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/constants/events.py +0 -0
  21. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/constants/job.py +0 -0
  22. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/constants/model.py +0 -0
  23. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/constants/model_deployment.py +0 -0
  24. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/constants/xai.py +0 -0
  25. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/decorators.py +0 -0
  26. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/__init__.py +0 -0
  27. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/alert_record.py +0 -0
  28. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/base.py +0 -0
  29. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/baseline.py +0 -0
  30. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/custom_expression.py +0 -0
  31. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/dataset.py +0 -0
  32. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/events.py +0 -0
  33. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/file.py +0 -0
  34. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/job.py +0 -0
  35. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/model.py +0 -0
  36. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/model_artifact.py +0 -0
  37. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/model_deployment.py +0 -0
  38. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/organization.py +0 -0
  39. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/project.py +0 -0
  40. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/surrogate.py +0 -0
  41. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/user.py +0 -0
  42. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/webhook.py +0 -0
  43. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/entities/xai.py +0 -0
  44. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/exceptions.py +0 -0
  45. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/libs/__init__.py +0 -0
  46. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/libs/aws.py +0 -0
  47. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/libs/http_client.py +0 -0
  48. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/libs/json_encoder.py +0 -0
  49. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/libs/semver.py +0 -0
  50. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/packtools/__init__.py +0 -0
  51. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/packtools/gem.py +0 -0
  52. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/packtools/keras_ig_helpers.py +0 -0
  53. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/packtools/project_attributions_helpers.py +0 -0
  54. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/packtools/template_model.py +0 -0
  55. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/__init__.py +0 -0
  56. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/alert_record.py +0 -0
  57. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/base.py +0 -0
  58. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/baseline.py +0 -0
  59. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/custom_expression.py +0 -0
  60. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/custom_features.py +0 -0
  61. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/dataset.py +0 -0
  62. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/events.py +0 -0
  63. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/file.py +0 -0
  64. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/filter_query.py +0 -0
  65. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/job.py +0 -0
  66. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/model.py +0 -0
  67. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/model_deployment.py +0 -0
  68. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/model_schema.py +0 -0
  69. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/model_spec.py +0 -0
  70. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/model_task_params.py +0 -0
  71. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/organization.py +0 -0
  72. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/project.py +0 -0
  73. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/response.py +0 -0
  74. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/server_info.py +0 -0
  75. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/user.py +0 -0
  76. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/webhook.py +0 -0
  77. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/xai.py +0 -0
  78. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/schemas/xai_params.py +0 -0
  79. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/__init__.py +0 -0
  80. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/__init__.py +0 -0
  81. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_alert_record.py +0 -0
  82. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_baseline.py +0 -0
  83. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_custom_metric.py +0 -0
  84. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_dataset.py +0 -0
  85. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_events.py +0 -0
  86. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_files.py +0 -0
  87. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_generate_model.py +0 -0
  88. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_job.py +0 -0
  89. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_mixin.py +0 -0
  90. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_model.py +0 -0
  91. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_model_artifact.py +0 -0
  92. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_model_deployment.py +0 -0
  93. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_model_surrogate.py +0 -0
  94. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_project.py +0 -0
  95. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_segment.py +0 -0
  96. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_webhook.py +0 -0
  97. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/apis/test_xai.py +0 -0
  98. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/conftest.py +0 -0
  99. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/constants.py +0 -0
  100. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/test_connection.py +0 -0
  101. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/test_json_encoder.py +0 -0
  102. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/test_logger.py +0 -0
  103. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/test_sagemaker_auth.py +0 -0
  104. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/test_utils.py +0 -0
  105. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/tests/utils.py +0 -0
  106. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/utils/__init__.py +0 -0
  107. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/utils/decorators.py +0 -0
  108. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/utils/helpers.py +0 -0
  109. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/utils/logger.py +0 -0
  110. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/utils/model_generator.py +0 -0
  111. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/utils/validations.py +0 -0
  112. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/utils/version.py +0 -0
  113. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler/version.py +0 -0
  114. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler_client.egg-info/SOURCES.txt +0 -0
  115. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler_client.egg-info/dependency_links.txt +0 -0
  116. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler_client.egg-info/requires.txt +0 -0
  117. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/fiddler_client.egg-info/top_level.txt +0 -0
  118. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/setup.cfg +0 -0
  119. {fiddler-client-3.8.0 → fiddler-client-3.8.1}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fiddler-client
3
- Version: 3.8.0
3
+ Version: 3.8.1
4
4
  Summary: Python client for Fiddler Platform
5
5
  Home-page: https://fiddler.ai
6
6
  Author: Fiddler Labs
@@ -0,0 +1 @@
1
+ 3.8.1
@@ -48,6 +48,7 @@ class AlertRule(
48
48
  segment_id: UUID | str | None = None,
49
49
  compare_bin_delta: int | None = None,
50
50
  evaluation_delay: int = 0,
51
+ category: str | None = None,
51
52
  ) -> None:
52
53
  """Construct a alert rule instance."""
53
54
  self.name = name
@@ -65,6 +66,7 @@ class AlertRule(
65
66
  self.condition = condition
66
67
  self.bin_size = bin_size
67
68
  self.segment_id = segment_id
69
+ self.category = category
68
70
 
69
71
  self.id: UUID | None = None
70
72
  self.project_id: UUID | None = None
@@ -110,6 +112,7 @@ class AlertRule(
110
112
  segment_id=resp_obj.segment.id if resp_obj.segment else None,
111
113
  compare_bin_delta=resp_obj.compare_bin_delta,
112
114
  evaluation_delay=resp_obj.evaluation_delay,
115
+ category=resp_obj.category
113
116
  )
114
117
 
115
118
  # Add remaining fields
@@ -240,6 +243,7 @@ class AlertRule(
240
243
  'feature_names': self.columns,
241
244
  'compare_bin_delta': self.compare_bin_delta,
242
245
  'evaluation_delay': self.evaluation_delay,
246
+ 'category': self.category,
243
247
  }
244
248
  if self.baseline_id:
245
249
  payload['baseline_id'] = self.baseline_id
@@ -38,6 +38,7 @@ class AlertRuleResp(BaseModel):
38
38
  threshold_type: Union[str, AlertThresholdAlgo]
39
39
  critical_threshold: Optional[float]
40
40
  warning_threshold: Optional[float]
41
+ category: Optional[str]
41
42
 
42
43
  created_at: datetime
43
44
  updated_at: datetime
@@ -18,10 +18,6 @@ from fiddler.constants.alert_rule import (
18
18
  from fiddler.entities.alert_rule import AlertRule
19
19
  from fiddler.exceptions import NotFound
20
20
  from fiddler.schemas.alert_rule import NotificationConfig
21
- from fiddler.tests.apis.test_baseline import (
22
- API_RESPONSE_200 as BASELINE_API_RESPONSE_200,
23
- )
24
- from fiddler.tests.apis.test_model import API_RESPONSE_200 as MODEL_API_RESPONSE_200
25
21
  from fiddler.tests.constants import (
26
22
  ALERT_RULE_ID,
27
23
  BASELINE_ID,
@@ -258,22 +254,14 @@ def test_delete_alert_rule_not_found() -> None:
258
254
 
259
255
 
260
256
  @responses.activate
261
- def test_add_alert_rule_success(mocker) -> None:
262
- responses.get(
263
- url=f'{URL}/v3/models/{MODEL_ID}',
264
- json=MODEL_API_RESPONSE_200,
265
- )
266
- responses.get(
267
- url=f'{URL}/v3/baselines/{BASELINE_ID}',
268
- json=BASELINE_API_RESPONSE_200,
269
- )
257
+ def test_add_alert_rule_success_manual_thresholds(mocker) -> None:
270
258
  responses.post(
271
259
  url=f'{URL}/v3/alert-rules',
272
260
  json=API_RESPONSE_200,
273
261
  )
274
262
 
275
263
  # Test with manual threshold
276
- alert_rule_manual_threshold = AlertRule(
264
+ alert_rule_1 = AlertRule(
277
265
  name='alert_name',
278
266
  model_id=MODEL_ID,
279
267
  metric_id='drift',
@@ -288,16 +276,54 @@ def test_add_alert_rule_success(mocker) -> None:
288
276
  evaluation_delay=10,
289
277
  ).create()
290
278
 
291
- assert isinstance(alert_rule_manual_threshold, AlertRule)
292
- assert alert_rule_manual_threshold.id == UUID(ALERT_RULE_ID)
293
- assert alert_rule_manual_threshold.model.id == UUID(MODEL_ID)
294
- assert alert_rule_manual_threshold.project_id == UUID(PROJECT_ID)
295
- assert alert_rule_manual_threshold.evaluation_delay == 10
296
- assert alert_rule_manual_threshold.threshold_type == AlertThresholdAlgo.MANUAL.value
297
- assert alert_rule_manual_threshold.critical_threshold == 2.0
298
- assert alert_rule_manual_threshold.warning_threshold == 1.0
279
+ assert isinstance(alert_rule_1, AlertRule)
280
+ assert alert_rule_1.id == UUID(ALERT_RULE_ID)
281
+ assert alert_rule_1.model.id == UUID(MODEL_ID)
282
+ assert alert_rule_1.project_id == UUID(PROJECT_ID)
283
+ assert alert_rule_1.evaluation_delay == 10
284
+ assert alert_rule_1.threshold_type == AlertThresholdAlgo.MANUAL.value
285
+ assert alert_rule_1.critical_threshold == 2.0
286
+ assert alert_rule_1.warning_threshold == 1.0
299
287
 
300
- # Test with auto threshold
288
+ # create one alert rule with category field
289
+ mocker.patch.dict(
290
+ API_RESPONSE_200['data'],
291
+ {
292
+ 'metric_id': 'frequency',
293
+ 'feature_names': ['geography'],
294
+ 'category': 'France',
295
+ },
296
+ )
297
+ alert_rule_2 = AlertRule(
298
+ name='alert_name',
299
+ model_id=MODEL_ID,
300
+ metric_id='frequency',
301
+ priority=Priority.HIGH,
302
+ compare_to=CompareTo.RAW_VALUE,
303
+ condition=AlertCondition.GREATER,
304
+ bin_size=BinSize.HOUR,
305
+ threshold_type=AlertThresholdAlgo.MANUAL.value,
306
+ critical_threshold=2.0,
307
+ warning_threshold=1.0,
308
+ evaluation_delay=10,
309
+ columns=['geography'],
310
+ category='France',
311
+ ).create()
312
+
313
+ assert isinstance(alert_rule_2, AlertRule)
314
+ assert alert_rule_2.id == UUID(ALERT_RULE_ID)
315
+ assert alert_rule_2.model.id == UUID(MODEL_ID)
316
+ assert alert_rule_2.project_id == UUID(PROJECT_ID)
317
+ assert alert_rule_2.evaluation_delay == 10
318
+ assert alert_rule_2.threshold_type == AlertThresholdAlgo.MANUAL.value
319
+ assert alert_rule_2.critical_threshold == 2.0
320
+ assert alert_rule_2.warning_threshold == 1.0
321
+ assert alert_rule_2.columns == ['geography']
322
+ assert alert_rule_2.category == 'France'
323
+
324
+
325
+ @responses.activate
326
+ def test_add_alert_rule_success_auto_thresholds(mocker) -> None:
301
327
  mocker.patch.dict(
302
328
  API_RESPONSE_200['data'],
303
329
  {
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fiddler-client
3
- Version: 3.8.0
3
+ Version: 3.8.1
4
4
  Summary: Python client for Fiddler Platform
5
5
  Home-page: https://fiddler.ai
6
6
  Author: Fiddler Labs
@@ -1 +0,0 @@
1
- 3.8.0
File without changes
File without changes
File without changes
File without changes