exa-py 1.15.2__py3-none-any.whl → 1.15.4__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 CHANGED
@@ -2319,6 +2319,7 @@ class Exa:
2319
2319
  system_prompt: Optional[str] = None,
2320
2320
  model: Optional[Literal["exa", "exa-pro"]] = None,
2321
2321
  output_schema: Optional[JSONSchemaInput] = None,
2322
+ user_location: Optional[str] = None,
2322
2323
  ) -> Union[AnswerResponse, StreamAnswerResponse]: ...
2323
2324
 
2324
2325
  def answer(
@@ -2330,6 +2331,7 @@ class Exa:
2330
2331
  system_prompt: Optional[str] = None,
2331
2332
  model: Optional[Literal["exa", "exa-pro"]] = None,
2332
2333
  output_schema: Optional[JSONSchemaInput] = None,
2334
+ user_location: Optional[str] = None,
2333
2335
  ) -> Union[AnswerResponse, StreamAnswerResponse]:
2334
2336
  """Generate an answer to a query using Exa's search and LLM capabilities.
2335
2337
 
@@ -2384,6 +2386,7 @@ class Exa:
2384
2386
  system_prompt: Optional[str] = None,
2385
2387
  model: Optional[Literal["exa", "exa-pro"]] = None,
2386
2388
  output_schema: Optional[JSONSchemaInput] = None,
2389
+ user_location: Optional[str] = None,
2387
2390
  ) -> StreamAnswerResponse:
2388
2391
  """Generate a streaming answer response.
2389
2392
 
@@ -2852,6 +2855,7 @@ class AsyncExa(Exa):
2852
2855
  system_prompt: Optional[str] = None,
2853
2856
  model: Optional[Literal["exa", "exa-pro"]] = None,
2854
2857
  output_schema: Optional[JSONSchemaInput] = None,
2858
+ user_location: Optional[str] = None,
2855
2859
  ) -> Union[AnswerResponse, StreamAnswerResponse]:
2856
2860
  """Generate an answer to a query using Exa's search and LLM capabilities.
2857
2861
 
@@ -45,6 +45,7 @@ class AsyncResearchTyped(Generic[T]):
45
45
  self.created_at = research.created_at
46
46
  self.model = research.model
47
47
  self.instructions = research.instructions
48
+ self.output_schema = research.output_schema
48
49
  if hasattr(research, "events"):
49
50
  self.events = research.events
50
51
  if hasattr(research, "output"):
exa_py/research/models.py CHANGED
@@ -197,6 +197,9 @@ class ResearchBaseDto(BaseModel):
197
197
  instructions: Annotated[
198
198
  str, Field(description="The instructions given to this research request")
199
199
  ]
200
+ output_schema: Annotated[Optional[Dict[str, Any]], Field(alias="outputSchema")] = (
201
+ None
202
+ )
200
203
 
201
204
 
202
205
  class ResearchPendingDto(ResearchBaseDto):
@@ -210,6 +213,9 @@ class ResearchRunningDto(ResearchBaseDto):
210
213
 
211
214
  class ResearchCompletedDto(ResearchBaseDto):
212
215
  status: Literal["completed"]
216
+ finished_at: Annotated[
217
+ float, Field(alias="createdAt", description="Milliseconds since epoch time")
218
+ ]
213
219
  events: Optional[List[ResearchEvent]] = None
214
220
  output: ResearchOutput
215
221
  cost_dollars: Annotated[CostDollars, Field(alias="costDollars")]
@@ -217,11 +223,17 @@ class ResearchCompletedDto(ResearchBaseDto):
217
223
 
218
224
  class ResearchCanceledDto(ResearchBaseDto):
219
225
  status: Literal["canceled"]
226
+ finished_at: Annotated[
227
+ float, Field(alias="createdAt", description="Milliseconds since epoch time")
228
+ ]
220
229
  events: Optional[List[ResearchEvent]] = None
221
230
 
222
231
 
223
232
  class ResearchFailedDto(ResearchBaseDto):
224
233
  status: Literal["failed"]
234
+ finished_at: Annotated[
235
+ float, Field(alias="createdAt", description="Milliseconds since epoch time")
236
+ ]
225
237
  events: Optional[List[ResearchEvent]] = None
226
238
  error: Annotated[
227
239
  str, Field(description="A message indicating why the request failed")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: exa-py
3
- Version: 1.15.2
3
+ Version: 1.15.4
4
4
  Summary: Python SDK for Exa API.
5
5
  License: MIT
6
6
  Author: Exa AI
@@ -1,10 +1,10 @@
1
1
  exa_py/__init__.py,sha256=M2GC9oSdoV6m2msboW0vMWWl8wrth4o6gmEV4MYLGG8,66
2
- exa_py/api.py,sha256=ftJRM7qnF-Ki4agnG4PLtCn7YcrBV1JlC_TmhH5bbG4,109112
2
+ exa_py/api.py,sha256=WczYSUEf5HhlJZrHv44nCYfT0uogh_N98b_8FTbwuUc,109292
3
3
  exa_py/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
4
  exa_py/research/__init__.py,sha256=qbWY5c3LYBM7L4yGVtiMs9nUg_kMcAVhMhT0DvN6EI4,1014
5
- exa_py/research/async_client.py,sha256=jP6BF8nc29Mt4iU2ZEQGAC5dGM-Z9I4k3pzpPcCKJIs,9436
5
+ exa_py/research/async_client.py,sha256=zNPVLyI_8pPnUypyVAWOBTMpwgCuvFGY2GH5WHeQJMI,9488
6
6
  exa_py/research/base.py,sha256=0C52XGUMRwRox1JSVBrbiHZxqPI6Cgif7EFNqYxpc40,5451
7
- exa_py/research/models.py,sha256=2gu4jckbLYHlTmln8BhDzovuqg1fejTCncqi4r0oDow,9822
7
+ exa_py/research/models.py,sha256=P2vNjdUUebi6OJSFB5jvE9Qd47MKw05Miib9aS1kiTk,10286
8
8
  exa_py/research/sync_client.py,sha256=LHMkgqUZgKCQWgLP41Fj6EWLbt_YfX4aAgvWGjNgbXM,9155
9
9
  exa_py/research/utils.py,sha256=YR61UkReyK-LrvOTaX_aG_neS1DsmCkv7B6YODpwHvU,5965
10
10
  exa_py/utils.py,sha256=1jwKwcJwHSbrzwgMkprXSEZ-xssCtXxwf-GTRgaFmz8,6395
@@ -32,6 +32,6 @@ exa_py/websets/searches/client.py,sha256=_mCuQtdLvKus5ofgs2a9MtY56Zg07JBJzqIg6YW
32
32
  exa_py/websets/types.py,sha256=naBzmlJ-nZK3ynDGBE15lmItD5p8-x_OfsWGFpKZRDs,50874
33
33
  exa_py/websets/webhooks/__init__.py,sha256=DMl6RFkS0c79AWzkuHOXnaU5QKHmkIHYW2PhZWUFIGc,191
34
34
  exa_py/websets/webhooks/client.py,sha256=rdYU0DZKAslw5LwGKB567j3T8L34ZF9tSnlN9jLi23A,7143
35
- exa_py-1.15.2.dist-info/METADATA,sha256=Izyx0YsIaj8Q8bztKKC0UD1L75KJHJrZsMjZ_CVbLv0,3826
36
- exa_py-1.15.2.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
37
- exa_py-1.15.2.dist-info/RECORD,,
35
+ exa_py-1.15.4.dist-info/METADATA,sha256=6yFEBM106tQ7Jcb3kdKNDxTjEeaeK72H_Bqf1-A4P5s,3826
36
+ exa_py-1.15.4.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
37
+ exa_py-1.15.4.dist-info/RECORD,,