fiddler-client 3.0.0.dev4__tar.gz → 3.0.0.dev5__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.0.dev4/fiddler_client.egg-info → fiddler-client-3.0.0.dev5}/PKG-INFO +1 -1
  2. fiddler-client-3.0.0.dev5/fiddler/VERSION +1 -0
  3. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/constants/common.py +0 -1
  4. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/file.py +5 -8
  5. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/model_artifact.py +8 -11
  6. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/libs/http_client.py +10 -32
  7. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5/fiddler_client.egg-info}/PKG-INFO +1 -1
  8. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler_client.egg-info/SOURCES.txt +0 -1
  9. fiddler-client-3.0.0.dev4/fiddler/VERSION +0 -1
  10. fiddler-client-3.0.0.dev4/fiddler/_version.py +0 -1
  11. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/LICENSE.txt +0 -0
  12. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/MANIFEST.in +0 -0
  13. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/PUBLIC.md +0 -0
  14. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/README.md +0 -0
  15. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/__init__.py +0 -0
  16. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/configs.py +0 -0
  17. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/connection.py +0 -0
  18. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/constants/__init__.py +0 -0
  19. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/constants/alert_rule.py +0 -0
  20. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/constants/baseline.py +0 -0
  21. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/constants/dataset.py +0 -0
  22. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/constants/events.py +0 -0
  23. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/constants/job.py +0 -0
  24. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/constants/model.py +0 -0
  25. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/constants/model_deployment.py +0 -0
  26. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/constants/xai.py +0 -0
  27. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/decorators.py +0 -0
  28. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/__init__.py +0 -0
  29. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/alert_record.py +0 -0
  30. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/alert_rule.py +0 -0
  31. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/base.py +0 -0
  32. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/baseline.py +0 -0
  33. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/custom_metric.py +0 -0
  34. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/dataset.py +0 -0
  35. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/events.py +0 -0
  36. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/job.py +0 -0
  37. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/model.py +0 -0
  38. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/model_deployment.py +0 -0
  39. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/organization.py +0 -0
  40. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/project.py +0 -0
  41. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/surrogate.py +0 -0
  42. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/user.py +0 -0
  43. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/webhook.py +0 -0
  44. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/entities/xai.py +0 -0
  45. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/exceptions.py +0 -0
  46. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/libs/__init__.py +0 -0
  47. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/libs/json_encoder.py +0 -0
  48. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/libs/semver.py +0 -0
  49. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/packtools/__init__.py +0 -0
  50. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/packtools/gem.py +0 -0
  51. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/packtools/keras_ig_helpers.py +0 -0
  52. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/packtools/project_attributions_helpers.py +0 -0
  53. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/packtools/template_model.py +0 -0
  54. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/__init__.py +0 -0
  55. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/alert_record.py +0 -0
  56. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/alert_rule.py +0 -0
  57. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/base.py +0 -0
  58. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/baseline.py +0 -0
  59. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/custom_features.py +0 -0
  60. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/custom_metric.py +0 -0
  61. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/dataset.py +0 -0
  62. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/events.py +0 -0
  63. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/file.py +0 -0
  64. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/filter_query.py +0 -0
  65. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/job.py +0 -0
  66. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/model.py +0 -0
  67. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/model_deployment.py +0 -0
  68. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/model_schema.py +0 -0
  69. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/model_spec.py +0 -0
  70. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/model_task_params.py +0 -0
  71. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/organization.py +0 -0
  72. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/project.py +0 -0
  73. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/response.py +0 -0
  74. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/server_info.py +0 -0
  75. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/user.py +0 -0
  76. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/webhook.py +0 -0
  77. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/xai.py +0 -0
  78. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/schemas/xai_params.py +0 -0
  79. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/__init__.py +0 -0
  80. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/__init__.py +0 -0
  81. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_alert_record.py +0 -0
  82. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_alert_rule.py +0 -0
  83. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_baseline.py +0 -0
  84. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_custom_metric.py +0 -0
  85. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_dataset.py +0 -0
  86. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_events.py +0 -0
  87. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_files.py +0 -0
  88. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_generate_model.py +0 -0
  89. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_job.py +0 -0
  90. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_mixin.py +0 -0
  91. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_model.py +0 -0
  92. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_model_artifact.py +0 -0
  93. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_model_deployment.py +0 -0
  94. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_model_surrogate.py +0 -0
  95. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_project.py +0 -0
  96. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_webhook.py +0 -0
  97. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/apis/test_xai.py +0 -0
  98. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/conftest.py +0 -0
  99. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/constants.py +0 -0
  100. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/test_connection.py +0 -0
  101. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/test_json_encoder.py +0 -0
  102. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/test_logger.py +0 -0
  103. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/test_utils.py +0 -0
  104. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/tests/utils.py +0 -0
  105. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/utils/__init__.py +0 -0
  106. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/utils/helpers.py +0 -0
  107. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/utils/logger.py +0 -0
  108. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/utils/model_generator.py +0 -0
  109. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/utils/validations.py +0 -0
  110. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/utils/version.py +0 -0
  111. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler/version.py +0 -0
  112. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler_client.egg-info/dependency_links.txt +0 -0
  113. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler_client.egg-info/requires.txt +0 -0
  114. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/fiddler_client.egg-info/top_level.txt +0 -0
  115. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/setup.cfg +0 -0
  116. {fiddler-client-3.0.0.dev4 → fiddler-client-3.0.0.dev5}/setup.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fiddler-client
