exa-py 1.14.7__py3-none-any.whl → 1.14.9__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
@@ -134,7 +134,7 @@ SEARCH_OPTIONS_TYPES = {
134
134
  list
135
135
  ], # Must not be present in webpage text. (One string, up to 5 words)
136
136
  "use_autoprompt": [bool], # Convert query to Exa. (Default: false)
137
- "type": [str], # 'keyword', 'neural', or 'auto' (Default: auto)
137
+ "type": [str], # 'keyword', 'neural', 'hybrid', or 'auto' (Default: auto)
138
138
  "category": [
139
139
  str
140
140
  ], # A data category to focus on: 'company', 'research paper', 'news', 'pdf', 'github', 'tweet', 'personal site', 'linkedin profile', 'financial report'
@@ -874,7 +874,7 @@ class Exa:
874
874
  self,
875
875
  api_key: Optional[str],
876
876
  base_url: str = "https://api.exa.ai",
877
- user_agent: str = "exa-py 1.12.4",
877
+ user_agent: str = "exa-py 1.14.9",
878
878
  ):
879
879
  """Initialize the Exa client with the provided API key and optional base URL and user agent.
880
880
 
@@ -995,7 +995,7 @@ class Exa:
995
995
  include_text (List[str], optional): Strings that must appear in the page text.
996
996
  exclude_text (List[str], optional): Strings that must not appear in the page text.
997
997
  use_autoprompt (bool, optional): Convert query to Exa (default False).
998
- type (str, optional): 'keyword' or 'neural' (default 'neural').
998
+ type (str, optional): 'keyword', 'neural', or 'hybrid' (default 'neural').
999
999
  category (str, optional): e.g. 'company'
1000
1000
  flags (List[str], optional): Experimental flags for Exa usage.
1001
1001
  moderation (bool, optional): If True, the search results will be moderated for safety.
@@ -2040,7 +2040,7 @@ class AsyncExa(Exa):
2040
2040
  include_text (List[str], optional): Strings that must appear in the page text.
2041
2041
  exclude_text (List[str], optional): Strings that must not appear in the page text.
2042
2042
  use_autoprompt (bool, optional): Convert query to Exa (default False).
2043
- type (str, optional): 'keyword' or 'neural' (default 'neural').
2043
+ type (str, optional): 'keyword', 'neural', or 'hybrid' (default 'neural').
2044
2044
  category (str, optional): e.g. 'company'
2045
2045
  flags (List[str], optional): Experimental flags for Exa usage.
2046
2046
  moderation (bool, optional): If True, the search results will be moderated for safety.
@@ -1,24 +1,20 @@
1
- Metadata-Version: 2.3
1
+ Metadata-Version: 2.4
2
2
  Name: exa-py
3
- Version: 1.14.7
3
+ Version: 1.14.9
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>
5
8
  License: MIT
6
- Author: Exa AI
7
- Author-email: hello@exa.ai
8
9
  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)
21
10
  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
22
18
 
23
19
  # Exa
24
20
 
@@ -130,4 +126,3 @@ exa = Exa(api_key="your-api-key")
130
126
  output_schema=OUTPUT_SCHEMA,
131
127
  )
132
128
  ```
133
-
@@ -1,13 +1,13 @@
1
1
  exa_py/__init__.py,sha256=M2GC9oSdoV6m2msboW0vMWWl8wrth4o6gmEV4MYLGG8,66
2
- exa_py/api.py,sha256=ez32FoYovsujjMKmnY0eArgilVgG3EpAVZycOdN8Z8w,86443
2
+ exa_py/api.py,sha256=fxXFy4IkHFywVcRBXxpi6aXQwE1n_R8jiFgPkZWdhBY,86475
3
3
  exa_py/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
4
+ exa_py/utils.py,sha256=Rc1FJjoR9LQ7L_OJM91Sd1GNkbHjcLyEvJENhRix6gc,2405
4
5
  exa_py/research/__init__.py,sha256=QeY-j6bP4QP5tF9ytX0IeQhJvd0Wn4cJCD69U8pP7kA,271
5
6
  exa_py/research/client.py,sha256=C2ukFq_dE1xUfhMlHwpD9cY5rDClgn8N92pH4_FEVpE,11901
6
7
  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
10
9
  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
26
25
  exa_py/websets/webhooks/__init__.py,sha256=iTPBCxFd73z4RifLQMX6iRECx_6pwlI5qscLNjMOUHE,77
27
26
  exa_py/websets/webhooks/client.py,sha256=zsIRMTeJU65yj-zo7Zz-gG02Prtzgcx6utGFSoY4HQQ,4222
28
- exa_py-1.14.7.dist-info/METADATA,sha256=9lHc9mtsmEDDdUDJuXaVPTYeGYeCmLBpb9ur-slDPnk,4082
29
- exa_py-1.14.7.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
30
- exa_py-1.14.7.dist-info/RECORD,,
27
+ exa_py-1.14.9.dist-info/METADATA,sha256=E-1z7mgrIbcarhA9qdv9wwXSAqb_12bVYvFfYF3o-po,3800
28
+ exa_py-1.14.9.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
29
+ exa_py-1.14.9.dist-info/top_level.txt,sha256=Mfkmscdw9HWR1PtVhU1gAiVo6DHu_tyiVdb89gfZBVI,7
30
+ exa_py-1.14.9.dist-info/RECORD,,
@@ -1,4 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: poetry-core 2.1.3
2
+ Generator: setuptools (80.9.0)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
+
@@ -0,0 +1 @@
1
+ exa_py
@@ -1,42 +0,0 @@
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 -%}