vellum-ai 0.8.26__py3-none-any.whl → 0.8.27__py3-none-any.whl

Sign up to get free protection for your applications and to get access to all the features.
vellum/__init__.py CHANGED
@@ -448,6 +448,8 @@ from .types import (
448
448
  WorkflowOutputNumber,
449
449
  WorkflowOutputSearchResults,
450
450
  WorkflowOutputString,
451
+ WorkflowPushExecConfig,
452
+ WorkflowPushResponse,
451
453
  WorkflowReleaseTagRead,
452
454
  WorkflowReleaseTagWorkflowDeploymentHistoryItem,
453
455
  WorkflowRequestChatHistoryInputRequest,
@@ -485,6 +487,7 @@ from .resources import (
485
487
  test_suites,
486
488
  workflow_deployments,
487
489
  workflow_sandboxes,
490
+ workflows,
488
491
  workspace_secrets,
489
492
  )
490
493
  from .client import AsyncVellum, Vellum
@@ -950,6 +953,8 @@ __all__ = [
950
953
  "WorkflowOutputNumber",
951
954
  "WorkflowOutputSearchResults",
952
955
  "WorkflowOutputString",
956
+ "WorkflowPushExecConfig",
957
+ "WorkflowPushResponse",
953
958
  "WorkflowReleaseTagRead",
954
959
  "WorkflowReleaseTagWorkflowDeploymentHistoryItem",
955
960
  "WorkflowRequestChatHistoryInputRequest",
@@ -981,5 +986,6 @@ __all__ = [
981
986
  "test_suites",
982
987
  "workflow_deployments",
983
988
  "workflow_sandboxes",
989
+ "workflows",
984
990
  "workspace_secrets",
985
991
  ]
vellum/client.py CHANGED
@@ -15,6 +15,7 @@ from .resources.test_suite_runs.client import TestSuiteRunsClient
15
15
  from .resources.test_suites.client import TestSuitesClient
16
16
  from .resources.workflow_deployments.client import WorkflowDeploymentsClient
17
17
  from .resources.workflow_sandboxes.client import WorkflowSandboxesClient
18
+ from .resources.workflows.client import WorkflowsClient
18
19
  from .resources.workspace_secrets.client import WorkspaceSecretsClient
19
20
  from .types.code_execution_runtime import CodeExecutionRuntime
20
21
  from .types.code_executor_input_request import CodeExecutorInputRequest
@@ -61,6 +62,7 @@ from .resources.test_suite_runs.client import AsyncTestSuiteRunsClient
61
62
  from .resources.test_suites.client import AsyncTestSuitesClient
62
63
  from .resources.workflow_deployments.client import AsyncWorkflowDeploymentsClient
63
64
  from .resources.workflow_sandboxes.client import AsyncWorkflowSandboxesClient
65
+ from .resources.workflows.client import AsyncWorkflowsClient
64
66
  from .resources.workspace_secrets.client import AsyncWorkspaceSecretsClient
65
67
 
66
68
  # this is used as the default value for optional parameters
@@ -132,6 +134,7 @@ class Vellum:
132
134
  self.test_suites = TestSuitesClient(client_wrapper=self._client_wrapper)
133
135
  self.workflow_deployments = WorkflowDeploymentsClient(client_wrapper=self._client_wrapper)
134
136
  self.workflow_sandboxes = WorkflowSandboxesClient(client_wrapper=self._client_wrapper)
137
+ self.workflows = WorkflowsClient(client_wrapper=self._client_wrapper)
135
138
  self.workspace_secrets = WorkspaceSecretsClient(client_wrapper=self._client_wrapper)
136
139
 
137
140
  def execute_code(
@@ -1449,6 +1452,7 @@ class AsyncVellum:
1449
1452
  self.test_suites = AsyncTestSuitesClient(client_wrapper=self._client_wrapper)
1450
1453
  self.workflow_deployments = AsyncWorkflowDeploymentsClient(client_wrapper=self._client_wrapper)
1451
1454
  self.workflow_sandboxes = AsyncWorkflowSandboxesClient(client_wrapper=self._client_wrapper)
1455
+ self.workflows = AsyncWorkflowsClient(client_wrapper=self._client_wrapper)
1452
1456
  self.workspace_secrets = AsyncWorkspaceSecretsClient(client_wrapper=self._client_wrapper)
1453
1457
 
1454
1458
  async def execute_code(
@@ -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.8.26",
20
+ "X-Fern-SDK-Version": "0.8.27",
21
21
  }
22
22
  headers["X_API_KEY"] = self.api_key
23
23
  return headers
@@ -12,6 +12,7 @@ from . import (
12
12
  test_suites,
13
13
  workflow_deployments,
14
14
  workflow_sandboxes,
15
+ workflows,
15
16
  workspace_secrets,
16
17
  )
17
18
  from .deployments import DeploymentsListRequestStatus
@@ -35,5 +36,6 @@ __all__ = [
35
36
  "test_suites",
36
37
  "workflow_deployments",
37
38
  "workflow_sandboxes",
39
+ "workflows",
38
40
  "workspace_secrets",
39
41
  ]
@@ -0,0 +1,2 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
@@ -0,0 +1,154 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+ from ...core.client_wrapper import SyncClientWrapper
5
+ from ...types.workflow_push_exec_config import WorkflowPushExecConfig
6
+ from ...core.request_options import RequestOptions
7
+ from ...types.workflow_push_response import WorkflowPushResponse
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
+ # this is used as the default value for optional parameters
14
+ OMIT = typing.cast(typing.Any, ...)
15
+
16
+
17
+ class WorkflowsClient:
18
+ def __init__(self, *, client_wrapper: SyncClientWrapper):
19
+ self._client_wrapper = client_wrapper
20
+
21
+ def push(
22
+ self,
23
+ *,
24
+ exec_config: WorkflowPushExecConfig,
25
+ label: str,
26
+ request_options: typing.Optional[RequestOptions] = None,
27
+ ) -> WorkflowPushResponse:
28
+ """
29
+ An internal-only endpoint that's subject to breaking changes without notice. Not intended for public use.
30
+
31
+ Parameters
32
+ ----------
33
+ exec_config : WorkflowPushExecConfig
34
+
35
+ label : str
36
+
37
+ request_options : typing.Optional[RequestOptions]
38
+ Request-specific configuration.
39
+
40
+ Returns
41
+ -------
42
+ WorkflowPushResponse
43
+
44
+
45
+ Examples
46
+ --------
47
+ from vellum import Vellum
48
+
49
+ client = Vellum(
50
+ api_key="YOUR_API_KEY",
51
+ )
52
+ client.workflows.push(
53
+ exec_config={"key": "value"},
54
+ label="label",
55
+ )
56
+ """
57
+ _response = self._client_wrapper.httpx_client.request(
58
+ "v1/workflows/push",
59
+ base_url=self._client_wrapper.get_environment().default,
60
+ method="POST",
61
+ json={
62
+ "exec_config": exec_config,
63
+ "label": label,
64
+ },
65
+ request_options=request_options,
66
+ omit=OMIT,
67
+ )
68
+ try:
69
+ if 200 <= _response.status_code < 300:
70
+ return typing.cast(
71
+ WorkflowPushResponse,
72
+ parse_obj_as(
73
+ type_=WorkflowPushResponse, # type: ignore
74
+ object_=_response.json(),
75
+ ),
76
+ )
77
+ _response_json = _response.json()
78
+ except JSONDecodeError:
79
+ raise ApiError(status_code=_response.status_code, body=_response.text)
80
+ raise ApiError(status_code=_response.status_code, body=_response_json)
81
+
82
+
83
+ class AsyncWorkflowsClient:
84
+ def __init__(self, *, client_wrapper: AsyncClientWrapper):
85
+ self._client_wrapper = client_wrapper
86
+
87
+ async def push(
88
+ self,
89
+ *,
90
+ exec_config: WorkflowPushExecConfig,
91
+ label: str,
92
+ request_options: typing.Optional[RequestOptions] = None,
93
+ ) -> WorkflowPushResponse:
94
+ """
95
+ An internal-only endpoint that's subject to breaking changes without notice. Not intended for public use.
96
+
97
+ Parameters
98
+ ----------
99
+ exec_config : WorkflowPushExecConfig
100
+
101
+ label : str
102
+
103
+ request_options : typing.Optional[RequestOptions]
104
+ Request-specific configuration.
105
+
106
+ Returns
107
+ -------
108
+ WorkflowPushResponse
109
+
110
+
111
+ Examples
112
+ --------
113
+ import asyncio
114
+
115
+ from vellum import AsyncVellum
116
+
117
+ client = AsyncVellum(
118
+ api_key="YOUR_API_KEY",
119
+ )
120
+
121
+
122
+ async def main() -> None:
123
+ await client.workflows.push(
124
+ exec_config={"key": "value"},
125
+ label="label",
126
+ )
127
+
128
+
129
+ asyncio.run(main())
130
+ """
131
+ _response = await self._client_wrapper.httpx_client.request(
132
+ "v1/workflows/push",
133
+ base_url=self._client_wrapper.get_environment().default,
134
+ method="POST",
135
+ json={
136
+ "exec_config": exec_config,
137
+ "label": label,
138
+ },
139
+ request_options=request_options,
140
+ omit=OMIT,
141
+ )
142
+ try:
143
+ if 200 <= _response.status_code < 300:
144
+ return typing.cast(
145
+ WorkflowPushResponse,
146
+ parse_obj_as(
147
+ type_=WorkflowPushResponse, # type: ignore
148
+ object_=_response.json(),
149
+ ),
150
+ )
151
+ _response_json = _response.json()
152
+ except JSONDecodeError:
153
+ raise ApiError(status_code=_response.status_code, body=_response.text)
154
+ raise ApiError(status_code=_response.status_code, body=_response_json)
vellum/types/__init__.py CHANGED
@@ -463,6 +463,8 @@ from .workflow_output_json import WorkflowOutputJson
463
463
  from .workflow_output_number import WorkflowOutputNumber
464
464
  from .workflow_output_search_results import WorkflowOutputSearchResults
465
465
  from .workflow_output_string import WorkflowOutputString
466
+ from .workflow_push_exec_config import WorkflowPushExecConfig
467
+ from .workflow_push_response import WorkflowPushResponse
466
468
  from .workflow_release_tag_read import WorkflowReleaseTagRead
467
469
  from .workflow_release_tag_workflow_deployment_history_item import WorkflowReleaseTagWorkflowDeploymentHistoryItem
468
470
  from .workflow_request_chat_history_input_request import WorkflowRequestChatHistoryInputRequest
@@ -931,6 +933,8 @@ __all__ = [
931
933
  "WorkflowOutputNumber",
932
934
  "WorkflowOutputSearchResults",
933
935
  "WorkflowOutputString",
936
+ "WorkflowPushExecConfig",
937
+ "WorkflowPushResponse",
934
938
  "WorkflowReleaseTagRead",
935
939
  "WorkflowReleaseTagWorkflowDeploymentHistoryItem",
936
940
  "WorkflowRequestChatHistoryInputRequest",
@@ -0,0 +1,5 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ import typing
4
+
5
+ WorkflowPushExecConfig = typing.Dict[str, typing.Optional[typing.Any]]
@@ -0,0 +1,19 @@
1
+ # This file was auto-generated by Fern from our API Definition.
2
+
3
+ from ..core.pydantic_utilities import UniversalBaseModel
4
+ from ..core.pydantic_utilities import IS_PYDANTIC_V2
5
+ import typing
6
+ import pydantic
7
+
8
+
9
+ class WorkflowPushResponse(UniversalBaseModel):
10
+ workflow_sandbox_id: str
11
+
12
+ if IS_PYDANTIC_V2:
13
+ model_config: typing.ClassVar[pydantic.ConfigDict] = pydantic.ConfigDict(extra="allow", frozen=True) # type: ignore # Pydantic v2
14
+ else:
15
+
16
+ class Config:
17
+ frozen = True
18
+ smart_union = True
19
+ extra = pydantic.Extra.allow
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: vellum-ai
3
- Version: 0.8.26
3
+ Version: 0.8.27
4
4
  Summary:
5
5
  License: MIT
6
6
  Requires-Python: >=3.8,<4.0
@@ -1,8 +1,8 @@
1
- vellum/__init__.py,sha256=easQ8fxF4xU_D3tGodunzZX5tIzX6F5AMscbLan5auE,33632
2
- vellum/client.py,sha256=omhLLyvr-CPceOumcEbdO5d66UTBKrVPFJ3QzjSHIt4,114593
1
+ vellum/__init__.py,sha256=hBu10_MnFB2tcHfZr4sP4v3zZ7ZaJIHfHesWWbkPd4o,33776
2
+ vellum/client.py,sha256=oyKQasaHZqssc_CiZdvIcrGePxzg9k7GfB7_ik1jsH0,114871
3
3
  vellum/core/__init__.py,sha256=SQ85PF84B9MuKnBwHNHWemSGuy-g_515gFYNFhvEE0I,1438
4
4
  vellum/core/api_error.py,sha256=RE8LELok2QCjABadECTvtDp7qejA1VmINCh6TbqPwSE,426
5
- vellum/core/client_wrapper.py,sha256=uokCUQkluL0zgeoYmPB6IcJ75Lvir_wbMQNDr4VcvnY,1890
5
+ vellum/core/client_wrapper.py,sha256=JL2vky28aLqxKhlzY0omtf8ifOvDSq_LYmvtRaetvmY,1890
6
6
  vellum/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
7
7
  vellum/core/file.py,sha256=X9IbmkZmB2bB_DpmZAO3crWdXagOakAyn6UCOCImCPg,2322
8
8
  vellum/core/http_client.py,sha256=R0pQpCppnEtxccGvXl4uJ76s7ro_65Fo_erlNNLp_AI,19228
@@ -30,7 +30,7 @@ vellum/lib/utils/paginator.py,sha256=yDvgehocYBDclLt5SewZH4hCIyq0yLHdBzkyPCoYPjs
30
30
  vellum/lib/utils/typing.py,sha256=qngWnFwrWLUeu1nmixXGj173mwg7BXKTAyQkxK8AtfQ,327
31
31
  vellum/lib/utils/uuid.py,sha256=nedyhTNQDS2YvrU5gL3PtvG9cgGH87yKOcpGDJAe44E,214
32
32
  vellum/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
33
- vellum/resources/__init__.py,sha256=k67xbO6jV_Jq8JlVGhQadWLb2C4AP-Vz5kTsVZOjHfE,1016
33
+ vellum/resources/__init__.py,sha256=WgEjN7hU-7e0BpBfHGxN6S4lBhRv3kYF3jcf6Bsil2U,1048
34
34
  vellum/resources/ad_hoc/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
35
35
  vellum/resources/ad_hoc/client.py,sha256=maNoWMHH8LSFlr5rDfoJybiPaoWuUiWFkt-IFq8dNMA,17271
36
36
  vellum/resources/deployments/__init__.py,sha256=AE0TcFwLrLBljM0ZDX-pPw4Kqt-1f5JDpIok2HS80QI,157
@@ -61,6 +61,8 @@ vellum/resources/workflow_deployments/types/__init__.py,sha256=rmS_4dtbgLHGNQJ_p
61
61
  vellum/resources/workflow_deployments/types/workflow_deployments_list_request_status.py,sha256=FXVkVmGM6DZ2RpTGnZXWJYiVlLQ-K5fDtX3WMaBPaWk,182
62
62
  vellum/resources/workflow_sandboxes/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
63
63
  vellum/resources/workflow_sandboxes/client.py,sha256=3wVQxkjrJ5bIS8fB5FpKXCP2dX38299ghWrJ8YmXxwQ,7435
64
+ vellum/resources/workflows/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
65
+ vellum/resources/workflows/client.py,sha256=ZOUOWKdQRv7tFks5c8gwU6JMSLeskYu7Om9gk8t1oCM,4639
64
66
  vellum/resources/workspace_secrets/__init__.py,sha256=FTtvy8EDg9nNNg9WCatVgKTRYV8-_v1roeGPAKoa_pw,65
65
67
  vellum/resources/workspace_secrets/client.py,sha256=XPrvVh-Pvgt_may5ktpOQm_b1GgqP6lHit2g_5CsbTI,4022
66
68
  vellum/terraform/__init__.py,sha256=CxzT0rkV9cXwAtxZ3gv46DCRt9vBl_Sx1SOj5MJtl0Y,498
@@ -74,7 +76,7 @@ vellum/terraform/ml_model/__init__.py,sha256=I8h1Ru-Rb-Hi_HusK6G7nJQZEKQGsAAHMmw
74
76
  vellum/terraform/provider/__init__.py,sha256=-06xKmAmknpohVzw5TD-t1bnUHta8OrQYqvMd04XM-U,12684
75
77
  vellum/terraform/py.typed,sha256=AbpHGcgLb-kRsJGnwFEktk7uzpZOCcBY74-YBdrKVGs,1
76
78
  vellum/terraform/versions.json,sha256=45c7jjRD5i4w9DJQHs5ZqLLVXRnQwP9Rirq3mWY-xEo,56
77
- vellum/types/__init__.py,sha256=lHQt4__o95doWhknUZYud8wLKSzLzW9-SYNmuW9gVso,51271
79
+ vellum/types/__init__.py,sha256=rqbSF4lK1Bu25umMTLedzseBf_j_KOoyegr3kgIhPnc,51448
78
80
  vellum/types/ad_hoc_execute_prompt_event.py,sha256=bCjujA2XsOgyF3bRZbcEqV2rOIymRgsLoIRtZpB14xg,607
79
81
  vellum/types/ad_hoc_expand_meta_request.py,sha256=hS8PC3hC--OKvRKi2ZFj_RJPQ1bxo2GXno8qJq1kk28,1338
80
82
  vellum/types/ad_hoc_fulfilled_prompt_execution_meta.py,sha256=Bfvf1d_dkmshxRACVM5vcxbH_7AQY23RmrrnPc0ytYY,939
@@ -522,6 +524,8 @@ vellum/types/workflow_output_json.py,sha256=MiCF-mq121YKZmYeaVpb3Tgh4XYqWjNgo3uM
522
524
  vellum/types/workflow_output_number.py,sha256=p8APNBpl6c3e3dxCFvZtL0jyKOmu9s6LkY3vgXwhTMw,812
523
525
  vellum/types/workflow_output_search_results.py,sha256=r3RRGVVrH2H9NAuxA7qmG8lponyeLHHhCx6AUiMYWzc,903
524
526
  vellum/types/workflow_output_string.py,sha256=_jclzbQ-Wlf-7FEVTWXhs9h5FWfj4xGpiODZBOzT43w,810
527
+ vellum/types/workflow_push_exec_config.py,sha256=2JSGRwPx97IO3rDQmpyen_Zs7R4e1nDUk7jRAZG5U8s,151
528
+ vellum/types/workflow_push_response.py,sha256=M9aVBUj4J9LGj5hMNBNMCVZKPnPvDWo9F90HSEhRW0o,578
525
529
  vellum/types/workflow_release_tag_read.py,sha256=S7ekl01oVDetL8R7MdBTb4cDhHN0W0iHGNJ1-ZpY3Tc,1155
526
530
  vellum/types/workflow_release_tag_workflow_deployment_history_item.py,sha256=pjWobdk9mZD3Px86rwFHfs_PYJBGXDKQUkxsgNEe6EA,825
527
531
  vellum/types/workflow_request_chat_history_input_request.py,sha256=WCZvwDuNS8ylWOOoKD3t7fHLSYB0h-fVCqeDRzqPoPA,898
@@ -542,7 +546,7 @@ vellum/types/workflow_result_event_output_data_string.py,sha256=tM3kgh6tEhD0dFEb
542
546
  vellum/types/workflow_stream_event.py,sha256=Wn3Yzuy9MqWAeo8tEaXDTKDEbJoA8DdYdMVq8EKuhu8,361
543
547
  vellum/types/workspace_secret_read.py,sha256=3CnHDG72IAY0KRNvc31F0xLmhnpwjQHnDYCfQJzCxI0,714
544
548
  vellum/version.py,sha256=jq-1PlAYxN9AXuaZqbYk9ak27SgE2lw9Ia5gx1b1gVI,76
545
- vellum_ai-0.8.26.dist-info/LICENSE,sha256=CcaljEIoOBaU-wItPH4PmM_mDCGpyuUY0Er1BGu5Ti8,1073
546
- vellum_ai-0.8.26.dist-info/METADATA,sha256=fwDnhRfvHuQpl_Q5i5e4e1crQjCe3CRjsamHbAQ2Gq4,4395
547
- vellum_ai-0.8.26.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
548
- vellum_ai-0.8.26.dist-info/RECORD,,
549
+ vellum_ai-0.8.27.dist-info/LICENSE,sha256=CcaljEIoOBaU-wItPH4PmM_mDCGpyuUY0Er1BGu5Ti8,1073
550
+ vellum_ai-0.8.27.dist-info/METADATA,sha256=9o08ogy2qbrxs29DVFDhHuVGQZm-Yuuyv-fPLtv0doQ,4395
551
+ vellum_ai-0.8.27.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
552
+ vellum_ai-0.8.27.dist-info/RECORD,,