3
- Version: 3.0.0.dev4
3
+ Version: 3.0.0.dev5
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.0.0.dev5
@@ -11,5 +11,4 @@ CONTENT_TYPE_OCTET_STREAM = 'application/octet-stream'
11
11
  CONTENT_TYPE_OCTET_STREAM_HEADER = {CONTENT_TYPE_HEADER_KEY: CONTENT_TYPE_OCTET_STREAM}
12
12
 
13
13
  # Multi-part upload
14
- MULTI_PART_UPLOAD_SIZE_THRESHOLD = 5 * 1024 * 1024 # 5MB in bytes
15
14
  MULTI_PART_CHUNK_SIZE = 100 * 1024 * 1024 # 100MB in bytes
@@ -8,7 +8,6 @@ from typing import Any
8
8
  from uuid import UUID
9
9
 
10
10
  from requests import Response
11
- from requests_toolbelt import MultipartEncoder
12
11
 
13
12
  from fiddler.constants.common import MULTI_PART_CHUNK_SIZE
14
13
  from fiddler.decorators import handle_api_error
@@ -74,14 +73,12 @@ class File(BaseEntity, CreatedByMixin, UpdatedByMixin):
74
73
  @handle_api_error
75
74
  def single_upload(self) -> File:
76
75
  """Single part file upload"""
77
- with open(self.path, 'rb') as f:
78
- multipart_data = MultipartEncoder(fields={'file': (self.name, f)})
79
76
 
80
- response = self._client().post(
81
- url='/v3/files/upload',
82
- data=multipart_data,
83
- headers={'Content-Type': multipart_data.content_type},
84
- )
77
+ response = self._client().post(
78
+ url='/v3/files/upload',
79
+ files={'file': (self.name, open(self.path, 'rb'))},
80
+ headers={'Content-Type': None},
81
+ )
85
82
 
86
83
  self._refresh_from_response(response)
87
84
  return self
@@ -58,25 +58,22 @@ class ModelArtifact(ConnectionMixin):
58
58
  self.model_id,
59
59
  model_dir,
60
60
  )
