vellum-ai 1.1.0__py3-none-any.whl → 1.1.2__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.
Files changed (76) hide show
  1. vellum/client/README.md +0 -55
  2. vellum/client/__init__.py +159 -873
  3. vellum/client/core/__init__.py +3 -0
  4. vellum/client/core/client_wrapper.py +2 -2
  5. vellum/client/core/http_response.py +47 -0
  6. vellum/client/core/pydantic_utilities.py +10 -3
  7. vellum/client/raw_client.py +1561 -0
  8. vellum/client/reference.md +20 -693
  9. vellum/client/resources/ad_hoc/client.py +55 -161
  10. vellum/client/resources/ad_hoc/raw_client.py +278 -0
  11. vellum/client/resources/container_images/client.py +62 -172
  12. vellum/client/resources/container_images/raw_client.py +400 -0
  13. vellum/client/resources/deployments/client.py +112 -437
  14. vellum/client/resources/deployments/raw_client.py +995 -0
  15. vellum/client/resources/document_indexes/client.py +108 -317
  16. vellum/client/resources/document_indexes/raw_client.py +847 -0
  17. vellum/client/resources/documents/client.py +88 -285
  18. vellum/client/resources/documents/raw_client.py +655 -0
  19. vellum/client/resources/folder_entities/client.py +54 -92
  20. vellum/client/resources/folder_entities/raw_client.py +277 -0
  21. vellum/client/resources/metric_definitions/client.py +48 -95
  22. vellum/client/resources/metric_definitions/raw_client.py +225 -0
  23. vellum/client/resources/ml_models/client.py +36 -40
  24. vellum/client/resources/ml_models/raw_client.py +103 -0
  25. vellum/client/resources/organizations/client.py +34 -39
  26. vellum/client/resources/organizations/raw_client.py +96 -0
  27. vellum/client/resources/prompts/client.py +50 -193
  28. vellum/client/resources/prompts/raw_client.py +346 -0
  29. vellum/client/resources/sandboxes/client.py +68 -141
  30. vellum/client/resources/sandboxes/raw_client.py +393 -0
  31. vellum/client/resources/test_suite_runs/client.py +58 -141
  32. vellum/client/resources/test_suite_runs/raw_client.py +355 -0
  33. vellum/client/resources/test_suites/client.py +73 -141
  34. vellum/client/resources/test_suites/raw_client.py +379 -0
  35. vellum/client/resources/workflow_deployments/client.py +118 -362
  36. vellum/client/resources/workflow_deployments/raw_client.py +931 -0
  37. vellum/client/resources/workflow_executions/client.py +36 -40
  38. vellum/client/resources/workflow_executions/raw_client.py +97 -0
  39. vellum/client/resources/workflow_sandboxes/client.py +60 -108
  40. vellum/client/resources/workflow_sandboxes/raw_client.py +300 -0
  41. vellum/client/resources/workflows/client.py +68 -133
  42. vellum/client/resources/workflows/raw_client.py +307 -0
  43. vellum/client/resources/workspace_secrets/client.py +46 -90
  44. vellum/client/resources/workspace_secrets/raw_client.py +220 -0
  45. vellum/client/resources/workspaces/client.py +34 -39
  46. vellum/client/resources/workspaces/raw_client.py +96 -0
  47. vellum/core/http_response.py +3 -0
  48. vellum/raw_client.py +3 -0
  49. vellum/resources/ad_hoc/raw_client.py +3 -0
  50. vellum/resources/container_images/raw_client.py +3 -0
  51. vellum/resources/deployments/raw_client.py +3 -0
  52. vellum/resources/document_indexes/raw_client.py +3 -0
  53. vellum/resources/documents/raw_client.py +3 -0
  54. vellum/resources/folder_entities/raw_client.py +3 -0
  55. vellum/resources/metric_definitions/raw_client.py +3 -0
  56. vellum/resources/ml_models/raw_client.py +3 -0
  57. vellum/resources/organizations/raw_client.py +3 -0
  58. vellum/resources/prompts/raw_client.py +3 -0
  59. vellum/resources/sandboxes/raw_client.py +3 -0
  60. vellum/resources/test_suite_runs/raw_client.py +3 -0
  61. vellum/resources/test_suites/raw_client.py +3 -0
  62. vellum/resources/workflow_deployments/raw_client.py +3 -0
  63. vellum/resources/workflow_executions/raw_client.py +3 -0
  64. vellum/resources/workflow_sandboxes/raw_client.py +3 -0
  65. vellum/resources/workflows/raw_client.py +3 -0
  66. vellum/resources/workspace_secrets/raw_client.py +3 -0
  67. vellum/resources/workspaces/raw_client.py +3 -0
  68. {vellum_ai-1.1.0.dist-info → vellum_ai-1.1.2.dist-info}/METADATA +1 -1
  69. {vellum_ai-1.1.0.dist-info → vellum_ai-1.1.2.dist-info}/RECORD +76 -33
  70. vellum_ee/workflows/display/exceptions.py +7 -0
  71. vellum_ee/workflows/display/nodes/vellum/code_execution_node.py +2 -1
  72. vellum_ee/workflows/display/nodes/vellum/tests/test_code_execution_node.py +53 -2
  73. vellum_ee/workflows/display/workflows/base_workflow_display.py +2 -1
  74. {vellum_ai-1.1.0.dist-info → vellum_ai-1.1.2.dist-info}/LICENSE +0 -0
  75. {vellum_ai-1.1.0.dist-info → vellum_ai-1.1.2.dist-info}/WHEEL +0 -0
  76. {vellum_ai-1.1.0.dist-info → vellum_ai-1.1.2.dist-info}/entry_points.txt +0 -0
@@ -2,15 +2,13 @@
2
2
 
3
3
  import typing
4
4
  from ...core.client_wrapper import SyncClientWrapper
5
+ from .raw_client import RawContainerImagesClient
5
6
  from ...core.request_options import RequestOptions
6
7
  from ...types.paginated_container_image_read_list import PaginatedContainerImageReadList
7
- from ...core.pydantic_utilities import parse_obj_as
8
- from json.decoder import JSONDecodeError
9
- from ...core.api_error import ApiError
10
8
  from ...types.container_image_read import ContainerImageRead
11
- from ...core.jsonable_encoder import jsonable_encoder
12
9
  from ...types.docker_service_token import DockerServiceToken
13
10
  from ...core.client_wrapper import AsyncClientWrapper
11
+ from .raw_client import AsyncRawContainerImagesClient
14
12
 
15
13
  # this is used as the default value for optional parameters
16
14
  OMIT = typing.cast(typing.Any, ...)
@@ -18,9 +16,24 @@ OMIT = typing.cast(typing.Any, ...)
18
16
 
19
17
  class ContainerImagesClient:
20
18
  def __init__(self, *, client_wrapper: SyncClientWrapper):
21
- self._client_wrapper = client_wrapper
19
+ self._raw_client = RawContainerImagesClient(client_wrapper=client_wrapper)
22
20
 
23
- def list(
21
+ @property
22
+ def _client_wrapper(self) -> SyncClientWrapper:
23
+ return self._raw_client._client_wrapper
24
+
25
+ @property
26
+ def with_raw_response(self) -> RawContainerImagesClient:
27
+ """
28
+ Retrieves a raw implementation of this client that returns raw responses.
29
+
30
+ Returns
31
+ -------
32
+ RawContainerImagesClient
33
+ """
34
+ return self._raw_client
35
+
36
+ def list_(
24
37
  self,
25
38
  *,
26
39
  limit: typing.Optional[int] = None,
@@ -60,30 +73,13 @@ class ContainerImagesClient:
60
73
  )
61
74
  client.container_images.list()
62
75
  """
63
- _response = self._client_wrapper.httpx_client.request(
64
- "v1/container-images",
65
- base_url=self._client_wrapper.get_environment().default,
66
- method="GET",
67
- params={
68
- "limit": limit,
69
- "offset": offset,
70
- "ordering": ordering,
71
- },
76
+ response = self._raw_client.list(
77
+ limit=limit,
78
+ offset=offset,
79
+ ordering=ordering,
72
80
  request_options=request_options,
73
81
  )
74
- try:
75
- if 200 <= _response.status_code < 300:
76
- return typing.cast(
77
- PaginatedContainerImageReadList,
78
- parse_obj_as(
79
- type_=PaginatedContainerImageReadList, # type: ignore
80
- object_=_response.json(),
81
- ),
82
- )
83
- _response_json = _response.json()
84
- except JSONDecodeError:
85
- raise ApiError(status_code=_response.status_code, body=_response.text)
86
- raise ApiError(status_code=_response.status_code, body=_response_json)
82
+ return response.data
87
83
 
88
84
  def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> ContainerImageRead:
89
85
  """
@@ -114,25 +110,11 @@ class ContainerImagesClient:
114
110
  id="id",
115
111
  )
116
112
  """
117
- _response = self._client_wrapper.httpx_client.request(
118
- f"v1/container-images/{jsonable_encoder(id)}",
119
- base_url=self._client_wrapper.get_environment().default,
120
- method="GET",
113
+ response = self._raw_client.retrieve(
114
+ id,
121
115
  request_options=request_options,
122
116
  )
123
- try:
124
- if 200 <= _response.status_code < 300:
125
- return typing.cast(
126
- ContainerImageRead,
127
- parse_obj_as(
128
- type_=ContainerImageRead, # type: ignore
129
- object_=_response.json(),
130
- ),
131
- )
132
- _response_json = _response.json()
133
- except JSONDecodeError:
134
- raise ApiError(status_code=_response.status_code, body=_response.text)
135
- raise ApiError(status_code=_response.status_code, body=_response_json)
117
+ return response.data
136
118
 
137
119
  def docker_service_token(self, *, request_options: typing.Optional[RequestOptions] = None) -> DockerServiceToken:
138
120
  """
@@ -156,25 +138,10 @@ class ContainerImagesClient:
156
138
  )
157
139
  client.container_images.docker_service_token()
158
140
  """
159
- _response = self._client_wrapper.httpx_client.request(
160
- "v1/container-images/docker-service-token",
161
- base_url=self._client_wrapper.get_environment().default,
162
- method="GET",
141
+ response = self._raw_client.docker_service_token(
163
142
  request_options=request_options,
164
143
  )
165
- try:
166
- if 200 <= _response.status_code < 300:
167
- return typing.cast(
168
- DockerServiceToken,
169
- parse_obj_as(
170
- type_=DockerServiceToken, # type: ignore
171
- object_=_response.json(),
172
- ),
173
- )
174
- _response_json = _response.json()
175
- except JSONDecodeError:
176
- raise ApiError(status_code=_response.status_code, body=_response.text)
177
- raise ApiError(status_code=_response.status_code, body=_response_json)
144
+ return response.data
178
145
 
179
146
  def push_container_image(
180
147
  self,
@@ -215,41 +182,31 @@ class ContainerImagesClient:
215
182
  tags=["tags", "tags"],
216
183
  )
217
184
  """
218
- _response = self._client_wrapper.httpx_client.request(
219
- "v1/container-images/push",
220
- base_url=self._client_wrapper.get_environment().default,
221
- method="POST",
222
- json={
223
- "name": name,
224
- "sha": sha,
225
- "tags": tags,
226
- },
227
- headers={
228
- "content-type": "application/json",
229
- },
185
+ response = self._raw_client.push_container_image(
186
+ name=name,
187
+ sha=sha,
188
+ tags=tags,
230
189
  request_options=request_options,
231
- omit=OMIT,
232
190
  )
233
- try:
234
- if 200 <= _response.status_code < 300:
235
- return typing.cast(
236
- ContainerImageRead,
237
- parse_obj_as(
238
- type_=ContainerImageRead, # type: ignore
239
- object_=_response.json(),
240
- ),
241
- )
242
- _response_json = _response.json()
243
- except JSONDecodeError:
244
- raise ApiError(status_code=_response.status_code, body=_response.text)
245
- raise ApiError(status_code=_response.status_code, body=_response_json)
191
+ return response.data
246
192
 
247
193
 
248
194
  class AsyncContainerImagesClient:
249
195
  def __init__(self, *, client_wrapper: AsyncClientWrapper):
250
- self._client_wrapper = client_wrapper
196
+ self._raw_client = AsyncRawContainerImagesClient(client_wrapper=client_wrapper)
197
+
198
+ @property
199
+ def with_raw_response(self) -> AsyncRawContainerImagesClient:
200
+ """
201
+ Retrieves a raw implementation of this client that returns raw responses.
202
+
203
+ Returns
204
+ -------
205
+ AsyncRawContainerImagesClient
206
+ """
207
+ return self._raw_client
251
208
 
252
- async def list(
209
+ async def list_(
253
210
  self,
254
211
  *,
255
212
  limit: typing.Optional[int] = None,
@@ -297,30 +254,13 @@ class AsyncContainerImagesClient:
297
254
 
298
255
  asyncio.run(main())
299
256
  """
300
- _response = await self._client_wrapper.httpx_client.request(
301
- "v1/container-images",
302
- base_url=self._client_wrapper.get_environment().default,
303
- method="GET",
304
- params={
305
- "limit": limit,
306
- "offset": offset,
307
- "ordering": ordering,
308
- },
257
+ response = await self._raw_client.list(
258
+ limit=limit,
259
+ offset=offset,
260
+ ordering=ordering,
309
261
  request_options=request_options,
310
262
  )
311
- try:
312
- if 200 <= _response.status_code < 300:
313
- return typing.cast(
314
- PaginatedContainerImageReadList,
315
- parse_obj_as(
316
- type_=PaginatedContainerImageReadList, # type: ignore
317
- object_=_response.json(),
318
- ),
319
- )
320
- _response_json = _response.json()
321
- except JSONDecodeError:
322
- raise ApiError(status_code=_response.status_code, body=_response.text)
323
- raise ApiError(status_code=_response.status_code, body=_response_json)
263
+ return response.data
324
264
 
325
265
  async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> ContainerImageRead:
326
266
  """
@@ -359,25 +299,11 @@ class AsyncContainerImagesClient:
359
299
 
360
300
  asyncio.run(main())
361
301
  """
362
- _response = await self._client_wrapper.httpx_client.request(
363
- f"v1/container-images/{jsonable_encoder(id)}",
364
- base_url=self._client_wrapper.get_environment().default,
365
- method="GET",
302
+ response = await self._raw_client.retrieve(
303
+ id,
366
304
  request_options=request_options,
367
305
  )
368
- try:
369
- if 200 <= _response.status_code < 300:
370
- return typing.cast(
371
- ContainerImageRead,
372
- parse_obj_as(
373
- type_=ContainerImageRead, # type: ignore
374
- object_=_response.json(),
375
- ),
376
- )
377
- _response_json = _response.json()
378
- except JSONDecodeError:
379
- raise ApiError(status_code=_response.status_code, body=_response.text)
380
- raise ApiError(status_code=_response.status_code, body=_response_json)
306
+ return response.data
381
307
 
382
308
  async def docker_service_token(
383
309
  self, *, request_options: typing.Optional[RequestOptions] = None
@@ -411,25 +337,10 @@ class AsyncContainerImagesClient:
411
337
 
412
338
  asyncio.run(main())
413
339
  """
414
- _response = await self._client_wrapper.httpx_client.request(
415
- "v1/container-images/docker-service-token",
416
- base_url=self._client_wrapper.get_environment().default,
417
- method="GET",
340
+ response = await self._raw_client.docker_service_token(
418
341
  request_options=request_options,
419
342
  )
420
- try:
421
- if 200 <= _response.status_code < 300:
422
- return typing.cast(
423
- DockerServiceToken,
424
- parse_obj_as(
425
- type_=DockerServiceToken, # type: ignore
426
- object_=_response.json(),
427
- ),
428
- )
429
- _response_json = _response.json()
430
- except JSONDecodeError:
431
- raise ApiError(status_code=_response.status_code, body=_response.text)
432
- raise ApiError(status_code=_response.status_code, body=_response_json)
343
+ return response.data
433
344
 
434
345
  async def push_container_image(
435
346
  self,
@@ -478,31 +389,10 @@ class AsyncContainerImagesClient:
478
389
 
479
390
  asyncio.run(main())
480
391
  """
481
- _response = await self._client_wrapper.httpx_client.request(
482
- "v1/container-images/push",
483
- base_url=self._client_wrapper.get_environment().default,
484
- method="POST",
485
- json={
486
- "name": name,
487
- "sha": sha,
488
- "tags": tags,
489
- },
490
- headers={
491
- "content-type": "application/json",
492
- },
392
+ response = await self._raw_client.push_container_image(
393
+ name=name,
394
+ sha=sha,
395
+ tags=tags,
493
396
  request_options=request_options,
494
- omit=OMIT,
495
397
  )
496
- try:
497
- if 200 <= _response.status_code < 300:
498
- return typing.cast(
499
- ContainerImageRead,
500
- parse_obj_as(
501
- type_=ContainerImageRead, # type: ignore
502
- object_=_response.json(),
503
- ),
504
- )
505
- _response_json = _response.json()
506
- except JSONDecodeError:
507
- raise ApiError(status_code=_response.status_code, body=_response.text)
508
- raise ApiError(status_code=_response.status_code, body=_response_json)
398
+ return response.data