arize 8.0.0a3__tar.gz → 8.0.0a4__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 (115) hide show
  1. {arize-8.0.0a3 → arize-8.0.0a4}/PKG-INFO +156 -8
  2. {arize-8.0.0a3 → arize-8.0.0a4}/README.md +155 -7
  3. arize-8.0.0a4/src/arize/version.py +1 -0
  4. arize-8.0.0a3/src/arize/version.py +0 -1
  5. {arize-8.0.0a3 → arize-8.0.0a4}/.gitignore +0 -0
  6. {arize-8.0.0a3 → arize-8.0.0a4}/LICENSE.md +0 -0
  7. {arize-8.0.0a3 → arize-8.0.0a4}/pyproject.toml +0 -0
  8. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/__init__.py +0 -0
  9. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_exporter/__init__.py +0 -0
  10. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_exporter/client.py +0 -0
  11. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_exporter/parsers/__init__.py +0 -0
  12. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_exporter/parsers/tracing_data_parser.py +0 -0
  13. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_exporter/validation.py +0 -0
  14. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_flight/__init__.py +0 -0
  15. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_flight/client.py +0 -0
  16. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_flight/types.py +0 -0
  17. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/__init__.py +0 -0
  18. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/__init__.py +0 -0
  19. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/api/__init__.py +0 -0
  20. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/api/datasets_api.py +0 -0
  21. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/api/experiments_api.py +0 -0
  22. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/api_client.py +0 -0
  23. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/api_response.py +0 -0
  24. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/configuration.py +0 -0
  25. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/exceptions.py +0 -0
  26. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/models/__init__.py +0 -0
  27. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/models/dataset.py +0 -0
  28. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/models/dataset_version.py +0 -0
  29. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/models/datasets_create201_response.py +0 -0
  30. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/models/datasets_create_request.py +0 -0
  31. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/models/datasets_list200_response.py +0 -0
  32. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/models/datasets_list_examples200_response.py +0 -0
  33. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/models/error.py +0 -0
  34. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/models/experiment.py +0 -0
  35. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/models/experiments_list200_response.py +0 -0
  36. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/rest.py +0 -0
  37. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/test/__init__.py +0 -0
  38. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/test/test_dataset.py +0 -0
  39. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/test/test_dataset_version.py +0 -0
  40. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/test/test_datasets_api.py +0 -0
  41. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/test/test_datasets_create201_response.py +0 -0
  42. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/test/test_datasets_create_request.py +0 -0
  43. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/test/test_datasets_list200_response.py +0 -0
  44. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/test/test_datasets_list_examples200_response.py +0 -0
  45. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/test/test_error.py +0 -0
  46. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/test/test_experiment.py +0 -0
  47. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/test/test_experiments_api.py +0 -0
  48. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client/test/test_experiments_list200_response.py +0 -0
  49. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/api_client_README.md +0 -0
  50. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/protocol/__init__.py +0 -0
  51. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/protocol/flight/__init__.py +0 -0
  52. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/protocol/flight/export_pb2.py +0 -0
  53. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/protocol/flight/ingest_pb2.py +0 -0
  54. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/protocol/rec/__init__.py +0 -0
  55. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_generated/protocol/rec/public_pb2.py +0 -0
  56. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/_lazy.py +0 -0
  57. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/client.py +0 -0
  58. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/config.py +0 -0
  59. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/constants/__init__.py +0 -0
  60. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/constants/config.py +0 -0
  61. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/constants/ml.py +0 -0
  62. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/constants/model_mapping.json +0 -0
  63. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/constants/spans.py +0 -0
  64. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/datasets/__init__.py +0 -0
  65. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/datasets/client.py +0 -0
  66. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/exceptions/__init__.py +0 -0
  67. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/exceptions/auth.py +0 -0
  68. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/exceptions/base.py +0 -0
  69. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/exceptions/models.py +0 -0
  70. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/exceptions/parameters.py +0 -0
  71. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/exceptions/spaces.py +0 -0
  72. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/exceptions/types.py +0 -0
  73. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/exceptions/values.py +0 -0
  74. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/experiments/__init__.py +0 -0
  75. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/experiments/client.py +0 -0
  76. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/logging.py +0 -0
  77. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/models/__init__.py +0 -0
  78. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/models/batch_validation/__init__.py +0 -0
  79. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/models/batch_validation/errors.py +0 -0
  80. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/models/batch_validation/validator.py +0 -0
  81. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/models/bounded_executor.py +0 -0
  82. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/models/client.py +0 -0
  83. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/models/stream_validation.py +0 -0
  84. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/__init__.py +0 -0
  85. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/client.py +0 -0
  86. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/columns.py +0 -0
  87. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/conversion.py +0 -0
  88. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/__init__.py +0 -0
  89. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/annotations/__init__.py +0 -0
  90. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/annotations/annotations_validation.py +0 -0
  91. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/annotations/dataframe_form_validation.py +0 -0
  92. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/annotations/value_validation.py +0 -0
  93. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/common/__init__.py +0 -0
  94. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/common/argument_validation.py +0 -0
  95. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/common/dataframe_form_validation.py +0 -0
  96. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/common/errors.py +0 -0
  97. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/common/value_validation.py +0 -0
  98. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/evals/__init__.py +0 -0
  99. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/evals/dataframe_form_validation.py +0 -0
  100. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/evals/evals_validation.py +0 -0
  101. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/evals/value_validation.py +0 -0
  102. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/metadata/__init__.py +0 -0
  103. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/metadata/argument_validation.py +0 -0
  104. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/metadata/dataframe_form_validation.py +0 -0
  105. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/metadata/value_validation.py +0 -0
  106. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/spans/__init__.py +0 -0
  107. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/spans/dataframe_form_validation.py +0 -0
  108. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/spans/spans_validation.py +0 -0
  109. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/spans/validation/spans/value_validation.py +0 -0
  110. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/types.py +0 -0
  111. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/utils/__init__.py +0 -0
  112. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/utils/arrow.py +0 -0
  113. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/utils/casting.py +0 -0
  114. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/utils/dataframe.py +0 -0
  115. {arize-8.0.0a3 → arize-8.0.0a4}/src/arize/utils/proto.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: arize
