exa-py 1.16.0__py3-none-any.whl → 2.0.0__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.

@@ -23,6 +23,7 @@ from .models import (
23
23
  ResearchDto,
24
24
  ResearchEvent,
25
25
  ListResearchResponseDto,
26
+ ResearchModel,
26
27
  )
27
28
  from .utils import (
28
29
  async_stream_sse_events,
@@ -64,7 +65,7 @@ class AsyncResearchClient(AsyncResearchBaseClient):
64
65
  self,
65
66
  *,
66
67
  instructions: str,
67
- model: Literal["exa-research", "exa-research-pro"] = "exa-research",
68
+ model: ResearchModel = "exa-research-fast",
68
69
  ) -> ResearchDto: ...
69
70
 
70
71
  @overload
exa_py/research/models.py CHANGED
@@ -5,6 +5,9 @@ from typing import Annotated, Any, Dict, List, Literal, Optional, Union
5
5
  from pydantic import BaseModel, Field, RootModel
6
6
 
7
7
 
8
+ ResearchModel = Literal["exa-research-fast", "exa-research", "exa-research-pro"]
9
+
10
+
8
11
  class CostDollars(BaseModel):
9
12
  total: float
10
13
  num_pages: Annotated[float, Field(alias="numPages")]
@@ -191,7 +194,7 @@ class ResearchBaseDto(BaseModel):
191
194
  float, Field(alias="createdAt", description="Milliseconds since epoch time")
192
195
  ]
193
196
  model: Annotated[
194
- Literal["exa-research", "exa-research-pro"],
197
+ ResearchModel,
195
198
  Field(description="The model used for the research request"),
196
199
  ] = "exa-research"
197
200
  instructions: Annotated[
@@ -273,7 +276,7 @@ class ListResearchResponseDto(BaseModel):
273
276
 
274
277
 
275
278
  class ResearchCreateRequestDto(BaseModel):
276
- model: Literal["exa-research", "exa-research-pro"] = "exa-research"
279
+ model: ResearchModel = "exa-research"
277
280
  instructions: Annotated[
278
281
  str,
279
282
  Field(
@@ -313,6 +316,7 @@ __all__ = [
313
316
  "ResearchTaskOutput",
314
317
  "ResearchTaskOutputEvent",
315
318
  "ResearchMetaEvent",
319
+ "ResearchModel",
316
320
  "ResearchPlanEvent",
317
321
  "ResearchTaskEvent",
318
322
  "ResearchEvent",
@@ -23,6 +23,7 @@ from .models import (
23
23
  ResearchDto,
24
24
  ResearchEvent,
25
25
  ListResearchResponseDto,
26
+ ResearchModel,
26
27
  )
27
28
  from .utils import (
28
29
  is_pydantic_model,
@@ -63,7 +64,7 @@ class ResearchClient(ResearchBaseClient):
63
64
  self,
64
65
  *,
65
66
  instructions: str,
66
- model: Literal["exa-research", "exa-research-pro"] = "exa-research",
67
+ model: ResearchModel = "exa-research-fast",
67
68
  ) -> ResearchDto: ...
68
69
 
69
70
  @overload
@@ -71,7 +72,7 @@ class ResearchClient(ResearchBaseClient):
71
72
  self,
72
73
  *,
73
74
  instructions: str,
74
- model: Literal["exa-research", "exa-research-pro"] = "exa-research",
75
+ model: ResearchModel = "exa-research-fast",
75
76
  output_schema: Dict[str, Any],
76
77
  ) -> ResearchDto: ...
77
78
 
@@ -80,7 +81,7 @@ class ResearchClient(ResearchBaseClient):
80
81
  self,
81
82
  *,
82
83
  instructions: str,
83
- model: Literal["exa-research", "exa-research-pro"] = "exa-research",
84
+ model: ResearchModel = "exa-research-fast",
84
85
  output_schema: Type[T],
85
86
  ) -> ResearchDto: ...
86
87
 
@@ -88,7 +89,7 @@ class ResearchClient(ResearchBaseClient):
88
89
  self,
89
90
  *,
90
91
  instructions: str,
91
- model: Literal["exa-research", "exa-research-pro"] = "exa-research",
92
+ model: ResearchModel = "exa-research-fast",
92
93
  output_schema: Optional[Union[Dict[str, Any], Type[BaseModel]]] = None,
93
94
  ) -> ResearchDto:
94
95
  """Create a new research request.
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: exa-py
3
- Version: 1.16.0
3
+ Version: 2.0.0
4
4
  Summary: Python SDK for Exa API.
5
5
  License: MIT
6
6
  Author: Exa AI
@@ -1,11 +1,11 @@
1
1
  exa_py/__init__.py,sha256=M2GC9oSdoV6m2msboW0vMWWl8wrth4o6gmEV4MYLGG8,66
2
- exa_py/api.py,sha256=vvhpalfGtBs9-hOilhFtjUTiNSOFtZVIs5j7pE7FUW0,110347
2
+ exa_py/api.py,sha256=D8rreocXToindpnWe7uULNkhZZlGZMpk087oWgMopWw,90016
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=zNPVLyI_8pPnUypyVAWOBTMpwgCuvFGY2GH5WHeQJMI,9488
5
+ exa_py/research/async_client.py,sha256=XbqmJEAh8oHJmVVF3yOfLdNVOHi6knvUjCcz52RvxJU,9482
6
6
  exa_py/research/base.py,sha256=0C52XGUMRwRox1JSVBrbiHZxqPI6Cgif7EFNqYxpc40,5451
7
- exa_py/research/models.py,sha256=P2vNjdUUebi6OJSFB5jvE9Qd47MKw05Miib9aS1kiTk,10286
8
- exa_py/research/sync_client.py,sha256=LHMkgqUZgKCQWgLP41Fj6EWLbt_YfX4aAgvWGjNgbXM,9155
7
+ exa_py/research/models.py,sha256=y-f_d1FBNl7X49KveWhxtTM_RHVKq0MT95nu6NSQTjk,10330
8
+ exa_py/research/sync_client.py,sha256=QCAj2npkvlqdQjgSHSywEo0r_SFZj6YNbx41PjGCjS4,9074
9
9
  exa_py/research/utils.py,sha256=YR61UkReyK-LrvOTaX_aG_neS1DsmCkv7B6YODpwHvU,5965
10
10
  exa_py/utils.py,sha256=1jwKwcJwHSbrzwgMkprXSEZ-xssCtXxwf-GTRgaFmz8,6395
11
11
  exa_py/websets/__init__.py,sha256=8ZWndRgeTKceZ3Wcm5xCh_dykrKkoCYdZdKcK7C3aSw,226
@@ -32,6 +32,6 @@ exa_py/websets/searches/client.py,sha256=XjOU-CWc9nVYbFYUvPzo26oKAkGgETqR5YCLHJG
32
32
  exa_py/websets/types.py,sha256=ZsZtVzjBZ7UsqZNs4rBhX3PJxGKOC0ulOT1NuSlsW30,51398
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.16.0.dist-info/METADATA,sha256=CQKeMFqymPvU8SHRNpKf5zOkenicFHo-ApwZeYXFHtk,3899
36
- exa_py-1.16.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
37
- exa_py-1.16.0.dist-info/RECORD,,
35
+ exa_py-2.0.0.dist-info/METADATA,sha256=quOYczMf-qV1SjewO7N7kR5DZ1d46iZLOS1lcPltoI0,3898
36
+ exa_py-2.0.0.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
37
+ exa_py-2.0.0.dist-info/RECORD,,