fiddler-client 3.0.1__tar.gz → 3.0.3__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 (116) hide show
  1. {fiddler-client-3.0.1/fiddler_client.egg-info → fiddler_client-3.0.3}/PKG-INFO +2 -1
  2. fiddler_client-3.0.3/fiddler/VERSION +1 -0
  3. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/webhook.py +18 -0
  4. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/packtools/template_model.py +3 -2
  5. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_webhook.py +57 -0
  6. {fiddler-client-3.0.1 → fiddler_client-3.0.3/fiddler_client.egg-info}/PKG-INFO +2 -1
  7. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler_client.egg-info/requires.txt +1 -0
  8. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/setup.py +1 -0
  9. fiddler-client-3.0.1/fiddler/VERSION +0 -1
  10. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/LICENSE.txt +0 -0
  11. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/MANIFEST.in +0 -0
  12. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/PUBLIC.md +0 -0
  13. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/README.md +0 -0
  14. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/__init__.py +0 -0
  15. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/configs.py +0 -0
  16. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/connection.py +0 -0
  17. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/__init__.py +0 -0
  18. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/alert_rule.py +0 -0
  19. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/baseline.py +0 -0
  20. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/common.py +0 -0
  21. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/dataset.py +0 -0
  22. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/events.py +0 -0
  23. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/job.py +0 -0
  24. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/model.py +0 -0
  25. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/model_deployment.py +0 -0
  26. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/constants/xai.py +0 -0
  27. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/decorators.py +0 -0
  28. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/__init__.py +0 -0
  29. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/alert_record.py +0 -0
  30. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/alert_rule.py +0 -0
  31. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/base.py +0 -0
  32. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/baseline.py +0 -0
  33. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/custom_expression.py +0 -0
  34. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/dataset.py +0 -0
  35. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/events.py +0 -0
  36. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/file.py +0 -0
  37. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/job.py +0 -0
  38. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/model.py +0 -0
  39. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/model_artifact.py +0 -0
  40. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/model_deployment.py +0 -0
  41. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/organization.py +0 -0
  42. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/project.py +0 -0
  43. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/surrogate.py +0 -0
  44. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/user.py +0 -0
  45. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/entities/xai.py +0 -0
  46. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/exceptions.py +0 -0
  47. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/libs/__init__.py +0 -0
  48. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/libs/http_client.py +0 -0
  49. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/libs/json_encoder.py +0 -0
  50. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/libs/semver.py +0 -0
  51. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/packtools/__init__.py +0 -0
  52. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/packtools/gem.py +0 -0
  53. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/packtools/keras_ig_helpers.py +0 -0
  54. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/packtools/project_attributions_helpers.py +0 -0
  55. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/__init__.py +0 -0
  56. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/alert_record.py +0 -0
  57. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/alert_rule.py +0 -0
  58. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/base.py +0 -0
  59. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/baseline.py +0 -0
  60. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/custom_expression.py +0 -0
  61. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/custom_features.py +0 -0
  62. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/dataset.py +0 -0
  63. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/events.py +0 -0
  64. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/file.py +0 -0
  65. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/filter_query.py +0 -0
  66. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/job.py +0 -0
  67. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/model.py +0 -0
  68. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/model_deployment.py +0 -0
  69. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/model_schema.py +0 -0
  70. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/model_spec.py +0 -0
  71. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/model_task_params.py +0 -0
  72. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/organization.py +0 -0
  73. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/project.py +0 -0
  74. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/response.py +0 -0
  75. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/server_info.py +0 -0
  76. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/user.py +0 -0
  77. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/webhook.py +0 -0
  78. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/xai.py +0 -0
  79. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/schemas/xai_params.py +0 -0
  80. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/__init__.py +0 -0
  81. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/__init__.py +0 -0
  82. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_alert_record.py +0 -0
  83. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_alert_rule.py +0 -0
  84. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_baseline.py +0 -0
  85. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_custom_metric.py +0 -0
  86. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_dataset.py +0 -0
  87. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_events.py +0 -0
  88. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_files.py +0 -0
  89. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_generate_model.py +0 -0
  90. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_job.py +0 -0
  91. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_mixin.py +0 -0
  92. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_model.py +0 -0
  93. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_model_artifact.py +0 -0
  94. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_model_deployment.py +0 -0
  95. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_model_surrogate.py +0 -0
  96. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_project.py +0 -0
  97. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_segment.py +0 -0
  98. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/apis/test_xai.py +0 -0
  99. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/conftest.py +0 -0
  100. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/constants.py +0 -0
  101. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/test_connection.py +0 -0
  102. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/test_json_encoder.py +0 -0
  103. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/test_logger.py +0 -0
  104. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/test_utils.py +0 -0
  105. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/tests/utils.py +0 -0
  106. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/utils/__init__.py +0 -0
  107. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/utils/helpers.py +0 -0
  108. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/utils/logger.py +0 -0
  109. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/utils/model_generator.py +0 -0
  110. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/utils/validations.py +0 -0
  111. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/utils/version.py +0 -0
  112. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler/version.py +0 -0
  113. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler_client.egg-info/SOURCES.txt +0 -0
  114. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler_client.egg-info/dependency_links.txt +0 -0
  115. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/fiddler_client.egg-info/top_level.txt +0 -0
  116. {fiddler-client-3.0.1 → fiddler_client-3.0.3}/setup.cfg +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fiddler-client