3
- Version: 8.0.0a3
3
+ Version: 8.0.0a4
4
4
  Summary: A helper library to interact with Arize AI APIs
5
5
  Project-URL: Homepage, https://arize.com
6
6
  Project-URL: Documentation, https://docs.arize.com/arize
@@ -120,13 +120,14 @@ tracer_provider = register(
120
120
  OpenAIInstrumentor().instrument(tracer_provider=tracer_provider)
121
121
  ```
122
122
 
123
-
124
- ### Logging Spans, Evaluations, and Annotations
123
+ ### Operations on Spans
125
124
 
126
125
  Use `arize.spans` to interact with spans: log spans into Arize, update the span's evaluations, annotations and metadata in bulk.
127
126
 
128
127
  > **WARNING**: This is currently under an alpha release. Install with `pip install arize==8.0.0ax` where the `x` denotes the specific alpha version. Check the [pre-releases](https://pypi.org/project/arize/#history) page in PyPI.
129
128
 
129
+ #### Logging spans
130
+
130
131
  ```python
131
132
  from arize import ArizeClient
132
133
 
@@ -138,22 +139,169 @@ client.spans.log(
138
139
  space_id=SPACE_ID,
139
140
  project_name=PROJECT_NAME,
140
141
  dataframe=spans_df,
141
- evals_df=evals_df, # Optionally pass the evaluations together with the spans
142
+ # evals_df=evals_df, # Optionally pass the evaluations together with the spans
142
143
  )
144
+ ```
145
+
146
+ #### Update spans Evaluations, Annotations, and Metadata
147
+
148
+ ```python
149
+ from arize import ArizeClient
150
+
151
+ client = ArizeClient(api_key=API_KEY)
152
+ SPACE_ID = "<your-space-id>"
153
+ PROJECT_NAME = "<your-project-name>"
143
154
 
144
155
  client.spans.update_evaluations(
156
+ space_id=SPACE_ID,
157
+ project_name=PROJECT_NAME,
145
158
  dataframe=evals_df,
146
- project_name="your-llm-project",
159
+ # force_http=... # Optionally pass force_http to update evaluations via HTTP instead of gRPC, defaults to False
147
160
  )
148
161
 
149
162
  client.spans.update_annotations(
163
+ space_id=SPACE_ID,
164
+ project_name=PROJECT_NAME,
150
165
  dataframe=annotations_df,
151
- project_name="your-llm-project",
152
166
  )
153
167
 
154
168
  client.spans.update_metadata(
155
- dataframe=annotations_df,
156
- project_name="your-llm-project",
169
+ space_id=SPACE_ID,
170
+ project_name=PROJECT_NAME,
171
+ dataframe=metadata_df,
172
+ )
173
+ ```
174
+
175
+ #### Exporting spans
176
+
177
+ Use the `export_to_df` or `export_to_parquet` to export large amounts of spans from Arize.
178
+
179
+ ```python
180
+ from arize import ArizeClient
181
+ from datetime import datetime
182
+
183
+ FMT = "%Y-%m-%d"
184
+ start_time = datetime.strptime("2024-01-01",FMT)
185
+ end_time = datetime.strptime("2026-01-01",FMT)
186
+
187
+ client = ArizeClient(api_key=API_KEY)
188
+ SPACE_ID = "<your-space-id>"
189
+ PROJECT_NAME = "<your-project-name>"
190
+
191
+ df = client.spans.export_to_df(
192
+ space_id=SPACE_ID,
193
+ project_name=PROJECT_NAME,
194
+ start_time=start_time,
195
+ end_time=end_time,
196
+ )
197
+ ```
198
+
199
+ ### Operations on ML Models
200
+
201
+ Use `arize.models` to interact with ML models: log ML data (traininv, validation, production) into Arize, either streaming or in batches.
202
+
203
+ > **WARNING**: This is currently under an alpha release. Install with `pip install arize==8.0.0ax` where the `x` denotes the specific alpha version. Check the [pre-releases](https://pypi.org/project/arize/#history) page in PyPI.
204
+
205
+ #### Stream log ML Data for a Classification use-case
206
+
207
+ ```python
208
+ from arize import ArizeClient
209
+ from arize.types import ModelTypes, Environments
210
+
211
+ client = ArizeClient(api_key=API_KEY)
212
+ SPACE_ID = "<your-space-id>"
213
+ MODEL_NAME = "<your-model-name>"
214
+
215
+ features=...
216
+ embedding_features=...
217
+
218
+ response = client.models.log_stream(
219
+ space_id=SPACE_ID,
220
+ model_name=MODEL_NAME,
221
+ model_type=ModelTypes.SCORE_CATEGORICAL,
222
+ environment=Environments.PRODUCTION,
223
+ prediction_label=("not fraud",0.3),
224
+ actual_label=("fraud",1.0),
225
+ features=features,
226
+ embedding_features=embedding_features,
227
+ )
228
+ ```
229
+
230
+ #### Log a batch of ML Data for a Classification use-case
231
+
232
+ ```python
233
+ from arize import ArizeClient
234
+ from arize.types import ModelTypes, Environments
235
+
236
+ client = ArizeClient(api_key=API_KEY)
237
+ SPACE_ID = "<your-space-id>"
238
+ MODEL_NAME = "<your-model-name>"
239
+ MODEL_VERSION = "1.0"
240
+
241
+ from arize.types import Schema, EmbeddingColumnNames, ObjectDetectionColumnNames, ModelTypes, Environments
242
+
243
+ tags = ["drift_type"]
244
+ embedding_feature_column_names = {
245
+ "image_embedding": EmbeddingColumnNames(
246
+ vector_column_name="image_vector", link_to_data_column_name="url"
247
+ )
248
+ }
249
+ object_detection_prediction_column_names = ObjectDetectionColumnNames(
250
+ bounding_boxes_coordinates_column_name="prediction_bboxes",
251
+ categories_column_name="prediction_categories",
252
+ scores_column_name="prediction_scores",
253
+ )
254
+ object_detection_actual_column_names = ObjectDetectionColumnNames(
255
+ bounding_boxes_coordinates_column_name="actual_bboxes",
256
+ categories_column_name="actual_categories",
257
+ )
258
+
259
+ # Define a Schema() object for Arize to pick up data from the correct columns for logging
260
+ schema = Schema(
261
+ prediction_id_column_name="prediction_id",
262
+ timestamp_column_name="prediction_ts",
263
+ tag_column_names=tags,
264
+ embedding_feature_column_names=embedding_feature_column_names,
265
+ object_detection_prediction_column_names=object_detection_prediction_column_names,
266
+ object_detection_actual_column_names=object_detection_actual_column_names,
267
+ )
268
+
269
+ # Logging Production DataFrame
270
+ response = client.models.log_batch(
271
+ space_id=SPACE_ID,
272
+ model_name=MODEL_NAME,
273
+ model_type=ModelTypes.OBJECT_DETECTION,
274
+ dataframe=prod_df,
275
+ schema=schema,
276
+ environment=Environments.PRODUCTION,
277
+ model_version = MODEL_VERSION, # Optionally pass a model version
278
+ )
279
+ ```
280
+
281
+ #### Exporting ML Data
282
+
283
+ Use the `export_to_df` or `export_to_parquet` to export large amounts of spans from Arize.
284
+
285
+ ```python
286
+ from arize import ArizeClient
287
+ from datetime import datetime
288
+
289
+ FMT = "%Y-%m-%d"
290
+ start_time = datetime.strptime("2024-01-01",FMT)
291
+ end_time = datetime.strptime("2026-01-01",FMT)
292
+
293
+ client = ArizeClient(api_key=API_KEY)
294
+ SPACE_ID = "<your-space-id>"
295
+ MODEL_NAME = "<your-model-name>"
296
+ MODEL_VERSION = "1.0"
297
+
298
+ df = client.models.export_to_df(
299
+ space_id=SPACE_ID,
300
+ model_name=MODEL_NAME,
301
+ environment=Environments.TRAINING,
302
+ model_version=MODEL_VERSION,
303
+ start_time=start_time,
304
+ end_time=end_time,
157
305
  )
158
306
  ```
159
307
 
@@ -71,13 +71,14 @@ tracer_provider = register(
71
71
  OpenAIInstrumentor().instrument(tracer_provider=tracer_provider)
72
72
  ```
73
73
 
74
-
75
- ### Logging Spans, Evaluations, and Annotations
74
+ ### Operations on Spans
76
75
 
77
76
  Use `arize.spans` to interact with spans: log spans into Arize, update the span's evaluations, annotations and metadata in bulk.
78
77
 
79
78
  > **WARNING**: This is currently under an alpha release. Install with `pip install arize==8.0.0ax` where the `x` denotes the specific alpha version. Check the [pre-releases](https://pypi.org/project/arize/#history) page in PyPI.
80
79
 
80
+ #### Logging spans
81
+
81
82
  ```python
82
83
  from arize import ArizeClient
83
84
 
@@ -89,22 +90,169 @@ client.spans.log(
89
90
  space_id=SPACE_ID,
90
91
  project_name=PROJECT_NAME,
91
92
  dataframe=spans_df,
92
- evals_df=evals_df, # Optionally pass the evaluations together with the spans
93
+ # evals_df=evals_df, # Optionally pass the evaluations together with the spans
93
94
  )
95
+ ```
96
+
97
+ #### Update spans Evaluations, Annotations, and Metadata
98
+
99
+ ```python
100
+ from arize import ArizeClient
101
+
102
+ client = ArizeClient(api_key=API_KEY)
103
+ SPACE_ID = "<your-space-id>"
104
+ PROJECT_NAME = "<your-project-name>"
94
105
 
95
106
  client.spans.update_evaluations(
107
+ space_id=SPACE_ID,
108
+ project_name=PROJECT_NAME,
96
109
  dataframe=evals_df,
97
- project_name="your-llm-project",
110
+ # force_http=... # Optionally pass force_http to update evaluations via HTTP instead of gRPC, defaults to False
98
111
  )
99
112
 
100
113
  client.spans.update_annotations(
114
+ space_id=SPACE_ID,
115
+ project_name=PROJECT_NAME,
101
116
  dataframe=annotations_df,
102
- project_name="your-llm-project",
103
117
  )
104
118
 
105
119
  client.spans.update_metadata(
106
- dataframe=annotations_df,
107
- project_name="your-llm-project",
120
+ space_id=SPACE_ID,
121
+ project_name=PROJECT_NAME,
122
+ dataframe=metadata_df,
123
+ )
124
+ ```
125
+
126
+ #### Exporting spans
127
+
128
+ Use the `export_to_df` or `export_to_parquet` to export large amounts of spans from Arize.
129
+
130
+ ```python
131
+ from arize import ArizeClient
132
+ from datetime import datetime
133
+
134
+ FMT = "%Y-%m-%d"
135
+ start_time = datetime.strptime("2024-01-01",FMT)
136
+ end_time = datetime.strptime("2026-01-01",FMT)
137
+
138
+ client = ArizeClient(api_key=API_KEY)
139
+ SPACE_ID = "<your-space-id>"
140
+ PROJECT_NAME = "<your-project-name>"
141
+
142
+ df = client.spans.export_to_df(
143
+ space_id=SPACE_ID,
144
+ project_name=PROJECT_NAME,
145
+ start_time=start_time,
146
+ end_time=end_time,
147
+ )
148
+ ```
149
+
150
+ ### Operations on ML Models
151
+
152
+ Use `arize.models` to interact with ML models: log ML data (traininv, validation, production) into Arize, either streaming or in batches.
153
+
154
+ > **WARNING**: This is currently under an alpha release. Install with `pip install arize==8.0.0ax` where the `x` denotes the specific alpha version. Check the [pre-releases](https://pypi.org/project/arize/#history) page in PyPI.
155
+
156
+ #### Stream log ML Data for a Classification use-case
157
+
158
+ ```python
159
+ from arize import ArizeClient
160
+ from arize.types import ModelTypes, Environments
161
+
162
+ client = ArizeClient(api_key=API_KEY)
163
+ SPACE_ID = "<your-space-id>"
164
+ MODEL_NAME = "<your-model-name>"
165
+
166
+ features=...
167
+ embedding_features=...
168
+
169
+ response = client.models.log_stream(
170
+ space_id=SPACE_ID,
171
+ model_name=MODEL_NAME,
172
+ model_type=ModelTypes.SCORE_CATEGORICAL,
173
+ environment=Environments.PRODUCTION,
174
+ prediction_label=("not fraud",0.3),
175
+ actual_label=("fraud",1.0),
176
+ features=features,
177
+ embedding_features=embedding_features,
178
+ )
179
+ ```
180
+
181
+ #### Log a batch of ML Data for a Classification use-case
182
+
183
+ ```python
184
+ from arize import ArizeClient
185
+ from arize.types import ModelTypes, Environments
186
+
187
+ client = ArizeClient(api_key=API_KEY)
188
+ SPACE_ID = "<your-space-id>"
189
+ MODEL_NAME = "<your-model-name>"
190
+ MODEL_VERSION = "1.0"
191
+
192
+ from arize.types import Schema, EmbeddingColumnNames, ObjectDetectionColumnNames, ModelTypes, Environments
193
+
194
+ tags = ["drift_type"]
195
+ embedding_feature_column_names = {
196
+ "image_embedding": EmbeddingColumnNames(
197
+ vector_column_name="image_vector", link_to_data_column_name="url"
198
+ )
199
+ }
200
+ object_detection_prediction_column_names = ObjectDetectionColumnNames(
201
+ bounding_boxes_coordinates_column_name="prediction_bboxes",
202
+ categories_column_name="prediction_categories",
203
+ scores_column_name="prediction_scores",
204
+ )
205
+ object_detection_actual_column_names = ObjectDetectionColumnNames(
206
+ bounding_boxes_coordinates_column_name="actual_bboxes",
207
+ categories_column_name="actual_categories",
208
+ )
209
+
210
+ # Define a Schema() object for Arize to pick up data from the correct columns for logging
211
+ schema = Schema(
212
+ prediction_id_column_name="prediction_id",
213
+ timestamp_column_name="prediction_ts",
214
+ tag_column_names=tags,
215
+ embedding_feature_column_names=embedding_feature_column_names,
216
+ object_detection_prediction_column_names=object_detection_prediction_column_names,
217
+ object_detection_actual_column_names=object_detection_actual_column_names,
218
+ )
219
+
220
+ # Logging Production DataFrame
221
+ response = client.models.log_batch(
222
+ space_id=SPACE_ID,
223
+ model_name=MODEL_NAME,
224
+ model_type=ModelTypes.OBJECT_DETECTION,
225
+ dataframe=prod_df,
226
+ schema=schema,
227
+ environment=Environments.PRODUCTION,
228
+ model_version = MODEL_VERSION, # Optionally pass a model version
229
+ )
230
+ ```
231
+
232
+ #### Exporting ML Data
233
+
234
+ Use the `export_to_df` or `export_to_parquet` to export large amounts of spans from Arize.
235
+
236
+ ```python
237
+ from arize import ArizeClient
238
+ from datetime import datetime
239
+
240
+ FMT = "%Y-%m-%d"
241
+ start_time = datetime.strptime("2024-01-01",FMT)
242
+ end_time = datetime.strptime("2026-01-01",FMT)
243
+
244
+ client = ArizeClient(api_key=API_KEY)
245
+ SPACE_ID = "<your-space-id>"
246
+ MODEL_NAME = "<your-model-name>"
247
+ MODEL_VERSION = "1.0"
248
+
249
+ df = client.models.export_to_df(
250
+ space_id=SPACE_ID,
251
+ model_name=MODEL_NAME,
252
+ environment=Environments.TRAINING,
253
+ model_version=MODEL_VERSION,
254
+ start_time=start_time,
255
+ end_time=end_time,
108
256
  )
109
257
  ```
110
258
 
@@ -0,0 +1 @@
1
+ __version__ = "8.0.0a4"
@@ -1 +0,0 @@
1
- __version__ = "8.0.0a3"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes