arize 8.0.0a14__py3-none-any.whl → 8.0.0a16__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.
- arize/__init__.py +70 -1
- arize/_flight/client.py +163 -43
- arize/_flight/types.py +1 -0
- arize/_generated/api_client/__init__.py +5 -1
- arize/_generated/api_client/api/datasets_api.py +6 -6
- arize/_generated/api_client/api/experiments_api.py +924 -61
- arize/_generated/api_client/api_client.py +1 -1
- arize/_generated/api_client/configuration.py +1 -1
- arize/_generated/api_client/exceptions.py +1 -1
- arize/_generated/api_client/models/__init__.py +3 -1
- arize/_generated/api_client/models/dataset.py +2 -2
- arize/_generated/api_client/models/dataset_version.py +1 -1
- arize/_generated/api_client/models/datasets_create_request.py +3 -3
- arize/_generated/api_client/models/datasets_list200_response.py +1 -1
- arize/_generated/api_client/models/datasets_list_examples200_response.py +1 -1
- arize/_generated/api_client/models/error.py +1 -1
- arize/_generated/api_client/models/experiment.py +6 -6
- arize/_generated/api_client/models/experiments_create_request.py +98 -0
- arize/_generated/api_client/models/experiments_list200_response.py +1 -1
- arize/_generated/api_client/models/experiments_runs_list200_response.py +92 -0
- arize/_generated/api_client/rest.py +1 -1
- arize/_generated/api_client/test/test_dataset.py +2 -1
- arize/_generated/api_client/test/test_dataset_version.py +1 -1
- arize/_generated/api_client/test/test_datasets_api.py +1 -1
- arize/_generated/api_client/test/test_datasets_create_request.py +2 -1
- arize/_generated/api_client/test/test_datasets_list200_response.py +1 -1
- arize/_generated/api_client/test/test_datasets_list_examples200_response.py +1 -1
- arize/_generated/api_client/test/test_error.py +1 -1
- arize/_generated/api_client/test/test_experiment.py +6 -1
- arize/_generated/api_client/test/test_experiments_api.py +23 -2
- arize/_generated/api_client/test/test_experiments_create_request.py +61 -0
- arize/_generated/api_client/test/test_experiments_list200_response.py +1 -1
- arize/_generated/api_client/test/test_experiments_runs_list200_response.py +56 -0
- arize/_generated/api_client_README.md +13 -8
- arize/client.py +19 -2
- arize/config.py +50 -3
- arize/constants/config.py +8 -2
- arize/constants/openinference.py +14 -0
- arize/constants/pyarrow.py +1 -0
- arize/datasets/__init__.py +0 -70
- arize/datasets/client.py +106 -19
- arize/datasets/errors.py +61 -0
- arize/datasets/validation.py +46 -0
- arize/experiments/client.py +455 -0
- arize/experiments/evaluators/__init__.py +0 -0
- arize/experiments/evaluators/base.py +255 -0
- arize/experiments/evaluators/exceptions.py +10 -0
- arize/experiments/evaluators/executors.py +502 -0
- arize/experiments/evaluators/rate_limiters.py +277 -0
- arize/experiments/evaluators/types.py +122 -0
- arize/experiments/evaluators/utils.py +198 -0
- arize/experiments/functions.py +920 -0
- arize/experiments/tracing.py +276 -0
- arize/experiments/types.py +394 -0
- arize/models/client.py +4 -1
- arize/spans/client.py +16 -20
- arize/utils/arrow.py +4 -3
- arize/utils/openinference_conversion.py +56 -0
- arize/utils/proto.py +13 -0
- arize/utils/size.py +22 -0
- arize/version.py +1 -1
- {arize-8.0.0a14.dist-info → arize-8.0.0a16.dist-info}/METADATA +3 -1
- {arize-8.0.0a14.dist-info → arize-8.0.0a16.dist-info}/RECORD +65 -44
- {arize-8.0.0a14.dist-info → arize-8.0.0a16.dist-info}/WHEEL +0 -0
- {arize-8.0.0a14.dist-info → arize-8.0.0a16.dist-info}/licenses/LICENSE.md +0 -0
arize/__init__.py
CHANGED
|
@@ -1,6 +1,7 @@
|
|
|
1
|
-
# src/arize/__init__.py
|
|
2
1
|
import logging
|
|
2
|
+
from collections.abc import Mapping
|
|
3
3
|
|
|
4
|
+
from arize._generated.api_client import models
|
|
4
5
|
from arize.client import ArizeClient
|
|
5
6
|
from arize.config import SDKConfiguration
|
|
6
7
|
|
|
@@ -18,3 +19,71 @@ except Exception:
|
|
|
18
19
|
pass
|
|
19
20
|
|
|
20
21
|
__all__ = ["ArizeClient", "SDKConfiguration"]
|
|
22
|
+
|
|
23
|
+
|
|
24
|
+
def make_to_df(field_name: str):
|
|
25
|
+
def to_df(
|
|
26
|
+
self,
|
|
27
|
+
by_alias: bool = False,
|
|
28
|
+
exclude_none: str | bool = False,
|
|
29
|
+
json_normalize: bool = False,
|
|
30
|
+
convert_dtypes: bool = True,
|
|
31
|
+
):
|
|
32
|
+
"""
|
|
33
|
+
Convert a list of objects to a pandas DataFrame.
|
|
34
|
+
|
|
35
|
+
Behavior:
|
|
36
|
+
- If an item is a Pydantic v2 model, use `.model_dump(by_alias=...)`.
|
|
37
|
+
- If an item is a mapping (dict-like), use it as-is.
|
|
38
|
+
- Otherwise, raise a ValueError (unsupported row type).
|
|
39
|
+
|
|
40
|
+
Parameters:
|
|
41
|
+
by_alias: Use field aliases when dumping Pydantic models.
|
|
42
|
+
exclude_none:
|
|
43
|
+
- False: keep Nones as-is
|
|
44
|
+
- "all": drop columns where *all* values are None/NaN
|
|
45
|
+
- "any": drop columns where *any* value is None/NaN
|
|
46
|
+
- True: alias for "all"
|
|
47
|
+
json_normalize: If True, flatten nested dicts via `pandas.json_normalize`.
|
|
48
|
+
convert_dtypes: If True, call `DataFrame.convert_dtypes()` at the end.
|
|
49
|
+
|
|
50
|
+
Returns:
|
|
51
|
+
pandas.DataFrame
|
|
52
|
+
"""
|
|
53
|
+
import pandas as pd
|
|
54
|
+
|
|
55
|
+
items = getattr(self, field_name, []) or []
|
|
56
|
+
|
|
57
|
+
rows = []
|
|
58
|
+
for it in items:
|
|
59
|
+
if hasattr(it, "model_dump"): # Pydantic v2 object
|
|
60
|
+
rows.append(it.model_dump(by_alias=by_alias))
|
|
61
|
+
|
|
62
|
+
elif isinstance(it, Mapping): # Plain mapping
|
|
63
|
+
rows.append(it)
|
|
64
|
+
else:
|
|
65
|
+
raise ValueError(
|
|
66
|
+
f"Cannot convert item of type {type(it)} to DataFrame row"
|
|
67
|
+
)
|
|
68
|
+
|
|
69
|
+
df = (
|
|
70
|
+
pd.json_normalize(rows, sep=".")
|
|
71
|
+
if json_normalize
|
|
72
|
+
else pd.DataFrame(rows)
|
|
73
|
+
)
|
|
74
|
+
|
|
75
|
+
# Drop None/NaN columns if requested
|
|
76
|
+
if exclude_none in ("any", "all", True):
|
|
77
|
+
drop_how = "all" if exclude_none is True else exclude_none
|
|
78
|
+
df.dropna(axis=1, how=drop_how, inplace=True)
|
|
79
|
+
|
|
80
|
+
if convert_dtypes:
|
|
81
|
+
df = df.convert_dtypes()
|
|
82
|
+
return df
|
|
83
|
+
|
|
84
|
+
return to_df
|
|
85
|
+
|
|
86
|
+
|
|
87
|
+
models.DatasetsList200Response.to_df = make_to_df("datasets") # type: ignore[attr-defined]
|
|
88
|
+
models.DatasetsListExamples200Response.to_df = make_to_df("examples") # type: ignore[attr-defined]
|
|
89
|
+
models.ExperimentsList200Response.to_df = make_to_df("experiments") # type: ignore[attr-defined]
|
arize/_flight/client.py
CHANGED
|
@@ -4,7 +4,8 @@ from __future__ import annotations
|
|
|
4
4
|
import base64
|
|
5
5
|
import logging
|
|
6
6
|
from dataclasses import dataclass, field
|
|
7
|
-
from
|
|
7
|
+
from enum import Enum
|
|
8
|
+
from typing import TYPE_CHECKING, Any, Dict, Iterable, List, Tuple
|
|
8
9
|
|
|
9
10
|
from google.protobuf import json_format
|
|
10
11
|
from pyarrow import flight
|
|
@@ -12,12 +13,15 @@ from pyarrow import flight
|
|
|
12
13
|
from arize._flight.types import FlightRequestType
|
|
13
14
|
from arize._generated.protocol.flight import ingest_pb2 as flight_ing_pb2
|
|
14
15
|
from arize._generated.protocol.flight.ingest_pb2 import (
|
|
16
|
+
PostExperimentDataResponse,
|
|
15
17
|
WriteSpanAnnotationResponse,
|
|
16
18
|
WriteSpanAttributesMetadataResponse,
|
|
17
19
|
WriteSpanEvaluationResponse,
|
|
18
20
|
)
|
|
19
21
|
from arize.config import get_python_version
|
|
20
22
|
from arize.logging import log_a_list
|
|
23
|
+
from arize.utils.openinference_conversion import convert_json_str_to_dict
|
|
24
|
+
from arize.utils.proto import get_pb_schema_tracing
|
|
21
25
|
from arize.version import __version__
|
|
22
26
|
|
|
23
27
|
if TYPE_CHECKING:
|
|
@@ -26,21 +30,31 @@ if TYPE_CHECKING:
|
|
|
26
30
|
|
|
27
31
|
BytesPair = Tuple[bytes, bytes]
|
|
28
32
|
Headers = List[BytesPair]
|
|
29
|
-
|
|
33
|
+
FlightPostArrowFileResponse = (
|
|
30
34
|
WriteSpanEvaluationResponse
|
|
31
35
|
| WriteSpanAnnotationResponse
|
|
32
36
|
| WriteSpanAttributesMetadataResponse
|
|
37
|
+
| PostExperimentDataResponse
|
|
33
38
|
)
|
|
34
39
|
|
|
35
40
|
logger = logging.getLogger(__name__)
|
|
36
41
|
|
|
37
42
|
|
|
43
|
+
class FlightActionKey(Enum):
|
|
44
|
+
CREATE_EXPERIMENT_DB_ENTRY = "create_experiment_db_entry"
|
|
45
|
+
# GET_DATASET_VERSION = "get_dataset_version"
|
|
46
|
+
# LIST_DATASETS = "list_datasets"
|
|
47
|
+
# DELETE_DATASET = "delete_dataset"
|
|
48
|
+
# DELETE_EXPERIMENT = "delete_experiment"
|
|
49
|
+
|
|
50
|
+
|
|
38
51
|
@dataclass(frozen=True)
|
|
39
52
|
class ArizeFlightClient:
|
|
40
53
|
api_key: str = field(repr=False)
|
|
41
54
|
host: str
|
|
42
55
|
port: int
|
|
43
56
|
scheme: str
|
|
57
|
+
max_chunksize: int
|
|
44
58
|
request_verify: bool
|
|
45
59
|
|
|
46
60
|
# internal cache for the underlying FlightClient
|
|
@@ -107,17 +121,19 @@ class ArizeFlightClient:
|
|
|
107
121
|
kwargs.setdefault("options", self.call_options)
|
|
108
122
|
return client.get_flight_info(*args, **kwargs)
|
|
109
123
|
|
|
110
|
-
def do_get(self, *args: Any, **kwargs: Any):
|
|
124
|
+
def do_get(self, *args: Any, **kwargs: Any) -> flight.FlightStreamReader:
|
|
111
125
|
client = self._ensure_client()
|
|
112
126
|
kwargs.setdefault("options", self.call_options)
|
|
113
127
|
return client.do_get(*args, **kwargs)
|
|
114
128
|
|
|
115
|
-
def do_put(
|
|
129
|
+
def do_put(
|
|
130
|
+
self, *args: Any, **kwargs: Any
|
|
131
|
+
) -> [flight.FlightStreamWriter, flight.FlightMetadataReader]:
|
|
116
132
|
client = self._ensure_client()
|
|
117
133
|
kwargs.setdefault("options", self.call_options)
|
|
118
134
|
return client.do_put(*args, **kwargs)
|
|
119
135
|
|
|
120
|
-
def do_action(self, *args: Any, **kwargs: Any):
|
|
136
|
+
def do_action(self, *args: Any, **kwargs: Any) -> Iterable[flight.Result]:
|
|
121
137
|
client = self._ensure_client()
|
|
122
138
|
kwargs.setdefault("options", self.call_options)
|
|
123
139
|
return client.do_action(*args, **kwargs)
|
|
@@ -127,20 +143,30 @@ class ArizeFlightClient:
|
|
|
127
143
|
def log_arrow_table(
|
|
128
144
|
self,
|
|
129
145
|
space_id: str,
|
|
130
|
-
project_name: str,
|
|
131
146
|
request_type: FlightRequestType,
|
|
132
147
|
pa_table: pa.Table,
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
148
|
+
project_name: str | None = None,
|
|
149
|
+
dataset_id: str | None = None,
|
|
150
|
+
experiment_name: str | None = None,
|
|
151
|
+
) -> FlightPostArrowFileResponse:
|
|
152
|
+
pa_schema = pa_table.schema
|
|
153
|
+
if request_type in (
|
|
154
|
+
FlightRequestType.EVALUATION,
|
|
155
|
+
FlightRequestType.ANNOTATION,
|
|
156
|
+
FlightRequestType.METADATA,
|
|
157
|
+
):
|
|
158
|
+
proto_schema = get_pb_schema_tracing(project_name=project_name)
|
|
159
|
+
base64_schema = base64.b64encode(proto_schema.SerializeToString())
|
|
160
|
+
pa_schema = append_to_pyarrow_metadata(
|
|
161
|
+
pa_table.schema, {"arize-schema": base64_schema}
|
|
162
|
+
)
|
|
139
163
|
|
|
140
164
|
doput_request = _get_pb_flight_doput_request(
|
|
141
165
|
space_id=space_id,
|
|
142
|
-
model_id=project_name,
|
|
143
166
|
request_type=request_type,
|
|
167
|
+
model_id=project_name,
|
|
168
|
+
dataset_id=dataset_id,
|
|
169
|
+
experiment_name=experiment_name,
|
|
144
170
|
)
|
|
145
171
|
|
|
146
172
|
descriptor = flight.FlightDescriptor.for_command(
|
|
@@ -152,7 +178,7 @@ class ArizeFlightClient:
|
|
|
152
178
|
)
|
|
153
179
|
with flight_writer:
|
|
154
180
|
# write table as stream to flight server
|
|
155
|
-
flight_writer.write_table(pa_table)
|
|
181
|
+
flight_writer.write_table(pa_table, self.max_chunksize)
|
|
156
182
|
# indicate that client has flushed all contents to stream
|
|
157
183
|
flight_writer.done_writing()
|
|
158
184
|
# read response from flight server
|
|
@@ -171,15 +197,19 @@ class ArizeFlightClient:
|
|
|
171
197
|
case FlightRequestType.METADATA:
|
|
172
198
|
res = WriteSpanAttributesMetadataResponse()
|
|
173
199
|
res.ParseFromString(flight_response.to_pybytes())
|
|
200
|
+
case FlightRequestType.LOG_EXPERIMENT_DATA:
|
|
201
|
+
res = PostExperimentDataResponse()
|
|
202
|
+
res.ParseFromString(flight_response.to_pybytes())
|
|
174
203
|
case _:
|
|
175
204
|
raise ValueError(
|
|
176
205
|
f"Unsupported request_type: {request_type}"
|
|
177
206
|
)
|
|
178
|
-
|
|
179
207
|
return res
|
|
180
208
|
except Exception as e:
|
|
181
209
|
logger.exception(f"Error logging arrow table to Arize: {e}")
|
|
182
|
-
|
|
210
|
+
raise RuntimeError(
|
|
211
|
+
f"Error logging arrow table to Arize: {e}"
|
|
212
|
+
) from e
|
|
183
213
|
|
|
184
214
|
# ---------- dataset methods ----------
|
|
185
215
|
|
|
@@ -205,7 +235,7 @@ class ArizeFlightClient:
|
|
|
205
235
|
)
|
|
206
236
|
with flight_writer:
|
|
207
237
|
# write table as stream to flight server
|
|
208
|
-
flight_writer.write_table(pa_table)
|
|
238
|
+
flight_writer.write_table(pa_table, self.max_chunksize)
|
|
209
239
|
# indicate that client has flushed all contents to stream
|
|
210
240
|
flight_writer.done_writing()
|
|
211
241
|
# read response from flight server
|
|
@@ -221,7 +251,72 @@ class ArizeFlightClient:
|
|
|
221
251
|
return res
|
|
222
252
|
except Exception as e:
|
|
223
253
|
logger.exception(f"Error logging arrow table to Arize: {e}")
|
|
224
|
-
raise RuntimeError(
|
|
254
|
+
raise RuntimeError(
|
|
255
|
+
f"Error logging arrow table to Arize: {e}"
|
|
256
|
+
) from e
|
|
257
|
+
|
|
258
|
+
def get_dataset_examples(
|
|
259
|
+
self,
|
|
260
|
+
space_id: str,
|
|
261
|
+
dataset_id: str,
|
|
262
|
+
dataset_version_id: str | None = None,
|
|
263
|
+
):
|
|
264
|
+
# TODO(Kiko): Space ID should not be needed,
|
|
265
|
+
# should work on server tech debt to remove this
|
|
266
|
+
doget_request = flight_ing_pb2.DoGetRequest(
|
|
267
|
+
get_dataset=flight_ing_pb2.GetDatasetRequest(
|
|
268
|
+
space_id=space_id,
|
|
269
|
+
dataset_id=dataset_id,
|
|
270
|
+
dataset_version=dataset_version_id,
|
|
271
|
+
)
|
|
272
|
+
)
|
|
273
|
+
descriptor = flight.Ticket(
|
|
274
|
+
json_format.MessageToJson(doget_request).encode("utf-8")
|
|
275
|
+
)
|
|
276
|
+
try:
|
|
277
|
+
reader = self.do_get(descriptor, options=self.call_options)
|
|
278
|
+
# read all data into pandas dataframe
|
|
279
|
+
df = reader.read_all().to_pandas()
|
|
280
|
+
df = convert_json_str_to_dict(df)
|
|
281
|
+
return df
|
|
282
|
+
except Exception as e:
|
|
283
|
+
logger.exception(f"Failed to get dataset id={dataset_id}")
|
|
284
|
+
raise RuntimeError(f"Failed to get dataset id={dataset_id}") from e
|
|
285
|
+
|
|
286
|
+
def init_experiment(
|
|
287
|
+
self,
|
|
288
|
+
space_id: str,
|
|
289
|
+
dataset_id: str,
|
|
290
|
+
experiment_name: str,
|
|
291
|
+
) -> Tuple[str, str] | None:
|
|
292
|
+
request = flight_ing_pb2.DoActionRequest(
|
|
293
|
+
create_experiment_db_entry=flight_ing_pb2.CreateExperimentDBEntryRequest(
|
|
294
|
+
space_id=space_id,
|
|
295
|
+
dataset_id=dataset_id,
|
|
296
|
+
experiment_name=experiment_name,
|
|
297
|
+
)
|
|
298
|
+
)
|
|
299
|
+
action = flight.Action(
|
|
300
|
+
FlightActionKey.CREATE_EXPERIMENT_DB_ENTRY,
|
|
301
|
+
json_format.MessageToJson(request).encode("utf-8"),
|
|
302
|
+
)
|
|
303
|
+
try:
|
|
304
|
+
response = self.do_action(action, options=self.call_options)
|
|
305
|
+
except Exception as e:
|
|
306
|
+
logger.exception(f"Failed to init experiment {experiment_name}")
|
|
307
|
+
raise RuntimeError(
|
|
308
|
+
f"Failed to init experiment {experiment_name}"
|
|
309
|
+
) from e
|
|
310
|
+
|
|
311
|
+
res = next(response, None)
|
|
312
|
+
if res is None:
|
|
313
|
+
return None
|
|
314
|
+
resp_pb = flight_ing_pb2.CreateExperimentDBEntryResponse()
|
|
315
|
+
resp_pb.ParseFromString(res.body.to_pybytes())
|
|
316
|
+
return (
|
|
317
|
+
resp_pb.experiment_id,
|
|
318
|
+
resp_pb.trace_model_name,
|
|
319
|
+
)
|
|
225
320
|
|
|
226
321
|
|
|
227
322
|
def append_to_pyarrow_metadata(
|
|
@@ -246,34 +341,59 @@ def append_to_pyarrow_metadata(
|
|
|
246
341
|
|
|
247
342
|
|
|
248
343
|
def _get_pb_flight_doput_request(
|
|
249
|
-
space_id,
|
|
250
|
-
model_id: str,
|
|
344
|
+
space_id: str,
|
|
251
345
|
request_type: FlightRequestType,
|
|
346
|
+
model_id: str | None = None,
|
|
347
|
+
dataset_id: str | None = None,
|
|
348
|
+
experiment_name: str | None = None,
|
|
252
349
|
) -> flight_ing_pb2.DoPutRequest:
|
|
253
350
|
"""Return a DoPutRequest for the given request_type."""
|
|
254
|
-
|
|
255
|
-
|
|
256
|
-
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
351
|
+
|
|
352
|
+
common_args = {"space_id": space_id}
|
|
353
|
+
|
|
354
|
+
if model_id:
|
|
355
|
+
common_args["external_model_id"] = model_id
|
|
356
|
+
if dataset_id:
|
|
357
|
+
common_args["dataset_id"] = dataset_id
|
|
358
|
+
if experiment_name:
|
|
359
|
+
common_args["experiment_name"] = experiment_name
|
|
360
|
+
|
|
361
|
+
if model_id:
|
|
362
|
+
# model-based request types
|
|
363
|
+
match request_type:
|
|
364
|
+
case FlightRequestType.LOG_EXPERIMENT_DATA:
|
|
365
|
+
return flight_ing_pb2.DoPutRequest(
|
|
366
|
+
write_span_evaluation_request=flight_ing_pb2.WriteSpanEvaluationRequest(
|
|
367
|
+
**common_args
|
|
368
|
+
)
|
|
264
369
|
)
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
370
|
+
case FlightRequestType.ANNOTATION:
|
|
371
|
+
return flight_ing_pb2.DoPutRequest(
|
|
372
|
+
write_span_annotation_request=flight_ing_pb2.WriteSpanAnnotationRequest(
|
|
373
|
+
**common_args
|
|
374
|
+
)
|
|
270
375
|
)
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
376
|
+
case FlightRequestType.METADATA:
|
|
377
|
+
return flight_ing_pb2.DoPutRequest(
|
|
378
|
+
write_span_attributes_metadata_request=flight_ing_pb2.WriteSpanAttributesMetadataRequest(
|
|
379
|
+
**common_args
|
|
380
|
+
)
|
|
276
381
|
)
|
|
277
|
-
|
|
278
|
-
|
|
279
|
-
|
|
382
|
+
case _:
|
|
383
|
+
raise ValueError(f"Unsupported request_type: {request_type}")
|
|
384
|
+
|
|
385
|
+
if dataset_id and experiment_name:
|
|
386
|
+
# dataset-based request types
|
|
387
|
+
match request_type:
|
|
388
|
+
case FlightRequestType.LOG_EXPERIMENT_DATA:
|
|
389
|
+
return flight_ing_pb2.DoPutRequest(
|
|
390
|
+
post_experiment_data=flight_ing_pb2.PostExperimentDataRequest(
|
|
391
|
+
**common_args
|
|
392
|
+
)
|
|
393
|
+
)
|
|
394
|
+
case _:
|
|
395
|
+
raise ValueError(f"Unsupported request_type: {request_type}")
|
|
396
|
+
|
|
397
|
+
raise ValueError(
|
|
398
|
+
f"Unsupported combination: {request_type=} with provided arguments."
|
|
399
|
+
)
|
arize/_flight/types.py
CHANGED
|
@@ -5,7 +5,7 @@
|
|
|
5
5
|
"""
|
|
6
6
|
Arize REST API
|
|
7
7
|
|
|
8
|
-
API specification for the backend data server. The API is hosted globally at https://
|
|
8
|
+
API specification for the backend data server. The API is hosted globally at https://api.arize.com/v2 or in your own environment. You can access the OpenAPI spec for this API at https://api.arize.com/v2/spec.yaml
|
|
9
9
|
|
|
10
10
|
The version of the OpenAPI document: 0.0.1
|
|
11
11
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
@@ -36,7 +36,9 @@ __all__ = [
|
|
|
36
36
|
"DatasetsListExamples200Response",
|
|
37
37
|
"Error",
|
|
38
38
|
"Experiment",
|
|
39
|
+
"ExperimentsCreateRequest",
|
|
39
40
|
"ExperimentsList200Response",
|
|
41
|
+
"ExperimentsRunsList200Response",
|
|
40
42
|
]
|
|
41
43
|
|
|
42
44
|
# import apis into sdk package
|
|
@@ -62,5 +64,7 @@ from arize._generated.api_client.models.datasets_list200_response import Dataset
|
|
|
62
64
|
from arize._generated.api_client.models.datasets_list_examples200_response import DatasetsListExamples200Response as DatasetsListExamples200Response
|
|
63
65
|
from arize._generated.api_client.models.error import Error as Error
|
|
64
66
|
from arize._generated.api_client.models.experiment import Experiment as Experiment
|
|
67
|
+
from arize._generated.api_client.models.experiments_create_request import ExperimentsCreateRequest as ExperimentsCreateRequest
|
|
65
68
|
from arize._generated.api_client.models.experiments_list200_response import ExperimentsList200Response as ExperimentsList200Response
|
|
69
|
+
from arize._generated.api_client.models.experiments_runs_list200_response import ExperimentsRunsList200Response as ExperimentsRunsList200Response
|
|
66
70
|
|
|
@@ -3,7 +3,7 @@
|
|
|
3
3
|
"""
|
|
4
4
|
Arize REST API
|
|
5
5
|
|
|
6
|
-
API specification for the backend data server. The API is hosted globally at https://
|
|
6
|
+
API specification for the backend data server. The API is hosted globally at https://api.arize.com/v2 or in your own environment. You can access the OpenAPI spec for this API at https://api.arize.com/v2/spec.yaml
|
|
7
7
|
|
|
8
8
|
The version of the OpenAPI document: 0.0.1
|
|
9
9
|
Generated by OpenAPI Generator (https://openapi-generator.tech)
|
|
@@ -309,7 +309,7 @@ class DatasetsApi:
|
|
|
309
309
|
|
|
310
310
|
return self.api_client.param_serialize(
|
|
311
311
|
method='POST',
|
|
312
|
-
resource_path='/
|
|
312
|
+
resource_path='/v2/datasets',
|
|
313
313
|
path_params=_path_params,
|
|
314
314
|
query_params=_query_params,
|
|
315
315
|
header_params=_header_params,
|
|
@@ -585,7 +585,7 @@ class DatasetsApi:
|
|
|
585
585
|
|
|
586
586
|
return self.api_client.param_serialize(
|
|
587
587
|
method='DELETE',
|
|
588
|
-
resource_path='/
|
|
588
|
+
resource_path='/v2/datasets/{datasetId}',
|
|
589
589
|
path_params=_path_params,
|
|
590
590
|
query_params=_query_params,
|
|
591
591
|
header_params=_header_params,
|
|
@@ -878,7 +878,7 @@ class DatasetsApi:
|
|
|
878
878
|
|
|
879
879
|
return self.api_client.param_serialize(
|
|
880
880
|
method='GET',
|
|
881
|
-
resource_path='/
|
|
881
|
+
resource_path='/v2/datasets/{datasetId}',
|
|
882
882
|
path_params=_path_params,
|
|
883
883
|
query_params=_query_params,
|
|
884
884
|
header_params=_header_params,
|
|
@@ -1170,7 +1170,7 @@ class DatasetsApi:
|
|
|
1170
1170
|
|
|
1171
1171
|
return self.api_client.param_serialize(
|
|
1172
1172
|
method='GET',
|
|
1173
|
-
resource_path='/
|
|
1173
|
+
resource_path='/v2/datasets',
|
|
1174
1174
|
path_params=_path_params,
|
|
1175
1175
|
query_params=_query_params,
|
|
1176
1176
|
header_params=_header_params,
|
|
@@ -1480,7 +1480,7 @@ class DatasetsApi:
|
|
|
1480
1480
|
|
|
1481
1481
|
return self.api_client.param_serialize(
|
|
1482
1482
|
method='GET',
|
|
1483
|
-
resource_path='/
|
|
1483
|
+
resource_path='/v2/datasets/{datasetId}/examples',
|
|
1484
1484
|
path_params=_path_params,
|
|
1485
1485
|
query_params=_query_params,
|
|
1486
1486
|
header_params=_header_params,
|