3
- Version: 3.0.1
3
+ Version: 3.0.3
4
4
  Summary: Python client for Fiddler Platform
5
5
  Home-page: https://fiddler.ai
6
6
  Author: Fiddler Labs
@@ -20,6 +20,7 @@ Requires-Dist: tqdm
20
20
  Requires-Dist: simplejson>=3.17.0
21
21
  Requires-Dist: pyarrow>=7.0.0
22
22
  Requires-Dist: pyyaml
23
+ Requires-Dist: typing-extensions<=4.5.0
23
24
 
24
25
  Fiddler Client
25
26
  =============
@@ -0,0 +1 @@
1
+ 3.0.3
@@ -6,7 +6,9 @@ from uuid import UUID
6
6
 
7
7
  from fiddler.decorators import handle_api_error
8
8
  from fiddler.entities.base import BaseEntity
9
+ from fiddler.schemas.filter_query import OperatorType, QueryCondition, QueryRule
9
10
  from fiddler.schemas.webhook import WebhookProvider, WebhookResp
11
+ from fiddler.utils.helpers import raise_not_found
10
12
 
11
13
 
12
14
  class Webhook(BaseEntity):
@@ -81,6 +83,22 @@ class Webhook(BaseEntity):
81
83
  response = cls._client().get(url=cls._get_url(id_))
82
84
  return cls._from_response(response=response)
83
85
 
86
+ @classmethod
87
+ @handle_api_error
88
+ def from_name(cls, name: str) -> Webhook:
89
+ """Get the webhook instance using webhook name"""
90
+ _filter = QueryCondition(
91
+ rules=[QueryRule(field='name', operator=OperatorType.EQUAL, value=name)]
92
+ )
93
+
94
+ response = cls._client().get(
95
+ url=cls._get_url(), params={'filter': _filter.json()}
96
+ )
97
+ if response.json()['data']['total'] == 0:
98
+ raise_not_found('Webhook not found for the given identifier')
99
+
100
+ return cls._from_dict(data=response.json()['data']['items'][0])
101
+
84
102
  @classmethod
85
103
  @handle_api_error
86
104
  def list(cls) -> Iterator[Webhook]:
@@ -36,7 +36,8 @@ class TemplateKerasTF2Model:
36
36
  :param hybrid: Boolean value for hybrid data type (for example matrices). Default to False.
37
37
  """
38
38
  import tensorflow as tf
39
- from packtools.keras_ig_helpers import ComputeGradientsKerasTF2
39
+
40
+ from fiddler.packtools.keras_ig_helpers import ComputeGradientsKerasTF2
40
41
 
41
42
  embedding_names = embedding_names or []
42
43
  batch_input_shape_list = batch_input_shape_list or []
@@ -197,7 +198,7 @@ class TemplateTreeShap:
197
198
  :return: explanations_by_output and extras_by_output: two dictionaries with keys the output columns and values
198
199
  the corresponding explanations and extra information necessary
199
200
  """
200
- from packtools.project_attributions_helpers import TreeShapAttributions
201
+ from fiddler.packtools.project_attributions_helpers import TreeShapAttributions
201
202
 
202
203
  if explanation_name != self.tree_shap_explanations:
203
204
  raise NotImplementedError(
@@ -48,6 +48,29 @@ API_RESPONSE_404 = {
48
48
  'kind': 'ERROR',
49
49
  }
50
50
 
51
+ API_RESPONSE_FROM_NAME = {
52
+ 'data': {
53
+ 'page_size': 100,
54
+ 'total': 1,
55
+ 'item_count': 1,
56
+ 'page_count': 1,
57
+ 'page_index': 1,
58
+ 'offset': 0,
59
+ 'items': [
60
+ {
61
+ 'id': 1,
62
+ 'uuid': WEBHOOK_ID,
63
+ 'name': WEBHOOK_NAME,
64
+ 'url': WEBHOOK_URL,
65
+ 'provider': WEBHOOK_PROVIDER,
66
+ 'created_at': '2024-04-30T13:38:08.408013+00:00',
67
+ 'updated_at': '2024-04-30T13:38:08.408013+00:00',
68
+ 'organization_name': ORG_NAME,
69
+ }
70
+ ],
71
+ }
72
+ }
73
+
51
74
  LIST_API_RESPONSE = {
52
75
  'data': {
53
76
  'page_size': 100,
@@ -124,6 +147,40 @@ def test_get_webhook_not_found() -> None:
124
147
  Webhook.get(id_=webhook_id)
125
148
 
126
149
 
150
+ @responses.activate
151
+ def test_webhook_from_name_success() -> None:
152
+ params = {
153
+ 'filter': '{"condition": "AND", "rules": [{"field": "name", "operator": "equal", "value": "test_webhook_config_name"}]}'
154
+ }
155
+ responses.get(
156
+ url=f'{URL}/v2/webhooks',
157
+ json=API_RESPONSE_FROM_NAME,
158
+ match=[responses.matchers.query_param_matcher(params)],
159
+ )
160
+ webhook = Webhook.from_name(name=WEBHOOK_NAME)
161
+ assert isinstance(webhook, Webhook)
162
+
163
+
164
+ @responses.activate
165
+ def test_webhook_from_name_not_found() -> None:
166
+ resp = API_RESPONSE_FROM_NAME.copy()
167
+ resp['data']['total'] = 0
168
+ resp['data']['item_count'] = 0
169
+ resp['data']['items'] = []
170
+
171
+ params = {
172
+ 'filter': '{"condition": "AND", "rules": [{"field": "name", "operator": "equal", "value": "test_webhook_config_name"}]}'
173
+ }
174
+ responses.get(
175
+ url=f'{URL}/v2/webhooks',
176
+ json=resp,
177
+ match=[responses.matchers.query_param_matcher(params)],
178
+ )
179
+
180
+ with pytest.raises(NotFound):
181
+ Webhook.from_name(name=WEBHOOK_NAME)
182
+
183
+
127
184
  @responses.activate
128
185
  def test_webhook_list_success() -> None:
129
186
  responses.get(
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fiddler-client
3
- Version: 3.0.1
3
+ Version: 3.0.3
4
4
  Summary: Python client for Fiddler Platform
5
5
  Home-page: https://fiddler.ai
6
6
  Author: Fiddler Labs
@@ -20,6 +20,7 @@ Requires-Dist: tqdm
20
20
  Requires-Dist: simplejson>=3.17.0
21
21
  Requires-Dist: pyarrow>=7.0.0
22
22
  Requires-Dist: pyyaml
23
+ Requires-Dist: typing-extensions<=4.5.0
23
24
 
24
25
  Fiddler Client
25
26
  =============
@@ -8,3 +8,4 @@ tqdm
8
8
  simplejson>=3.17.0
9
9
  pyarrow>=7.0.0
10
10
  pyyaml
11
+ typing-extensions<=4.5.0
@@ -31,6 +31,7 @@ setuptools.setup(
31
31
  'simplejson>=3.17.0',
32
32
  'pyarrow>=7.0.0',
33
33
  'pyyaml',
34
+ 'typing-extensions<=4.5.0',
34
35
  ],
35
36
  classifiers=[
36
37
  'Programming Language :: Python :: 3',
@@ -1 +0,0 @@
1
- 3.0.1
File without changes
File without changes
File without changes