61
- tar_file_base_name = Path(tmp) / 'model'
62
- tar_file_path = f'{str(tar_file_base_name)}.tar.gz'
63
-
64
- _file_path = shutil.make_archive(
65
- base_name=str(tar_file_base_name),
66
- format='tar',
67
- root_dir=model_dir,
61
+ file_path = shutil.make_archive(
62
+ base_name=str(Path(tmp) / 'files'),
63
+ format='gztar',
64
+ root_dir=str(model_dir),
68
65
  base_dir='.',
69
66
  )
70
- os.rename(src=_file_path, dst=tar_file_path)
71
67
 
72
68
  logger.info(
73
- 'Model[%s] - Model artifact tar file created at %s',
69
+ 'Model[%s] - Model artifact tar file created at %s - %d bytes',
74
70
  self.model_id,
75
- tar_file_path,
71
+ file_path,
72
+ os.path.getsize(file_path),
76
73
  )
77
74
 
78
75
  # Upload file
79
- file = File(path=tar_file_path).upload()
76
+ file = File(path=file_path).upload()
80
77
 
81
78
  # Deploy artifact
82
79
  assert file.id is not None
@@ -7,7 +7,6 @@ from urllib.parse import urljoin
7
7
  import requests
8
8
  import simplejson
9
9
  from requests.adapters import HTTPAdapter
10
- from requests_toolbelt.multipart.encoder import MultipartEncoder
11
10
 
12
11
  from fiddler.constants.common import JSON_CONTENT_TYPE
13
12
  from fiddler.exceptions import ( # pylint: disable=redefined-builtin
@@ -51,7 +50,6 @@ class RequestClient:
51
50
  headers: dict | None = None,
52
51
  data: dict | bytes | None = None,
53
52
  timeout: int | None = None,
54
- files_encoders: dict[str, MultipartEncoder] | None = None,
55
53
  **kwargs: Any,
56
54
  ) -> requests.Response:
57
55
  """
@@ -63,9 +61,6 @@ class RequestClient:
63
61
  :param headers: Request headers
64
62
  :param data: Dict/binary data
65
63
  :param timeout: Request timeout in seconds
66
- :param files_encoders: Dictionary of 'filename': file-like-objects
67
- for multipart encoding upload. Make sure all MultipartEncoder values have
68
- same content_type.
69
64
  """
70
65
  logger.debug('Making %s call to %s', method, url)
71
66
 
@@ -87,31 +82,16 @@ class RequestClient:
87
82
  # So setting that as default here
88
83
  kwargs.setdefault('verify', self.session.verify)
89
84
  try:
90
- if files_encoders:
91
- encoders = list(files_encoders.values())
92
- if encoders:
93
- request_headers['Content-Type'] = encoders[0].content_type
94
- response = self.session.request(
95
- method,
96
- full_url,
97
- params=params,
98
- files=files_encoders,
99
- headers=request_headers,
100
- timeout=timeout,
101
- proxies=self.proxies,
102
- **kwargs,
103
- )
104
- else:
105
- response = self.session.request(
106
- method,
107
- full_url,
108
- params=params,
109
- data=data,
110
- headers=request_headers,
111
- timeout=timeout,
112
- proxies=self.proxies,
113
- **kwargs,
114
- )
85
+ response = self.session.request(
86
+ method,
87
+ full_url,
88
+ params=params,
89
+ data=data,
90
+ headers=request_headers,
91
+ timeout=timeout,
92
+ proxies=self.proxies,
93
+ **kwargs,
94
+ )
115
95
 
116
96
  except requests.Timeout as exc:
117
97
  logger.error('%s call failed with Timeout error for URL %s', method, url)
@@ -173,7 +153,6 @@ class RequestClient:
173
153
  headers: dict | None = None,
174
154
  timeout: int | None = None,
175
155
  data: dict | bytes | None = None,
176
- files_encoders: dict[str, MultipartEncoder] | None = None,
177
156
  **kwargs: dict[str, Any],
178
157
  ) -> requests.Response:
179
158
  """Construct a post request instance."""
@@ -184,7 +163,6 @@ class RequestClient:
184
163
  headers=headers,
185
164
  timeout=timeout,
186
165
  data=data,
187
- files_encoders=files_encoders,
188
166
  **kwargs,
189
167
  )
190
168
 
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: fiddler-client
3
- Version: 3.0.0.dev4
3
+ Version: 3.0.0.dev5
4
4
  Summary: Python client for Fiddler Platform
5
5
  Home-page: https://fiddler.ai
6
6
  Author: Fiddler Labs
@@ -5,7 +5,6 @@ README.md
5
5
  setup.py
6
6
  fiddler/VERSION
7
7
  fiddler/__init__.py
8
- fiddler/_version.py
9
8
  fiddler/configs.py
10
9
  fiddler/connection.py
11
10
  fiddler/decorators.py
@@ -1 +0,0 @@
1
- 3.0.0.dev4
@@ -1 +0,0 @@
1
- __version__ = '3.0.0.dev4'