exa-py 1.14.9__py3-none-any.whl → 1.14.10__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.
Potentially problematic release.
This version of exa-py might be problematic. Click here for more details.
- exa_py/api.py +4 -4
- exa_py/websets/_generator/pydantic/BaseModel.jinja2 +42 -0
- {exa_py-1.14.9.dist-info → exa_py-1.14.10.dist-info}/METADATA +19 -14
- {exa_py-1.14.9.dist-info → exa_py-1.14.10.dist-info}/RECORD +7 -7
- {exa_py-1.14.9.dist-info → exa_py-1.14.10.dist-info}/WHEEL +1 -2
- exa_py-1.14.9.dist-info/top_level.txt +0 -1
exa_py/api.py
CHANGED
|
@@ -1909,7 +1909,7 @@ class Exa:
|
|
|
1909
1909
|
query (str): The query to answer.
|
|
1910
1910
|
text (bool, optional): Whether to include full text in the results. Defaults to False.
|
|
1911
1911
|
system_prompt (str, optional): A system prompt to guide the LLM's behavior when generating the answer.
|
|
1912
|
-
model (str, optional): The model to use for answering.
|
|
1912
|
+
model (str, optional): The model to use for answering. Defaults to None.
|
|
1913
1913
|
output_schema (dict[str, Any], optional): JSON schema describing the desired answer structure.
|
|
1914
1914
|
|
|
1915
1915
|
Returns:
|
|
@@ -1948,7 +1948,7 @@ class Exa:
|
|
|
1948
1948
|
query (str): The query to answer.
|
|
1949
1949
|
text (bool): Whether to include full text in the results. Defaults to False.
|
|
1950
1950
|
system_prompt (str, optional): A system prompt to guide the LLM's behavior when generating the answer.
|
|
1951
|
-
model (str, optional): The model to use for answering.
|
|
1951
|
+
model (str, optional): The model to use for answering. Defaults to None.
|
|
1952
1952
|
output_schema (dict[str, Any], optional): JSON schema describing the desired answer structure.
|
|
1953
1953
|
Returns:
|
|
1954
1954
|
StreamAnswerResponse: An object that can be iterated over to retrieve (partial text, partial citations).
|
|
@@ -2253,7 +2253,7 @@ class AsyncExa(Exa):
|
|
|
2253
2253
|
query (str): The query to answer.
|
|
2254
2254
|
text (bool, optional): Whether to include full text in the results. Defaults to False.
|
|
2255
2255
|
system_prompt (str, optional): A system prompt to guide the LLM's behavior when generating the answer.
|
|
2256
|
-
model (str, optional): The model to use for answering.
|
|
2256
|
+
model (str, optional): The model to use for answering. Defaults to None.
|
|
2257
2257
|
output_schema (dict[str, Any], optional): JSON schema describing the desired answer structure.
|
|
2258
2258
|
|
|
2259
2259
|
Returns:
|
|
@@ -2292,7 +2292,7 @@ class AsyncExa(Exa):
|
|
|
2292
2292
|
query (str): The query to answer.
|
|
2293
2293
|
text (bool): Whether to include full text in the results. Defaults to False.
|
|
2294
2294
|
system_prompt (str, optional): A system prompt to guide the LLM's behavior when generating the answer.
|
|
2295
|
-
model (str, optional): The model to use for answering.
|
|
2295
|
+
model (str, optional): The model to use for answering. Defaults to None.
|
|
2296
2296
|
output_schema (dict[str, Any], optional): JSON schema describing the desired answer structure.
|
|
2297
2297
|
Returns:
|
|
2298
2298
|
AsyncStreamAnswerResponse: An object that can be iterated over to retrieve (partial text, partial citations).
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
{% for decorator in decorators -%}
|
|
2
|
+
{{ decorator }}
|
|
3
|
+
{% endfor -%}
|
|
4
|
+
class {{ class_name }}({{ base_class }}):{% if comment is defined %} # {{ comment }}{% endif %}
|
|
5
|
+
{%- if description %}
|
|
6
|
+
"""
|
|
7
|
+
{{ description | indent(4) }}
|
|
8
|
+
"""
|
|
9
|
+
{%- endif %}
|
|
10
|
+
{%- if not fields and not description %}
|
|
11
|
+
pass
|
|
12
|
+
{%- endif %}
|
|
13
|
+
{%- if config %}
|
|
14
|
+
{%- filter indent(4) %}
|
|
15
|
+
{%- endfilter %}
|
|
16
|
+
{%- endif %}
|
|
17
|
+
{%- for field in fields -%}
|
|
18
|
+
{%- if field.name == "type" and field.field %}
|
|
19
|
+
type: Literal['{{ field.default }}']
|
|
20
|
+
{%- elif field.name == "object" and field.field %}
|
|
21
|
+
object: Literal['{{ field.default }}']
|
|
22
|
+
{%- elif not field.annotated and field.field %}
|
|
23
|
+
{{ field.name }}: {{ field.type_hint }} = {{ field.field }}
|
|
24
|
+
{%- else %}
|
|
25
|
+
{%- if field.annotated %}
|
|
26
|
+
{{ field.name }}: {{ field.annotated }}
|
|
27
|
+
{%- else %}
|
|
28
|
+
{{ field.name }}: {{ field.type_hint }}
|
|
29
|
+
{%- endif %}
|
|
30
|
+
{%- if not (field.required or (field.represented_default == 'None' and field.strip_default_none)) or field.data_type.is_optional
|
|
31
|
+
%} = {{ field.represented_default }}
|
|
32
|
+
{%- endif -%}
|
|
33
|
+
{%- endif %}
|
|
34
|
+
{%- if field.docstring %}
|
|
35
|
+
"""
|
|
36
|
+
{{ field.docstring | indent(4) }}
|
|
37
|
+
"""
|
|
38
|
+
{%- endif %}
|
|
39
|
+
{%- for method in methods -%}
|
|
40
|
+
{{ method }}
|
|
41
|
+
{%- endfor -%}
|
|
42
|
+
{%- endfor -%}
|
|
@@ -1,20 +1,24 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.3
|
|
2
2
|
Name: exa-py
|
|
3
|
-
Version: 1.14.
|
|
3
|
+
Version: 1.14.10
|
|
4
4
|
Summary: Python SDK for Exa API.
|
|
5
|
-
Home-page: https://github.com/exa-labs/exa-py
|
|
6
|
-
Author: Exa
|
|
7
|
-
Author-email: Exa AI <hello@exa.ai>
|
|
8
5
|
License: MIT
|
|
6
|
+
Author: Exa AI
|
|
7
|
+
Author-email: hello@exa.ai
|
|
9
8
|
Requires-Python: >=3.9
|
|
9
|
+
Classifier: License :: OSI Approved :: MIT License
|
|
10
|
+
Classifier: Programming Language :: Python :: 3
|
|
11
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
12
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
13
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
14
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
15
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
16
|
+
Requires-Dist: httpx (>=0.28.1)
|
|
17
|
+
Requires-Dist: openai (>=1.48)
|
|
18
|
+
Requires-Dist: pydantic (>=2.10.6)
|
|
19
|
+
Requires-Dist: requests (>=2.32.3)
|
|
20
|
+
Requires-Dist: typing-extensions (>=4.12.2)
|
|
10
21
|
Description-Content-Type: text/markdown
|
|
11
|
-
Requires-Dist: requests>=2.32.3
|
|
12
|
-
Requires-Dist: typing-extensions>=4.12.2
|
|
13
|
-
Requires-Dist: openai>=1.48
|
|
14
|
-
Requires-Dist: pydantic>=2.10.6
|
|
15
|
-
Requires-Dist: httpx>=0.28.1
|
|
16
|
-
Dynamic: author
|
|
17
|
-
Dynamic: home-page
|
|
18
22
|
|
|
19
23
|
# Exa
|
|
20
24
|
|
|
@@ -81,8 +85,8 @@ exa = Exa(api_key="your-api-key")
|
|
|
81
85
|
# basic answer
|
|
82
86
|
response = exa.answer("This is a query to answer a question")
|
|
83
87
|
|
|
84
|
-
# answer with full text
|
|
85
|
-
response = exa.answer("This is a query to answer a question", text=True
|
|
88
|
+
# answer with full text
|
|
89
|
+
response = exa.answer("This is a query to answer a question", text=True)
|
|
86
90
|
|
|
87
91
|
# answer with streaming
|
|
88
92
|
response = exa.stream_answer("This is a query to answer:")
|
|
@@ -126,3 +130,4 @@ exa = Exa(api_key="your-api-key")
|
|
|
126
130
|
output_schema=OUTPUT_SCHEMA,
|
|
127
131
|
)
|
|
128
132
|
```
|
|
133
|
+
|
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
exa_py/__init__.py,sha256=M2GC9oSdoV6m2msboW0vMWWl8wrth4o6gmEV4MYLGG8,66
|
|
2
|
-
exa_py/api.py,sha256=
|
|
2
|
+
exa_py/api.py,sha256=qcEmAuPaP2B6890OKIvAJRG0qofTu4i4TGXbQlqzDoU,86367
|
|
3
3
|
exa_py/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
exa_py/utils.py,sha256=Rc1FJjoR9LQ7L_OJM91Sd1GNkbHjcLyEvJENhRix6gc,2405
|
|
5
4
|
exa_py/research/__init__.py,sha256=QeY-j6bP4QP5tF9ytX0IeQhJvd0Wn4cJCD69U8pP7kA,271
|
|
6
5
|
exa_py/research/client.py,sha256=C2ukFq_dE1xUfhMlHwpD9cY5rDClgn8N92pH4_FEVpE,11901
|
|
7
6
|
exa_py/research/models.py,sha256=j7YgRoMRp2MLgnaij7775x_hJEeV5gksKpfLwmawqxY,3704
|
|
7
|
+
exa_py/utils.py,sha256=Rc1FJjoR9LQ7L_OJM91Sd1GNkbHjcLyEvJENhRix6gc,2405
|
|
8
8
|
exa_py/websets/__init__.py,sha256=6HQWR8_ABPeZx2sHfwGV4QQf1Eh8MRaO-kzoIO_1ua8,126
|
|
9
|
+
exa_py/websets/_generator/pydantic/BaseModel.jinja2,sha256=RUDCmPZVamoVx1WudylscYFfDhGoNNtRYlpTvKjAiuA,1276
|
|
9
10
|
exa_py/websets/client.py,sha256=nP0XZAEMIFvinb1DJ6gNF-8jCnKMUmBun5wZ9EgeZ0M,4891
|
|
10
|
-
exa_py/websets/types.py,sha256=UC41VqvBcUueSqUjxmb0nLb-c7qmScoNkcmdyp9npqY,41736
|
|
11
11
|
exa_py/websets/core/__init__.py,sha256=xOyrFaqtBocMUu321Jpbk7IzIQRNZufSIGJXrKoG-Bg,323
|
|
12
12
|
exa_py/websets/core/base.py,sha256=thVIeRtlabbvueP0dAni5Nwtl9AWYv1I1Mmyc_jlYO0,4086
|
|
13
13
|
exa_py/websets/enrichments/__init__.py,sha256=5dJIEKKceUost3RnI6PpCSB3VjUCBzxseEsIXu-ZY-Y,83
|
|
@@ -22,9 +22,9 @@ exa_py/websets/monitors/runs/__init__.py,sha256=TmcETf3zdQouA_vAeLiosCNL1MYJnZ0y
|
|
|
22
22
|
exa_py/websets/monitors/runs/client.py,sha256=WnwcWCf7UKk68VCNUp8mRXBtlU8vglTSX-eoWVXzKIw,1229
|
|
23
23
|
exa_py/websets/searches/__init__.py,sha256=_0Zx8ES5fFTEL3T8mhLxq_xK2t0JONx6ad6AtbvClsE,77
|
|
24
24
|
exa_py/websets/searches/client.py,sha256=X3f7axWGfecmxf-2tBTX0Yf_--xToz1X8ZHbbudEzy0,1790
|
|
25
|
+
exa_py/websets/types.py,sha256=UC41VqvBcUueSqUjxmb0nLb-c7qmScoNkcmdyp9npqY,41736
|
|
25
26
|
exa_py/websets/webhooks/__init__.py,sha256=iTPBCxFd73z4RifLQMX6iRECx_6pwlI5qscLNjMOUHE,77
|
|
26
27
|
exa_py/websets/webhooks/client.py,sha256=zsIRMTeJU65yj-zo7Zz-gG02Prtzgcx6utGFSoY4HQQ,4222
|
|
27
|
-
exa_py-1.14.
|
|
28
|
-
exa_py-1.14.
|
|
29
|
-
exa_py-1.14.
|
|
30
|
-
exa_py-1.14.9.dist-info/RECORD,,
|
|
28
|
+
exa_py-1.14.10.dist-info/METADATA,sha256=lBJuJsuRLqjtBfgrhrHsTKl8horGLXVT4KJZNMGjm-s,4001
|
|
29
|
+
exa_py-1.14.10.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
30
|
+
exa_py-1.14.10.dist-info/RECORD,,
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
exa_py
|