vellum-ai 0.8.12__py3-none-any.whl → 0.8.13__py3-none-any.whl
Sign up to get free protection for your applications and to get access to all the features.
- vellum/core/__init__.py +2 -1
- vellum/core/client_wrapper.py +1 -1
- vellum/core/file.py +30 -11
- vellum/core/pydantic_utilities.py +2 -2
- vellum/types/chat_message_prompt_block_properties_request.py +4 -0
- vellum/types/chat_message_prompt_block_request.py +3 -0
- vellum/types/metadata_filter_config_request.py +6 -1
- vellum/types/search_filters_request.py +6 -0
- vellum/types/search_request_options_request.py +6 -0
- {vellum_ai-0.8.12.dist-info → vellum_ai-0.8.13.dist-info}/METADATA +1 -1
- {vellum_ai-0.8.12.dist-info → vellum_ai-0.8.13.dist-info}/RECORD +13 -13
- {vellum_ai-0.8.12.dist-info → vellum_ai-0.8.13.dist-info}/LICENSE +0 -0
- {vellum_ai-0.8.12.dist-info → vellum_ai-0.8.13.dist-info}/WHEEL +0 -0
vellum/core/__init__.py
CHANGED
@@ -3,7 +3,7 @@
|
|
3
3
|
from .api_error import ApiError
|
4
4
|
from .client_wrapper import AsyncClientWrapper, BaseClientWrapper, SyncClientWrapper
|
5
5
|
from .datetime_utils import serialize_datetime
|
6
|
-
from .file import File, convert_file_dict_to_httpx_tuples
|
6
|
+
from .file import File, convert_file_dict_to_httpx_tuples, with_content_type
|
7
7
|
from .http_client import AsyncHttpClient, HttpClient
|
8
8
|
from .jsonable_encoder import jsonable_encoder
|
9
9
|
from .pydantic_utilities import (
|
@@ -43,4 +43,5 @@ __all__ = [
|
|
43
43
|
"universal_field_validator",
|
44
44
|
"universal_root_validator",
|
45
45
|
"update_forward_refs",
|
46
|
+
"with_content_type",
|
46
47
|
]
|
vellum/core/client_wrapper.py
CHANGED
@@ -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.
|
20
|
+
"X-Fern-SDK-Version": "0.8.13",
|
21
21
|
}
|
22
22
|
headers["X_API_KEY"] = self.api_key
|
23
23
|
return headers
|
vellum/core/file.py
CHANGED
@@ -1,30 +1,30 @@
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
2
2
|
|
3
|
-
import
|
3
|
+
from typing import IO, Dict, List, Mapping, Optional, Tuple, Union, cast
|
4
4
|
|
5
5
|
# File typing inspired by the flexibility of types within the httpx library
|
6
6
|
# https://github.com/encode/httpx/blob/master/httpx/_types.py
|
7
|
-
FileContent =
|
8
|
-
File =
|
7
|
+
FileContent = Union[IO[bytes], bytes, str]
|
8
|
+
File = Union[
|
9
9
|
# file (or bytes)
|
10
10
|
FileContent,
|
11
11
|
# (filename, file (or bytes))
|
12
|
-
|
12
|
+
Tuple[Optional[str], FileContent],
|
13
13
|
# (filename, file (or bytes), content_type)
|
14
|
-
|
14
|
+
Tuple[Optional[str], FileContent, Optional[str]],
|
15
15
|
# (filename, file (or bytes), content_type, headers)
|
16
|
-
|
17
|
-
|
16
|
+
Tuple[
|
17
|
+
Optional[str],
|
18
18
|
FileContent,
|
19
|
-
|
20
|
-
|
19
|
+
Optional[str],
|
20
|
+
Mapping[str, str],
|
21
21
|
],
|
22
22
|
]
|
23
23
|
|
24
24
|
|
25
25
|
def convert_file_dict_to_httpx_tuples(
|
26
|
-
d:
|
27
|
-
) ->
|
26
|
+
d: Dict[str, Union[File, List[File]]],
|
27
|
+
) -> List[Tuple[str, File]]:
|
28
28
|
"""
|
29
29
|
The format we use is a list of tuples, where the first element is the
|
30
30
|
name of the file and the second is the file object. Typically HTTPX wants
|
@@ -41,3 +41,22 @@ def convert_file_dict_to_httpx_tuples(
|
|
41
41
|
else:
|
42
42
|
httpx_tuples.append((key, file_like))
|
43
43
|
return httpx_tuples
|
44
|
+
|
45
|
+
|
46
|
+
def with_content_type(*, file: File, content_type: str) -> File:
|
47
|
+
""" """
|
48
|
+
if isinstance(file, tuple):
|
49
|
+
if len(file) == 2:
|
50
|
+
filename, content = cast(Tuple[Optional[str], FileContent], file) # type: ignore
|
51
|
+
return (filename, content, content_type)
|
52
|
+
elif len(file) == 3:
|
53
|
+
filename, content, _ = cast(Tuple[Optional[str], FileContent, Optional[str]], file) # type: ignore
|
54
|
+
return (filename, content, content_type)
|
55
|
+
elif len(file) == 4:
|
56
|
+
filename, content, _, headers = cast( # type: ignore
|
57
|
+
Tuple[Optional[str], FileContent, Optional[str], Mapping[str, str]], file
|
58
|
+
)
|
59
|
+
return (filename, content, content_type, headers)
|
60
|
+
else:
|
61
|
+
raise ValueError(f"Unexpected tuple length: {len(file)}")
|
62
|
+
return (None, file, content_type)
|
@@ -183,11 +183,11 @@ def encode_by_type(o: typing.Any) -> typing.Any:
|
|
183
183
|
return encoder(o)
|
184
184
|
|
185
185
|
|
186
|
-
def update_forward_refs(model: typing.Type["Model"]) -> None:
|
186
|
+
def update_forward_refs(model: typing.Type["Model"], **localns: typing.Any) -> None:
|
187
187
|
if IS_PYDANTIC_V2:
|
188
188
|
model.model_rebuild(raise_errors=False) # type: ignore # Pydantic v2
|
189
189
|
else:
|
190
|
-
model.update_forward_refs()
|
190
|
+
model.update_forward_refs(**localns)
|
191
191
|
|
192
192
|
|
193
193
|
# Mirrors Pydantic's internal typing
|
@@ -29,6 +29,10 @@ class ChatMessagePromptBlockPropertiesRequest(UniversalBaseModel):
|
|
29
29
|
extra = pydantic.Extra.allow
|
30
30
|
|
31
31
|
|
32
|
+
from .chat_message_prompt_block_request import ChatMessagePromptBlockRequest # noqa: E402
|
32
33
|
from .prompt_block_request import PromptBlockRequest # noqa: E402
|
33
34
|
|
35
|
+
update_forward_refs(
|
36
|
+
ChatMessagePromptBlockRequest, ChatMessagePromptBlockPropertiesRequest=ChatMessagePromptBlockPropertiesRequest
|
37
|
+
)
|
34
38
|
update_forward_refs(ChatMessagePromptBlockPropertiesRequest)
|
@@ -33,4 +33,7 @@ class ChatMessagePromptBlockRequest(UniversalBaseModel):
|
|
33
33
|
|
34
34
|
from .chat_message_prompt_block_properties_request import ChatMessagePromptBlockPropertiesRequest # noqa: E402
|
35
35
|
|
36
|
+
update_forward_refs(
|
37
|
+
ChatMessagePromptBlockPropertiesRequest, ChatMessagePromptBlockRequest=ChatMessagePromptBlockRequest
|
38
|
+
)
|
36
39
|
update_forward_refs(ChatMessagePromptBlockRequest)
|
@@ -1,12 +1,14 @@
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
2
2
|
|
3
|
+
from __future__ import annotations
|
3
4
|
from ..core.pydantic_utilities import UniversalBaseModel
|
5
|
+
from .metadata_filter_rule_request import MetadataFilterRuleRequest
|
4
6
|
import typing
|
5
7
|
from .metadata_filter_rule_combinator import MetadataFilterRuleCombinator
|
6
|
-
from .metadata_filter_rule_request import MetadataFilterRuleRequest
|
7
8
|
from .logical_operator import LogicalOperator
|
8
9
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
9
10
|
import pydantic
|
11
|
+
from ..core.pydantic_utilities import update_forward_refs
|
10
12
|
|
11
13
|
|
12
14
|
class MetadataFilterConfigRequest(UniversalBaseModel):
|
@@ -25,3 +27,6 @@ class MetadataFilterConfigRequest(UniversalBaseModel):
|
|
25
27
|
frozen = True
|
26
28
|
smart_union = True
|
27
29
|
extra = pydantic.Extra.allow
|
30
|
+
|
31
|
+
|
32
|
+
update_forward_refs(MetadataFilterRuleRequest, MetadataFilterConfigRequest=MetadataFilterConfigRequest)
|
@@ -1,10 +1,13 @@
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
2
2
|
|
3
|
+
from __future__ import annotations
|
3
4
|
from ..core.pydantic_utilities import UniversalBaseModel
|
5
|
+
from .metadata_filter_rule_request import MetadataFilterRuleRequest
|
4
6
|
import typing
|
5
7
|
import pydantic
|
6
8
|
from .metadata_filter_config_request import MetadataFilterConfigRequest
|
7
9
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
10
|
+
from ..core.pydantic_utilities import update_forward_refs
|
8
11
|
|
9
12
|
|
10
13
|
class SearchFiltersRequest(UniversalBaseModel):
|
@@ -26,3 +29,6 @@ class SearchFiltersRequest(UniversalBaseModel):
|
|
26
29
|
frozen = True
|
27
30
|
smart_union = True
|
28
31
|
extra = pydantic.Extra.allow
|
32
|
+
|
33
|
+
|
34
|
+
update_forward_refs(MetadataFilterRuleRequest, SearchFiltersRequest=SearchFiltersRequest)
|
@@ -1,12 +1,15 @@
|
|
1
1
|
# This file was auto-generated by Fern from our API Definition.
|
2
2
|
|
3
|
+
from __future__ import annotations
|
3
4
|
from ..core.pydantic_utilities import UniversalBaseModel
|
5
|
+
from .metadata_filter_rule_request import MetadataFilterRuleRequest
|
4
6
|
import typing
|
5
7
|
import pydantic
|
6
8
|
from .search_weights_request import SearchWeightsRequest
|
7
9
|
from .search_result_merging_request import SearchResultMergingRequest
|
8
10
|
from .search_filters_request import SearchFiltersRequest
|
9
11
|
from ..core.pydantic_utilities import IS_PYDANTIC_V2
|
12
|
+
from ..core.pydantic_utilities import update_forward_refs
|
10
13
|
|
11
14
|
|
12
15
|
class SearchRequestOptionsRequest(UniversalBaseModel):
|
@@ -38,3 +41,6 @@ class SearchRequestOptionsRequest(UniversalBaseModel):
|
|
38
41
|
frozen = True
|
39
42
|
smart_union = True
|
40
43
|
extra = pydantic.Extra.allow
|
44
|
+
|
45
|
+
|
46
|
+
update_forward_refs(MetadataFilterRuleRequest, SearchRequestOptionsRequest=SearchRequestOptionsRequest)
|
@@ -1,13 +1,13 @@
|
|
1
1
|
vellum/__init__.py,sha256=ZjILSZ1gKX9YUZjjOzr0wngRMV7aYaCvuCXgoxt7n2o,30148
|
2
2
|
vellum/client.py,sha256=tsLLtZbwPASP8Cdh1RF19pOuNmZbBKFkUiplU9X190Q,101256
|
3
|
-
vellum/core/__init__.py,sha256=
|
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=
|
5
|
+
vellum/core/client_wrapper.py,sha256=rsTOZjk7z3mQIFC1nDTnTmM5L8SZWvNAx974kSd7ktQ,1898
|
6
6
|
vellum/core/datetime_utils.py,sha256=nBys2IsYrhPdszxGKCNRPSOCwa-5DWOHG95FB8G9PKo,1047
|
7
|
-
vellum/core/file.py,sha256=
|
7
|
+
vellum/core/file.py,sha256=X9IbmkZmB2bB_DpmZAO3crWdXagOakAyn6UCOCImCPg,2322
|
8
8
|
vellum/core/http_client.py,sha256=rZSidd9LazCjduvdBhZ7GDs4iGfn-OAfRGsDXB1z8f4,18882
|
9
9
|
vellum/core/jsonable_encoder.py,sha256=qaF1gtgH-kQZb4kJskETwcCsOPUof-NnYVdszHkb-dM,3656
|
10
|
-
vellum/core/pydantic_utilities.py,sha256=
|
10
|
+
vellum/core/pydantic_utilities.py,sha256=mrrWV91fMWAertBxn2shhHQDm_i2WrbQrqXskVEVKHg,9170
|
11
11
|
vellum/core/query_encoder.py,sha256=ekulqNd0j8TgD7ox-Qbz7liqX8-KP9blvT9DsRCenYM,2144
|
12
12
|
vellum/core/remove_none_from_dict.py,sha256=EU9SGgYidWq7SexuJbNs4-PZ-5Bl3Vppd864mS6vQZw,342
|
13
13
|
vellum/core/request_options.py,sha256=5cCGt5AEGgtP5xifDl4oVQUmSjlIA8FmRItAlJawM18,1417
|
@@ -93,8 +93,8 @@ vellum/types/chat_history_input_request.py,sha256=0dmWfRWN9lOGEorQ3P1jKPAQtcXVex
|
|
93
93
|
vellum/types/chat_message.py,sha256=EOA8v5Ebx2KS9BtwBBGbuvSK-pn4xWYZiioHuuPWvzw,916
|
94
94
|
vellum/types/chat_message_content.py,sha256=2Fd2Ek-lO3rdfAXFc1eJlwisMVQwbESAcRHFedkeF3A,501
|
95
95
|
vellum/types/chat_message_content_request.py,sha256=609nXvgmv65ZohV2B4Kh3cr30Tez69BdDidBYhiREP4,609
|
96
|
-
vellum/types/chat_message_prompt_block_properties_request.py,sha256=
|
97
|
-
vellum/types/chat_message_prompt_block_request.py,sha256=
|
96
|
+
vellum/types/chat_message_prompt_block_properties_request.py,sha256=lMBVwR5hnBykjVpcptjBJLj4QhUpomtxdj-E2Th8iYw,1346
|
97
|
+
vellum/types/chat_message_prompt_block_request.py,sha256=osPqtdZOG9NW_Iqcv0CyvkU2cHZzPeVVIWQUGvnB-Dw,1423
|
98
98
|
vellum/types/chat_message_request.py,sha256=r2EW1pfnvNYx2fo6mBqU5HQrUzp67WXuE5G-XK281E4,945
|
99
99
|
vellum/types/chat_message_role.py,sha256=-i0Jrcbwf72MkMoaFTGyxRduvlN7f5Y9ULhCXR5KNdA,182
|
100
100
|
vellum/types/code_execution_node_array_result.py,sha256=IpqOekJZVY1F1ecCuDmda6BldzG8VzPtXNd2Kx02wJw,746
|
@@ -208,7 +208,7 @@ vellum/types/map_node_result.py,sha256=e2YqEP-aKig2TbbZIlfn5LCeVEVhEJJBR7o7xTBKX
|
|
208
208
|
vellum/types/map_node_result_data.py,sha256=3xJXC1JrS9lo3-3_u1S79sYwLxMknNntDyspN24vQzY,699
|
209
209
|
vellum/types/merge_node_result.py,sha256=h8iEDQgiEjVASom_lAyIi9iErh9rU0_Am7awyzIarnc,742
|
210
210
|
vellum/types/merge_node_result_data.py,sha256=BM3bmwFhTDiY5HchT-5uRl0o6qmJ5KH-NHRb9huGRoA,640
|
211
|
-
vellum/types/metadata_filter_config_request.py,sha256=
|
211
|
+
vellum/types/metadata_filter_config_request.py,sha256=Vg9Yd2VJltbiVYadCk55RTHcaW-3hBYtAe_Ksqs_WeM,1260
|
212
212
|
vellum/types/metadata_filter_rule_combinator.py,sha256=3Vpp1Mnv3As7efkxWTeV8qd4gdJ6OLoLhz_UeVBHAX8,165
|
213
213
|
vellum/types/metadata_filter_rule_request.py,sha256=Pcs0TsU7CRnsEUoH0DWb-c9DTP2UW67lJKXlsTLXV48,1135
|
214
214
|
vellum/types/metric_node_result.py,sha256=YdKq1DZiBD1RBtjyMejImylv3BqrwY8B_UF4Ij-6_64,660
|
@@ -312,10 +312,10 @@ vellum/types/scenario_input.py,sha256=caC8p5ZnuXhv2ZiHvzTvKL3Ebtr4NXP9Q8UcJEVB8-
|
|
312
312
|
vellum/types/scenario_input_chat_history_variable_value.py,sha256=ihgJktmZpz_12wx2yPtyrSrBjcBcSg9fby7h_eLoXgI,835
|
313
313
|
vellum/types/scenario_input_json_variable_value.py,sha256=aKbQK2Q8IPOZq9QyjhECLqR1y42eqtddmkvH-jzPEhk,752
|
314
314
|
vellum/types/scenario_input_string_variable_value.py,sha256=Y9UtkeqM-oBtPXGw_RXbgZNcmQiLvSUH8utTiv0a2qo,753
|
315
|
-
vellum/types/search_filters_request.py,sha256=
|
315
|
+
vellum/types/search_filters_request.py,sha256=gAE5CHxGUNR1-fu5M5L1gYll0NXE8j5fwD2wriCRJUk,1171
|
316
316
|
vellum/types/search_node_result.py,sha256=eJaAWXzEZ-CzySXXlI51MEgdO35H7bK5NTPFJ6zLbJ0,749
|
317
317
|
vellum/types/search_node_result_data.py,sha256=IWal6uJbfP6JpKXxeiNsKCyqjrwkN2XUxH-Bz-n6uAg,846
|
318
|
-
vellum/types/search_request_options_request.py,sha256=
|
318
|
+
vellum/types/search_request_options_request.py,sha256=U-71mBhO105e_fLDYMrys9VKXAuIWkAM1aMXzQUv5eM,1583
|
319
319
|
vellum/types/search_response.py,sha256=b5301wpC3L7QUBLYAHya_JJy2BdmDvFWA0UluNJc1ig,750
|
320
320
|
vellum/types/search_result.py,sha256=kixaodfGe19x9UFF2Axe2xawmxhnTGWXq3zE6jrkGgE,1194
|
321
321
|
vellum/types/search_result_document.py,sha256=sbhpvfZ2wgvZx2auwOFRn92i5JZEiB2HJVPr9KGRSg0,1177
|
@@ -484,7 +484,7 @@ vellum/types/workflow_result_event_output_data_search_results.py,sha256=U34IK7Zv
|
|
484
484
|
vellum/types/workflow_result_event_output_data_string.py,sha256=tM3kgh6tEhD0dFEb_7UU0-UspeN4pUdINCcCrD64W74,1228
|
485
485
|
vellum/types/workflow_stream_event.py,sha256=Wn3Yzuy9MqWAeo8tEaXDTKDEbJoA8DdYdMVq8EKuhu8,361
|
486
486
|
vellum/version.py,sha256=jq-1PlAYxN9AXuaZqbYk9ak27SgE2lw9Ia5gx1b1gVI,76
|
487
|
-
vellum_ai-0.8.
|
488
|
-
vellum_ai-0.8.
|
489
|
-
vellum_ai-0.8.
|
490
|
-
vellum_ai-0.8.
|
487
|
+
vellum_ai-0.8.13.dist-info/LICENSE,sha256=CcaljEIoOBaU-wItPH4PmM_mDCGpyuUY0Er1BGu5Ti8,1073
|
488
|
+
vellum_ai-0.8.13.dist-info/METADATA,sha256=rqpR6maCbemvdA9jmQ2YPnoTEVKONY7EIwozIZ_yMfg,4395
|
489
|
+
vellum_ai-0.8.13.dist-info/WHEEL,sha256=Zb28QaM1gQi8f4VCBhsUklF61CTlNYfs9YAZn-TOGFk,88
|
490
|
+
vellum_ai-0.8.13.dist-info/RECORD,,
|
File without changes
|
File without changes
|