vellum-ai 0.10.0__py3-none-any.whl → 0.10.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.
- vellum/__init__.py +8 -0
- vellum/client/README.md +1 -1
- vellum/client/__init__.py +4 -0
- vellum/client/core/client_wrapper.py +1 -1
- vellum/client/resources/__init__.py +2 -0
- vellum/client/resources/deployments/client.py +117 -0
- vellum/client/resources/ml_models/__init__.py +2 -0
- vellum/client/resources/ml_models/client.py +125 -0
- vellum/client/resources/workflow_deployments/client.py +117 -0
- vellum/client/types/__init__.py +6 -0
- vellum/client/types/deployment_history_item.py +44 -0
- vellum/client/types/ml_model_read.py +27 -0
- vellum/client/types/workflow_deployment_history_item.py +45 -0
- vellum/resources/ml_models/__init__.py +3 -0
- vellum/resources/ml_models/client.py +3 -0
- vellum/types/deployment_history_item.py +3 -0
- vellum/types/ml_model_read.py +3 -0
- vellum/types/workflow_deployment_history_item.py +3 -0
- vellum/workflows/nodes/__init__.py +4 -3
- vellum/workflows/nodes/core/__init__.py +2 -0
- vellum/workflows/nodes/displayable/bases/search_node.py +10 -3
- vellum/workflows/nodes/displayable/search_node/node.py +12 -5
- vellum/workflows/references/execution_count.py +4 -0
- {vellum_ai-0.10.0.dist-info → vellum_ai-0.10.2.dist-info}/METADATA +3 -3
- {vellum_ai-0.10.0.dist-info → vellum_ai-0.10.2.dist-info}/RECORD +36 -25
- vellum_cli/__init__.py +3 -2
- vellum_cli/pull.py +17 -4
- vellum_cli/tests/test_pull.py +18 -0
- vellum_ee/py.typed +0 -0
- vellum_ee/workflows/display/nodes/vellum/conditional_node.py +20 -2
- vellum_ee/workflows/display/tests/workflow_serialization/test_basic_conditional_node_serialization.py +148 -42
- vellum_ee/workflows/display/utils/vellum.py +16 -11
- vellum_ee/workflows/display/vellum.py +10 -1
- {vellum_ai-0.10.0.dist-info → vellum_ai-0.10.2.dist-info}/LICENSE +0 -0
- {vellum_ai-0.10.0.dist-info → vellum_ai-0.10.2.dist-info}/WHEEL +0 -0
- {vellum_ai-0.10.0.dist-info → vellum_ai-0.10.2.dist-info}/entry_points.txt +0 -0
vellum/__init__.py
CHANGED
@@ -66,6 +66,7 @@ from .types import (
|
|
66
66
|
ConditionalNodeResultData,
|
67
67
|
ContainerImageRead,
|
68
68
|
CreateTestSuiteTestCaseRequest,
|
69
|
+
DeploymentHistoryItem,
|
69
70
|
DeploymentProviderPayloadResponse,
|
70
71
|
DeploymentProviderPayloadResponsePayload,
|
71
72
|
DeploymentRead,
|
@@ -187,6 +188,7 @@ from .types import (
|
|
187
188
|
MetricDefinitionExecution,
|
188
189
|
MetricDefinitionInput,
|
189
190
|
MetricNodeResult,
|
191
|
+
MlModelRead,
|
190
192
|
MlModelUsage,
|
191
193
|
NamedScenarioInputChatHistoryVariableValueRequest,
|
192
194
|
NamedScenarioInputJsonVariableValueRequest,
|
@@ -435,6 +437,7 @@ from .types import (
|
|
435
437
|
VellumVariable,
|
436
438
|
VellumVariableExtensions,
|
437
439
|
VellumVariableType,
|
440
|
+
WorkflowDeploymentHistoryItem,
|
438
441
|
WorkflowDeploymentRead,
|
439
442
|
WorkflowEventError,
|
440
443
|
WorkflowExecutionActualChatHistoryRequest,
|
@@ -497,6 +500,7 @@ from .resources import (
|
|
497
500
|
documents,
|
498
501
|
folder_entities,
|
499
502
|
metric_definitions,
|
503
|
+
ml_models,
|
500
504
|
sandboxes,
|
501
505
|
test_suite_runs,
|
502
506
|
test_suites,
|
@@ -577,6 +581,7 @@ __all__ = [
|
|
577
581
|
"ConditionalNodeResultData",
|
578
582
|
"ContainerImageRead",
|
579
583
|
"CreateTestSuiteTestCaseRequest",
|
584
|
+
"DeploymentHistoryItem",
|
580
585
|
"DeploymentProviderPayloadResponse",
|
581
586
|
"DeploymentProviderPayloadResponsePayload",
|
582
587
|
"DeploymentRead",
|
@@ -705,6 +710,7 @@ __all__ = [
|
|
705
710
|
"MetricDefinitionExecution",
|
706
711
|
"MetricDefinitionInput",
|
707
712
|
"MetricNodeResult",
|
713
|
+
"MlModelRead",
|
708
714
|
"MlModelUsage",
|
709
715
|
"NamedScenarioInputChatHistoryVariableValueRequest",
|
710
716
|
"NamedScenarioInputJsonVariableValueRequest",
|
@@ -956,6 +962,7 @@ __all__ = [
|
|
956
962
|
"VellumVariable",
|
957
963
|
"VellumVariableExtensions",
|
958
964
|
"VellumVariableType",
|
965
|
+
"WorkflowDeploymentHistoryItem",
|
959
966
|
"WorkflowDeploymentRead",
|
960
967
|
"WorkflowDeploymentsListRequestStatus",
|
961
968
|
"WorkflowEventError",
|
@@ -1011,6 +1018,7 @@ __all__ = [
|
|
1011
1018
|
"documents",
|
1012
1019
|
"folder_entities",
|
1013
1020
|
"metric_definitions",
|
1021
|
+
"ml_models",
|
1014
1022
|
"sandboxes",
|
1015
1023
|
"test_suite_runs",
|
1016
1024
|
"test_suites",
|
vellum/client/README.md
CHANGED
@@ -1,6 +1,6 @@
|
|
1
1
|
# Vellum Python Library
|
2
2
|
|
3
|
-
[](https://buildwithfern.com?utm_source=github&utm_medium=github&utm_campaign=readme&utm_source=https%3A%2F%2Fgithub.com%2Fvellum-ai%2Fvellum-
|
3
|
+
[](https://buildwithfern.com?utm_source=github&utm_medium=github&utm_campaign=readme&utm_source=https%3A%2F%2Fgithub.com%2Fvellum-ai%2Fvellum-python-sdks)
|
4
4
|
[](https://pypi.python.org/pypi/vellum-ai)
|
5
5
|
|
6
6
|
The Vellum Python library provides convenient access to the Vellum API from Python.
|
vellum/client/__init__.py
CHANGED
@@ -11,6 +11,7 @@ from .resources.document_indexes.client import DocumentIndexesClient
|
|
11
11
|
from .resources.documents.client import DocumentsClient
|
12
12
|
from .resources.folder_entities.client import FolderEntitiesClient
|
13
13
|
from .resources.metric_definitions.client import MetricDefinitionsClient
|
14
|
+
from .resources.ml_models.client import MlModelsClient
|
14
15
|
from .resources.sandboxes.client import SandboxesClient
|
15
16
|
from .resources.test_suite_runs.client import TestSuiteRunsClient
|
16
17
|
from .resources.test_suites.client import TestSuitesClient
|
@@ -59,6 +60,7 @@ from .resources.document_indexes.client import AsyncDocumentIndexesClient
|
|
59
60
|
from .resources.documents.client import AsyncDocumentsClient
|
60
61
|
from .resources.folder_entities.client import AsyncFolderEntitiesClient
|
61
62
|
from .resources.metric_definitions.client import AsyncMetricDefinitionsClient
|
63
|
+
from .resources.ml_models.client import AsyncMlModelsClient
|
62
64
|
from .resources.sandboxes.client import AsyncSandboxesClient
|
63
65
|
from .resources.test_suite_runs.client import AsyncTestSuiteRunsClient
|
64
66
|
from .resources.test_suites.client import AsyncTestSuitesClient
|
@@ -132,6 +134,7 @@ class Vellum:
|
|
132
134
|
self.documents = DocumentsClient(client_wrapper=self._client_wrapper)
|
133
135
|
self.folder_entities = FolderEntitiesClient(client_wrapper=self._client_wrapper)
|
134
136
|
self.metric_definitions = MetricDefinitionsClient(client_wrapper=self._client_wrapper)
|
137
|
+
self.ml_models = MlModelsClient(client_wrapper=self._client_wrapper)
|
135
138
|
self.sandboxes = SandboxesClient(client_wrapper=self._client_wrapper)
|
136
139
|
self.test_suite_runs = TestSuiteRunsClient(client_wrapper=self._client_wrapper)
|
137
140
|
self.test_suites = TestSuitesClient(client_wrapper=self._client_wrapper)
|
@@ -1451,6 +1454,7 @@ class AsyncVellum:
|
|
1451
1454
|
self.documents = AsyncDocumentsClient(client_wrapper=self._client_wrapper)
|
1452
1455
|
self.folder_entities = AsyncFolderEntitiesClient(client_wrapper=self._client_wrapper)
|
1453
1456
|
self.metric_definitions = AsyncMetricDefinitionsClient(client_wrapper=self._client_wrapper)
|
1457
|
+
self.ml_models = AsyncMlModelsClient(client_wrapper=self._client_wrapper)
|
1454
1458
|
self.sandboxes = AsyncSandboxesClient(client_wrapper=self._client_wrapper)
|
1455
1459
|
self.test_suite_runs = AsyncTestSuiteRunsClient(client_wrapper=self._client_wrapper)
|
1456
1460
|
self.test_suites = AsyncTestSuitesClient(client_wrapper=self._client_wrapper)
|
@@ -17,7 +17,7 @@ class BaseClientWrapper:
|
|
17
17
|
headers: typing.Dict[str, str] = {
|
18
18
|
"X-Fern-Language": "Python",
|
19
19
|
"X-Fern-SDK-Name": "vellum-ai",
|
20
|
-
"X-Fern-SDK-Version": "0.
|
20
|
+
"X-Fern-SDK-Version": "0.10.2",
|
21
21
|
}
|
22
22
|
headers["X_API_KEY"] = self.api_key
|
23
23
|
return headers
|
@@ -8,6 +8,7 @@ from . import (
|
|
8
8
|
documents,
|
9
9
|
folder_entities,
|
10
10
|
metric_definitions,
|
11
|
+
ml_models,
|
11
12
|
sandboxes,
|
12
13
|
test_suite_runs,
|
13
14
|
test_suites,
|
@@ -37,6 +38,7 @@ __all__ = [
|
|
37
38
|
"documents",
|
38
39
|
"folder_entities",
|
39
40
|
"metric_definitions",
|
41
|
+
"ml_models",
|
40
42
|
"sandboxes",
|
41
43
|
"test_suite_runs",
|
42
44
|
"test_suites",
|
@@ -10,6 +10,7 @@ from json.decoder import JSONDecodeError
|
|
10
10
|
from ...core.api_error import ApiError
|
11
11
|
from ...types.deployment_read import DeploymentRead
|
12
12
|
from ...core.jsonable_encoder import jsonable_encoder
|
13
|
+
from ...types.deployment_history_item import DeploymentHistoryItem
|
13
14
|
from .types.list_deployment_release_tags_request_source import ListDeploymentReleaseTagsRequestSource
|
14
15
|
from ...types.paginated_deployment_release_tag_read_list import PaginatedDeploymentReleaseTagReadList
|
15
16
|
from ...types.deployment_release_tag_read import DeploymentReleaseTagRead
|
@@ -148,6 +149,60 @@ class DeploymentsClient:
|
|
148
149
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
149
150
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
150
151
|
|
152
|
+
def deployment_history_item_retrieve(
|
153
|
+
self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
154
|
+
) -> DeploymentHistoryItem:
|
155
|
+
"""
|
156
|
+
Retrieve a specific Deployment History Item by either its UUID or the name of a Release Tag that points to it.
|
157
|
+
|
158
|
+
Parameters
|
159
|
+
----------
|
160
|
+
history_id_or_release_tag : str
|
161
|
+
Either the UUID of Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Deployment History Item you'd like to retrieve.
|
162
|
+
|
163
|
+
id : str
|
164
|
+
A UUID string identifying this deployment.
|
165
|
+
|
166
|
+
request_options : typing.Optional[RequestOptions]
|
167
|
+
Request-specific configuration.
|
168
|
+
|
169
|
+
Returns
|
170
|
+
-------
|
171
|
+
DeploymentHistoryItem
|
172
|
+
|
173
|
+
|
174
|
+
Examples
|
175
|
+
--------
|
176
|
+
from vellum import Vellum
|
177
|
+
|
178
|
+
client = Vellum(
|
179
|
+
api_key="YOUR_API_KEY",
|
180
|
+
)
|
181
|
+
client.deployments.deployment_history_item_retrieve(
|
182
|
+
history_id_or_release_tag="history_id_or_release_tag",
|
183
|
+
id="id",
|
184
|
+
)
|
185
|
+
"""
|
186
|
+
_response = self._client_wrapper.httpx_client.request(
|
187
|
+
f"v1/deployments/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
|
188
|
+
base_url=self._client_wrapper.get_environment().default,
|
189
|
+
method="GET",
|
190
|
+
request_options=request_options,
|
191
|
+
)
|
192
|
+
try:
|
193
|
+
if 200 <= _response.status_code < 300:
|
194
|
+
return typing.cast(
|
195
|
+
DeploymentHistoryItem,
|
196
|
+
parse_obj_as(
|
197
|
+
type_=DeploymentHistoryItem, # type: ignore
|
198
|
+
object_=_response.json(),
|
199
|
+
),
|
200
|
+
)
|
201
|
+
_response_json = _response.json()
|
202
|
+
except JSONDecodeError:
|
203
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
204
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
205
|
+
|
151
206
|
def list_deployment_release_tags(
|
152
207
|
self,
|
153
208
|
id: str,
|
@@ -614,6 +669,68 @@ class AsyncDeploymentsClient:
|
|
614
669
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
615
670
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
616
671
|
|
672
|
+
async def deployment_history_item_retrieve(
|
673
|
+
self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
674
|
+
) -> DeploymentHistoryItem:
|
675
|
+
"""
|
676
|
+
Retrieve a specific Deployment History Item by either its UUID or the name of a Release Tag that points to it.
|
677
|
+
|
678
|
+
Parameters
|
679
|
+
----------
|
680
|
+
history_id_or_release_tag : str
|
681
|
+
Either the UUID of Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Deployment History Item you'd like to retrieve.
|
682
|
+
|
683
|
+
id : str
|
684
|
+
A UUID string identifying this deployment.
|
685
|
+
|
686
|
+
request_options : typing.Optional[RequestOptions]
|
687
|
+
Request-specific configuration.
|
688
|
+
|
689
|
+
Returns
|
690
|
+
-------
|
691
|
+
DeploymentHistoryItem
|
692
|
+
|
693
|
+
|
694
|
+
Examples
|
695
|
+
--------
|
696
|
+
import asyncio
|
697
|
+
|
698
|
+
from vellum import AsyncVellum
|
699
|
+
|
700
|
+
client = AsyncVellum(
|
701
|
+
api_key="YOUR_API_KEY",
|
702
|
+
)
|
703
|
+
|
704
|
+
|
705
|
+
async def main() -> None:
|
706
|
+
await client.deployments.deployment_history_item_retrieve(
|
707
|
+
history_id_or_release_tag="history_id_or_release_tag",
|
708
|
+
id="id",
|
709
|
+
)
|
710
|
+
|
711
|
+
|
712
|
+
asyncio.run(main())
|
713
|
+
"""
|
714
|
+
_response = await self._client_wrapper.httpx_client.request(
|
715
|
+
f"v1/deployments/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
|
716
|
+
base_url=self._client_wrapper.get_environment().default,
|
717
|
+
method="GET",
|
718
|
+
request_options=request_options,
|
719
|
+
)
|
720
|
+
try:
|
721
|
+
if 200 <= _response.status_code < 300:
|
722
|
+
return typing.cast(
|
723
|
+
DeploymentHistoryItem,
|
724
|
+
parse_obj_as(
|
725
|
+
type_=DeploymentHistoryItem, # type: ignore
|
726
|
+
object_=_response.json(),
|
727
|
+
),
|
728
|
+
)
|
729
|
+
_response_json = _response.json()
|
730
|
+
except JSONDecodeError:
|
731
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
732
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
733
|
+
|
617
734
|
async def list_deployment_release_tags(
|
618
735
|
self,
|
619
736
|
id: str,
|
@@ -0,0 +1,125 @@
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
2
|
+
|
3
|
+
from ...core.client_wrapper import SyncClientWrapper
|
4
|
+
import typing
|
5
|
+
from ...core.request_options import RequestOptions
|
6
|
+
from ...types.ml_model_read import MlModelRead
|
7
|
+
from ...core.jsonable_encoder import jsonable_encoder
|
8
|
+
from ...core.pydantic_utilities import parse_obj_as
|
9
|
+
from json.decoder import JSONDecodeError
|
10
|
+
from ...core.api_error import ApiError
|
11
|
+
from ...core.client_wrapper import AsyncClientWrapper
|
12
|
+
|
13
|
+
|
14
|
+
class MlModelsClient:
|
15
|
+
def __init__(self, *, client_wrapper: SyncClientWrapper):
|
16
|
+
self._client_wrapper = client_wrapper
|
17
|
+
|
18
|
+
def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> MlModelRead:
|
19
|
+
"""
|
20
|
+
Retrieve details about an ML Model
|
21
|
+
|
22
|
+
Parameters
|
23
|
+
----------
|
24
|
+
id : str
|
25
|
+
Either the ML Model's ID, its unique name, or its ID in the workspace.
|
26
|
+
|
27
|
+
request_options : typing.Optional[RequestOptions]
|
28
|
+
Request-specific configuration.
|
29
|
+
|
30
|
+
Returns
|
31
|
+
-------
|
32
|
+
MlModelRead
|
33
|
+
|
34
|
+
|
35
|
+
Examples
|
36
|
+
--------
|
37
|
+
from vellum import Vellum
|
38
|
+
|
39
|
+
client = Vellum(
|
40
|
+
api_key="YOUR_API_KEY",
|
41
|
+
)
|
42
|
+
client.ml_models.retrieve(
|
43
|
+
id="id",
|
44
|
+
)
|
45
|
+
"""
|
46
|
+
_response = self._client_wrapper.httpx_client.request(
|
47
|
+
f"v1/ml-models/{jsonable_encoder(id)}",
|
48
|
+
base_url=self._client_wrapper.get_environment().default,
|
49
|
+
method="GET",
|
50
|
+
request_options=request_options,
|
51
|
+
)
|
52
|
+
try:
|
53
|
+
if 200 <= _response.status_code < 300:
|
54
|
+
return typing.cast(
|
55
|
+
MlModelRead,
|
56
|
+
parse_obj_as(
|
57
|
+
type_=MlModelRead, # type: ignore
|
58
|
+
object_=_response.json(),
|
59
|
+
),
|
60
|
+
)
|
61
|
+
_response_json = _response.json()
|
62
|
+
except JSONDecodeError:
|
63
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
64
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
65
|
+
|
66
|
+
|
67
|
+
class AsyncMlModelsClient:
|
68
|
+
def __init__(self, *, client_wrapper: AsyncClientWrapper):
|
69
|
+
self._client_wrapper = client_wrapper
|
70
|
+
|
71
|
+
async def retrieve(self, id: str, *, request_options: typing.Optional[RequestOptions] = None) -> MlModelRead:
|
72
|
+
"""
|
73
|
+
Retrieve details about an ML Model
|
74
|
+
|
75
|
+
Parameters
|
76
|
+
----------
|
77
|
+
id : str
|
78
|
+
Either the ML Model's ID, its unique name, or its ID in the workspace.
|
79
|
+
|
80
|
+
request_options : typing.Optional[RequestOptions]
|
81
|
+
Request-specific configuration.
|
82
|
+
|
83
|
+
Returns
|
84
|
+
-------
|
85
|
+
MlModelRead
|
86
|
+
|
87
|
+
|
88
|
+
Examples
|
89
|
+
--------
|
90
|
+
import asyncio
|
91
|
+
|
92
|
+
from vellum import AsyncVellum
|
93
|
+
|
94
|
+
client = AsyncVellum(
|
95
|
+
api_key="YOUR_API_KEY",
|
96
|
+
)
|
97
|
+
|
98
|
+
|
99
|
+
async def main() -> None:
|
100
|
+
await client.ml_models.retrieve(
|
101
|
+
id="id",
|
102
|
+
)
|
103
|
+
|
104
|
+
|
105
|
+
asyncio.run(main())
|
106
|
+
"""
|
107
|
+
_response = await self._client_wrapper.httpx_client.request(
|
108
|
+
f"v1/ml-models/{jsonable_encoder(id)}",
|
109
|
+
base_url=self._client_wrapper.get_environment().default,
|
110
|
+
method="GET",
|
111
|
+
request_options=request_options,
|
112
|
+
)
|
113
|
+
try:
|
114
|
+
if 200 <= _response.status_code < 300:
|
115
|
+
return typing.cast(
|
116
|
+
MlModelRead,
|
117
|
+
parse_obj_as(
|
118
|
+
type_=MlModelRead, # type: ignore
|
119
|
+
object_=_response.json(),
|
120
|
+
),
|
121
|
+
)
|
122
|
+
_response_json = _response.json()
|
123
|
+
except JSONDecodeError:
|
124
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
125
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
@@ -10,6 +10,7 @@ from json.decoder import JSONDecodeError
|
|
10
10
|
from ...core.api_error import ApiError
|
11
11
|
from ...types.workflow_deployment_read import WorkflowDeploymentRead
|
12
12
|
from ...core.jsonable_encoder import jsonable_encoder
|
13
|
+
from ...types.workflow_deployment_history_item import WorkflowDeploymentHistoryItem
|
13
14
|
from .types.list_workflow_release_tags_request_source import ListWorkflowReleaseTagsRequestSource
|
14
15
|
from ...types.paginated_workflow_release_tag_read_list import PaginatedWorkflowReleaseTagReadList
|
15
16
|
from ...types.workflow_release_tag_read import WorkflowReleaseTagRead
|
@@ -140,6 +141,60 @@ class WorkflowDeploymentsClient:
|
|
140
141
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
141
142
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
142
143
|
|
144
|
+
def workflow_deployment_history_item_retrieve(
|
145
|
+
self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
146
|
+
) -> WorkflowDeploymentHistoryItem:
|
147
|
+
"""
|
148
|
+
Retrieve a specific Workflow Deployment History Item by either its UUID or the name of a Release Tag that points to it.
|
149
|
+
|
150
|
+
Parameters
|
151
|
+
----------
|
152
|
+
history_id_or_release_tag : str
|
153
|
+
Either the UUID of Workflow Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment History Item you'd like to retrieve.
|
154
|
+
|
155
|
+
id : str
|
156
|
+
A UUID string identifying this workflow deployment.
|
157
|
+
|
158
|
+
request_options : typing.Optional[RequestOptions]
|
159
|
+
Request-specific configuration.
|
160
|
+
|
161
|
+
Returns
|
162
|
+
-------
|
163
|
+
WorkflowDeploymentHistoryItem
|
164
|
+
|
165
|
+
|
166
|
+
Examples
|
167
|
+
--------
|
168
|
+
from vellum import Vellum
|
169
|
+
|
170
|
+
client = Vellum(
|
171
|
+
api_key="YOUR_API_KEY",
|
172
|
+
)
|
173
|
+
client.workflow_deployments.workflow_deployment_history_item_retrieve(
|
174
|
+
history_id_or_release_tag="history_id_or_release_tag",
|
175
|
+
id="id",
|
176
|
+
)
|
177
|
+
"""
|
178
|
+
_response = self._client_wrapper.httpx_client.request(
|
179
|
+
f"v1/workflow-deployments/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
|
180
|
+
base_url=self._client_wrapper.get_environment().default,
|
181
|
+
method="GET",
|
182
|
+
request_options=request_options,
|
183
|
+
)
|
184
|
+
try:
|
185
|
+
if 200 <= _response.status_code < 300:
|
186
|
+
return typing.cast(
|
187
|
+
WorkflowDeploymentHistoryItem,
|
188
|
+
parse_obj_as(
|
189
|
+
type_=WorkflowDeploymentHistoryItem, # type: ignore
|
190
|
+
object_=_response.json(),
|
191
|
+
),
|
192
|
+
)
|
193
|
+
_response_json = _response.json()
|
194
|
+
except JSONDecodeError:
|
195
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
196
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
197
|
+
|
143
198
|
def list_workflow_release_tags(
|
144
199
|
self,
|
145
200
|
id: str,
|
@@ -474,6 +529,68 @@ class AsyncWorkflowDeploymentsClient:
|
|
474
529
|
raise ApiError(status_code=_response.status_code, body=_response.text)
|
475
530
|
raise ApiError(status_code=_response.status_code, body=_response_json)
|
476
531
|
|
532
|
+
async def workflow_deployment_history_item_retrieve(
|
533
|
+
self, history_id_or_release_tag: str, id: str, *, request_options: typing.Optional[RequestOptions] = None
|
534
|
+
) -> WorkflowDeploymentHistoryItem:
|
535
|
+
"""
|
536
|
+
Retrieve a specific Workflow Deployment History Item by either its UUID or the name of a Release Tag that points to it.
|
537
|
+
|
538
|
+
Parameters
|
539
|
+
----------
|
540
|
+
history_id_or_release_tag : str
|
541
|
+
Either the UUID of Workflow Deployment History Item you'd like to retrieve, or the name of a Release Tag that's pointing to the Workflow Deployment History Item you'd like to retrieve.
|
542
|
+
|
543
|
+
id : str
|
544
|
+
A UUID string identifying this workflow deployment.
|
545
|
+
|
546
|
+
request_options : typing.Optional[RequestOptions]
|
547
|
+
Request-specific configuration.
|
548
|
+
|
549
|
+
Returns
|
550
|
+
-------
|
551
|
+
WorkflowDeploymentHistoryItem
|
552
|
+
|
553
|
+
|
554
|
+
Examples
|
555
|
+
--------
|
556
|
+
import asyncio
|
557
|
+
|
558
|
+
from vellum import AsyncVellum
|
559
|
+
|
560
|
+
client = AsyncVellum(
|
561
|
+
api_key="YOUR_API_KEY",
|
562
|
+
)
|
563
|
+
|
564
|
+
|
565
|
+
async def main() -> None:
|
566
|
+
await client.workflow_deployments.workflow_deployment_history_item_retrieve(
|
567
|
+
history_id_or_release_tag="history_id_or_release_tag",
|
568
|
+
id="id",
|
569
|
+
)
|
570
|
+
|
571
|
+
|
572
|
+
asyncio.run(main())
|
573
|
+
"""
|
574
|
+
_response = await self._client_wrapper.httpx_client.request(
|
575
|
+
f"v1/workflow-deployments/{jsonable_encoder(id)}/history/{jsonable_encoder(history_id_or_release_tag)}",
|
576
|
+
base_url=self._client_wrapper.get_environment().default,
|
577
|
+
method="GET",
|
578
|
+
request_options=request_options,
|
579
|
+
)
|
580
|
+
try:
|
581
|
+
if 200 <= _response.status_code < 300:
|
582
|
+
return typing.cast(
|
583
|
+
WorkflowDeploymentHistoryItem,
|
584
|
+
parse_obj_as(
|
585
|
+
type_=WorkflowDeploymentHistoryItem, # type: ignore
|
586
|
+
object_=_response.json(),
|
587
|
+
),
|
588
|
+
)
|
589
|
+
_response_json = _response.json()
|
590
|
+
except JSONDecodeError:
|
591
|
+
raise ApiError(status_code=_response.status_code, body=_response.text)
|
592
|
+
raise ApiError(status_code=_response.status_code, body=_response_json)
|
593
|
+
|
477
594
|
async def list_workflow_release_tags(
|
478
595
|
self,
|
479
596
|
id: str,
|
vellum/client/types/__init__.py
CHANGED
@@ -73,6 +73,7 @@ from .conditional_node_result import ConditionalNodeResult
|
|
73
73
|
from .conditional_node_result_data import ConditionalNodeResultData
|
74
74
|
from .container_image_read import ContainerImageRead
|
75
75
|
from .create_test_suite_test_case_request import CreateTestSuiteTestCaseRequest
|
76
|
+
from .deployment_history_item import DeploymentHistoryItem
|
76
77
|
from .deployment_provider_payload_response import DeploymentProviderPayloadResponse
|
77
78
|
from .deployment_provider_payload_response_payload import DeploymentProviderPayloadResponsePayload
|
78
79
|
from .deployment_read import DeploymentRead
|
@@ -198,6 +199,7 @@ from .metadata_filters_request import MetadataFiltersRequest
|
|
198
199
|
from .metric_definition_execution import MetricDefinitionExecution
|
199
200
|
from .metric_definition_input import MetricDefinitionInput
|
200
201
|
from .metric_node_result import MetricNodeResult
|
202
|
+
from .ml_model_read import MlModelRead
|
201
203
|
from .ml_model_usage import MlModelUsage
|
202
204
|
from .named_scenario_input_chat_history_variable_value_request import NamedScenarioInputChatHistoryVariableValueRequest
|
203
205
|
from .named_scenario_input_json_variable_value_request import NamedScenarioInputJsonVariableValueRequest
|
@@ -450,6 +452,7 @@ from .vellum_value_request import VellumValueRequest
|
|
450
452
|
from .vellum_variable import VellumVariable
|
451
453
|
from .vellum_variable_extensions import VellumVariableExtensions
|
452
454
|
from .vellum_variable_type import VellumVariableType
|
455
|
+
from .workflow_deployment_history_item import WorkflowDeploymentHistoryItem
|
453
456
|
from .workflow_deployment_read import WorkflowDeploymentRead
|
454
457
|
from .workflow_event_error import WorkflowEventError
|
455
458
|
from .workflow_execution_actual_chat_history_request import WorkflowExecutionActualChatHistoryRequest
|
@@ -562,6 +565,7 @@ __all__ = [
|
|
562
565
|
"ConditionalNodeResultData",
|
563
566
|
"ContainerImageRead",
|
564
567
|
"CreateTestSuiteTestCaseRequest",
|
568
|
+
"DeploymentHistoryItem",
|
565
569
|
"DeploymentProviderPayloadResponse",
|
566
570
|
"DeploymentProviderPayloadResponsePayload",
|
567
571
|
"DeploymentRead",
|
@@ -683,6 +687,7 @@ __all__ = [
|
|
683
687
|
"MetricDefinitionExecution",
|
684
688
|
"MetricDefinitionInput",
|
685
689
|
"MetricNodeResult",
|
690
|
+
"MlModelRead",
|
686
691
|
"MlModelUsage",
|
687
692
|
"NamedScenarioInputChatHistoryVariableValueRequest",
|
688
693
|
"NamedScenarioInputJsonVariableValueRequest",
|
@@ -931,6 +936,7 @@ __all__ = [
|
|
931
936
|
"VellumVariable",
|
932
937
|
"VellumVariableExtensions",
|
933
938
|
"VellumVariableType",
|
939
|
+
"WorkflowDeploymentHistoryItem",
|
934
940
|
"WorkflowDeploymentRead",
|
935
941
|
"WorkflowEventError",
|
936
942
|
"WorkflowExecutionActualChatHistoryRequest",
|
@@ -0,0 +1,44 @@
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
2
|
+
|
3
|
+
from __future__ import annotations
|
4
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
5
|
+
from .array_vellum_value import ArrayVellumValue
|
6
|
+
import datetime as dt
|
7
|
+
import pydantic
|
8
|
+
import typing
|
9
|
+
from .vellum_variable import VellumVariable
|
10
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
11
|
+
from ..core.pydantic_utilities import update_forward_refs
|
12
|
+
|
13
|
+
|
14
|
+
class DeploymentHistoryItem(UniversalBaseModel):
|
15
|
+
id: str
|
16
|
+
deployment_id: str
|
17
|
+
timestamp: dt.datetime
|
18
|
+
label: str = pydantic.Field()
|
19
|
+
"""
|
20
|
+
A human-readable label for the deployment
|
21
|
+
"""
|
22
|
+
|
23
|
+
name: str = pydantic.Field()
|
24
|
+
"""
|
25
|
+
A name that uniquely identifies this deployment within its workspace
|
26
|
+
"""
|
27
|
+
|
28
|
+
input_variables: typing.List[VellumVariable]
|
29
|
+
description: typing.Optional[str] = pydantic.Field(default=None)
|
30
|
+
"""
|
31
|
+
A human-readable description of the deployment
|
32
|
+
"""
|
33
|
+
|
34
|
+
if IS_PYDANTIC_V2:
|
35
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
36
|
+
else:
|
37
|
+
|
38
|
+
class Config:
|
39
|
+
frozen = True
|
40
|
+
smart_union = True
|
41
|
+
extra = pydantic.Extra.allow
|
42
|
+
|
43
|
+
|
44
|
+
update_forward_refs(ArrayVellumValue, DeploymentHistoryItem=DeploymentHistoryItem)
|
@@ -0,0 +1,27 @@
|
|
1
|
+
# This file was auto-generated by Fern from our API Definition.
|
2
|
+
|
3
|
+
from ..core.pydantic_utilities import UniversalBaseModel
|
4
|
+
import pydantic
|
5
|
+
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
6
|
+
import typing
|
7
|
+
|
8
|
+
|
9
|
+
class MlModelRead(UniversalBaseModel):
|
10
|
+
"""
|
11
|
+
An ML Model that your Workspace has access to.
|
12
|
+
"""
|
13
|
+
|
14
|
+
id: str
|
15
|
+
name: str = pydantic.Field()
|
16
|
+
"""
|
17
|
+
The unique name of the ML Model.
|
18
|
+
"""
|
19
|
+
|
20
|
+
if IS_PYDANTIC_V2:
|
21
|
+
model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
|
22
|
+
else:
|
23
|
+
|
24
|
+
class Config:
|
25
|
+
frozen = True
|
26
|
+
smart_union = True
|
27
|
+
extra = pydantic.Extra.allow
|