exa-py 1.4.1b0__py3-none-any.whl → 1.5.1__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
|
@@ -147,8 +147,9 @@ CONTENTS_OPTIONS_TYPES = {
|
|
|
147
147
|
}
|
|
148
148
|
|
|
149
149
|
CONTENTS_ENDPOINT_OPTIONS_TYPES = {
|
|
150
|
-
"subpages": [int],
|
|
151
|
-
"subpage_target": [str,
|
|
150
|
+
"subpages": [int],
|
|
151
|
+
"subpage_target": [str],
|
|
152
|
+
"extras": [dict],
|
|
152
153
|
}
|
|
153
154
|
|
|
154
155
|
# FOR BETA OPTIONS
|
|
@@ -219,6 +220,15 @@ class SummaryContentsOptions(TypedDict, total=False):
|
|
|
219
220
|
|
|
220
221
|
query: str
|
|
221
222
|
|
|
223
|
+
class ExtrasOptions(TypedDict, total=False):
|
|
224
|
+
"""A class representing the options that you can specify when requesting summary
|
|
225
|
+
|
|
226
|
+
Attributes:
|
|
227
|
+
query (str): The query string for the summary. Summary will bias towards answering the query.
|
|
228
|
+
"""
|
|
229
|
+
|
|
230
|
+
links: int
|
|
231
|
+
|
|
222
232
|
@dataclass
|
|
223
233
|
class _Result:
|
|
224
234
|
"""A class representing the base fields of a search result.
|
|
@@ -230,6 +240,9 @@ class _Result:
|
|
|
230
240
|
score (float, optional): A number from 0 to 1 representing similarity between the query/url and the result.
|
|
231
241
|
published_date (str, optional): An estimate of the creation date, from parsing HTML content.
|
|
232
242
|
author (str, optional): If available, the author of the content.
|
|
243
|
+
image (str, optional): If available, a URL to an image associated with the content.
|
|
244
|
+
subpages (List[_Result], optional): If available, a list of Exa contents results for a page's subpages (e.g. tesla.com --subpage--> shop.tesla.com)
|
|
245
|
+
extras (Dict, optional): Additional metadata associated with the result; currently supports returning links in the text content
|
|
233
246
|
"""
|
|
234
247
|
|
|
235
248
|
url: str
|
|
@@ -239,6 +252,8 @@ class _Result:
|
|
|
239
252
|
published_date: Optional[str] = None
|
|
240
253
|
author: Optional[str] = None
|
|
241
254
|
image: Optional[str] = None
|
|
255
|
+
subpages: Optional[List[_Result]] = None
|
|
256
|
+
extras: Optional[Dict] = None
|
|
242
257
|
|
|
243
258
|
def __init__(self, **kwargs):
|
|
244
259
|
self.url = kwargs['url']
|
|
@@ -248,6 +263,8 @@ class _Result:
|
|
|
248
263
|
self.published_date = kwargs.get('published_date')
|
|
249
264
|
self.author = kwargs.get('author')
|
|
250
265
|
self.image = kwargs.get('image')
|
|
266
|
+
self.subpages = kwargs.get('subpages')
|
|
267
|
+
self.extras = kwargs.get("extras")
|
|
251
268
|
|
|
252
269
|
def __str__(self):
|
|
253
270
|
return (
|
|
@@ -258,6 +275,8 @@ class _Result:
|
|
|
258
275
|
f"Published Date: {self.published_date}\n"
|
|
259
276
|
f"Author: {self.author}\n"
|
|
260
277
|
f"Image: {self.image}\n"
|
|
278
|
+
f"Extras {self.extras}\n"
|
|
279
|
+
f"Subpages: {self.subpages}\n"
|
|
261
280
|
)
|
|
262
281
|
|
|
263
282
|
|
|
@@ -278,6 +297,13 @@ class Result(_Result):
|
|
|
278
297
|
highlight_scores: Optional[List[float]] = None
|
|
279
298
|
summary: Optional[str] = None
|
|
280
299
|
|
|
300
|
+
def __init__(self, **kwargs):
|
|
301
|
+
super().__init__(**kwargs)
|
|
302
|
+
self.text = kwargs.get('text')
|
|
303
|
+
self.highlights = kwargs.get('highlights')
|
|
304
|
+
self.highlight_scores = kwargs.get('highlight_scores')
|
|
305
|
+
self.summary = kwargs.get('summary')
|
|
306
|
+
|
|
281
307
|
def __str__(self):
|
|
282
308
|
base_str = super().__str__()
|
|
283
309
|
return base_str + (
|
|
@@ -299,6 +325,10 @@ class ResultWithText(_Result):
|
|
|
299
325
|
|
|
300
326
|
text: str = dataclasses.field(default_factory=str)
|
|
301
327
|
|
|
328
|
+
def __init__(self, **kwargs):
|
|
329
|
+
super().__init__(**kwargs)
|
|
330
|
+
self.text = kwargs['text']
|
|
331
|
+
|
|
302
332
|
def __str__(self):
|
|
303
333
|
base_str = super().__str__()
|
|
304
334
|
return base_str + f"Text: {self.text}\n"
|
|
@@ -317,6 +347,12 @@ class ResultWithHighlights(_Result):
|
|
|
317
347
|
highlights: List[str] = dataclasses.field(default_factory=list)
|
|
318
348
|
highlight_scores: List[float] = dataclasses.field(default_factory=list)
|
|
319
349
|
|
|
350
|
+
def __init__(self, **kwargs):
|
|
351
|
+
super().__init__(**kwargs)
|
|
352
|
+
self.highlights = kwargs['highlights']
|
|
353
|
+
self.highlight_scores = kwargs['highlight_scores']
|
|
354
|
+
|
|
355
|
+
|
|
320
356
|
def __str__(self):
|
|
321
357
|
base_str = super().__str__()
|
|
322
358
|
return base_str + (
|
|
@@ -340,6 +376,12 @@ class ResultWithTextAndHighlights(_Result):
|
|
|
340
376
|
highlights: List[str] = dataclasses.field(default_factory=list)
|
|
341
377
|
highlight_scores: List[float] = dataclasses.field(default_factory=list)
|
|
342
378
|
|
|
379
|
+
def __init__(self, **kwargs):
|
|
380
|
+
super.__init__(**kwargs)
|
|
381
|
+
self.text = kwargs['text']
|
|
382
|
+
self.highlights = kwargs['highlights']
|
|
383
|
+
self.highlight_scores = kwargs['highlight_scores']
|
|
384
|
+
|
|
343
385
|
def __str__(self):
|
|
344
386
|
base_str = super().__str__()
|
|
345
387
|
return base_str + (
|
|
@@ -359,6 +401,10 @@ class ResultWithSummary(_Result):
|
|
|
359
401
|
|
|
360
402
|
summary: str = dataclasses.field(default_factory=str)
|
|
361
403
|
|
|
404
|
+
def __init__(self, **kwargs):
|
|
405
|
+
super().__init__(**kwargs)
|
|
406
|
+
self.summary = kwargs['summary']
|
|
407
|
+
|
|
362
408
|
def __str__(self):
|
|
363
409
|
base_str = super().__str__()
|
|
364
410
|
return base_str + f"Summary: {self.summary}\n"
|
|
@@ -376,6 +422,11 @@ class ResultWithTextAndSummary(_Result):
|
|
|
376
422
|
text: str = dataclasses.field(default_factory=str)
|
|
377
423
|
summary: str = dataclasses.field(default_factory=str)
|
|
378
424
|
|
|
425
|
+
def __init__(self, **kwargs):
|
|
426
|
+
super().__init__(**kwargs)
|
|
427
|
+
self.text = kwargs['text']
|
|
428
|
+
self.summary = kwargs['summary']
|
|
429
|
+
|
|
379
430
|
def __str__(self):
|
|
380
431
|
base_str = super().__str__()
|
|
381
432
|
return base_str + f"Text: {self.text}\n" + f"Summary: {self.summary}\n"
|
|
@@ -395,6 +446,12 @@ class ResultWithHighlightsAndSummary(_Result):
|
|
|
395
446
|
highlight_scores: List[float] = dataclasses.field(default_factory=list)
|
|
396
447
|
summary: str = dataclasses.field(default_factory=str)
|
|
397
448
|
|
|
449
|
+
def __init__(self, **kwargs):
|
|
450
|
+
super().__init__(**kwargs)
|
|
451
|
+
self.highlights = kwargs['highlights']
|
|
452
|
+
self.highlight_scores = kwargs['highlight_scores']
|
|
453
|
+
self.summary = kwargs['summary']
|
|
454
|
+
|
|
398
455
|
def __str__(self):
|
|
399
456
|
base_str = super().__str__()
|
|
400
457
|
return base_str + (
|
|
@@ -420,6 +477,13 @@ class ResultWithTextAndHighlightsAndSummary(_Result):
|
|
|
420
477
|
highlight_scores: List[float] = dataclasses.field(default_factory=list)
|
|
421
478
|
summary: str = dataclasses.field(default_factory=str)
|
|
422
479
|
|
|
480
|
+
def __init__(self, **kwargs):
|
|
481
|
+
super().__init__(**kwargs)
|
|
482
|
+
self.text = kwargs['text']
|
|
483
|
+
self.highlights = kwargs['highlights']
|
|
484
|
+
self.highlight_scores = kwargs['highlight_scores']
|
|
485
|
+
self.summary = kwargs['summary']
|
|
486
|
+
|
|
423
487
|
def __str__(self):
|
|
424
488
|
base_str = super().__str__()
|
|
425
489
|
return base_str + (
|
|
@@ -482,7 +546,7 @@ class Exa:
|
|
|
482
546
|
self,
|
|
483
547
|
api_key: Optional[str],
|
|
484
548
|
base_url: str = "https://api.exa.ai",
|
|
485
|
-
user_agent: str = "exa-py 1.
|
|
549
|
+
user_agent: str = "exa-py 1.5.1",
|
|
486
550
|
):
|
|
487
551
|
"""Initialize the Exa client with the provided API key and optional base URL and user agent.
|
|
488
552
|
|
|
@@ -576,6 +640,8 @@ class Exa:
|
|
|
576
640
|
livecrawl_timeout: Optional[int] = None,
|
|
577
641
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
578
642
|
filter_empty_results: Optional[bool] = None,
|
|
643
|
+
subpages: Optional[int] = None,
|
|
644
|
+
extras: Optional[ExtrasOptions] = None,
|
|
579
645
|
) -> SearchResponse[ResultWithText]:
|
|
580
646
|
...
|
|
581
647
|
|
|
@@ -597,9 +663,11 @@ class Exa:
|
|
|
597
663
|
use_autoprompt: Optional[bool] = None,
|
|
598
664
|
type: Optional[str] = None,
|
|
599
665
|
category: Optional[str] = None,
|
|
666
|
+
subpages: Optional[int] = None,
|
|
600
667
|
livecrawl_timeout: Optional[int] = None,
|
|
601
668
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
602
669
|
filter_empty_results: Optional[bool] = None,
|
|
670
|
+
extras: Optional[ExtrasOptions] = None,
|
|
603
671
|
) -> SearchResponse[ResultWithText]:
|
|
604
672
|
...
|
|
605
673
|
|
|
@@ -622,8 +690,11 @@ class Exa:
|
|
|
622
690
|
type: Optional[str] = None,
|
|
623
691
|
category: Optional[str] = None,
|
|
624
692
|
livecrawl_timeout: Optional[int] = None,
|
|
693
|
+
subpages: Optional[int] = None,
|
|
694
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
625
695
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
626
696
|
filter_empty_results: Optional[bool] = None,
|
|
697
|
+
extras: Optional[ExtrasOptions] = None,
|
|
627
698
|
) -> SearchResponse[ResultWithHighlights]:
|
|
628
699
|
...
|
|
629
700
|
|
|
@@ -647,8 +718,11 @@ class Exa:
|
|
|
647
718
|
type: Optional[str] = None,
|
|
648
719
|
category: Optional[str] = None,
|
|
649
720
|
livecrawl_timeout: Optional[int] = None,
|
|
721
|
+
subpages: Optional[int] = None,
|
|
722
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
650
723
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
651
724
|
filter_empty_results: Optional[bool] = None,
|
|
725
|
+
extras: Optional[ExtrasOptions] = None,
|
|
652
726
|
) -> SearchResponse[ResultWithTextAndHighlights]:
|
|
653
727
|
...
|
|
654
728
|
|
|
@@ -671,8 +745,11 @@ class Exa:
|
|
|
671
745
|
type: Optional[str] = None,
|
|
672
746
|
category: Optional[str] = None,
|
|
673
747
|
livecrawl_timeout: Optional[int] = None,
|
|
748
|
+
subpages: Optional[int] = None,
|
|
749
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
674
750
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
675
751
|
filter_empty_results: Optional[bool] = None,
|
|
752
|
+
extras: Optional[ExtrasOptions] = None,
|
|
676
753
|
) -> SearchResponse[ResultWithSummary]:
|
|
677
754
|
...
|
|
678
755
|
|
|
@@ -695,9 +772,12 @@ class Exa:
|
|
|
695
772
|
use_autoprompt: Optional[bool] = None,
|
|
696
773
|
type: Optional[str] = None,
|
|
697
774
|
category: Optional[str] = None,
|
|
775
|
+
subpages: Optional[int] = None,
|
|
776
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
698
777
|
livecrawl_timeout: Optional[int] = None,
|
|
699
778
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
700
779
|
filter_empty_results: Optional[bool] = None,
|
|
780
|
+
extras: Optional[ExtrasOptions] = None,
|
|
701
781
|
) -> SearchResponse[ResultWithTextAndSummary]:
|
|
702
782
|
...
|
|
703
783
|
|
|
@@ -721,8 +801,11 @@ class Exa:
|
|
|
721
801
|
type: Optional[str] = None,
|
|
722
802
|
category: Optional[str] = None,
|
|
723
803
|
livecrawl_timeout: Optional[int] = None,
|
|
804
|
+
subpages: Optional[int] = None,
|
|
805
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
724
806
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
725
807
|
filter_empty_results: Optional[bool] = None,
|
|
808
|
+
extras: Optional[ExtrasOptions] = None,
|
|
726
809
|
) -> SearchResponse[ResultWithHighlightsAndSummary]:
|
|
727
810
|
...
|
|
728
811
|
|
|
@@ -748,7 +831,10 @@ class Exa:
|
|
|
748
831
|
category: Optional[str] = None,
|
|
749
832
|
livecrawl_timeout: Optional[int] = None,
|
|
750
833
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
834
|
+
subpages: Optional[int] = None,
|
|
835
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
751
836
|
filter_empty_results: Optional[bool] = None,
|
|
837
|
+
extras: Optional[ExtrasOptions] = None,
|
|
752
838
|
) -> SearchResponse[ResultWithTextAndHighlightsAndSummary]:
|
|
753
839
|
...
|
|
754
840
|
|
|
@@ -758,12 +844,12 @@ class Exa:
|
|
|
758
844
|
for k, v in {"query": query, **kwargs}.items()
|
|
759
845
|
if k != "self" and v is not None
|
|
760
846
|
}
|
|
761
|
-
if "text" not in options and "highlights" not in options and "summary" not in options:
|
|
847
|
+
if "text" not in options and "highlights" not in options and "summary" not in options and "extras" not in options:
|
|
762
848
|
options["text"] = True
|
|
763
849
|
validate_search_options(
|
|
764
|
-
options, {**SEARCH_OPTIONS_TYPES, **CONTENTS_OPTIONS_TYPES}
|
|
850
|
+
options, {**SEARCH_OPTIONS_TYPES, **CONTENTS_OPTIONS_TYPES, **CONTENTS_ENDPOINT_OPTIONS_TYPES}
|
|
765
851
|
)
|
|
766
|
-
options = nest_fields(options, ["text", "highlights", "summary"], "contents")
|
|
852
|
+
options = nest_fields(options, ["text", "highlights", "summary", "subpages", "subpage_target", "livecrawl", "livecrawl_timeout", "extras"], "contents")
|
|
767
853
|
options = to_camel_case(options)
|
|
768
854
|
data = self.request("/search", options)
|
|
769
855
|
return SearchResponse(
|
|
@@ -781,7 +867,8 @@ class Exa:
|
|
|
781
867
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
782
868
|
filter_empty_results: Optional[bool] = None,
|
|
783
869
|
subpages: Optional[int] = None,
|
|
784
|
-
subpage_target: Optional[Union[str, List[str]]] = None
|
|
870
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
871
|
+
extras: Optional[ExtrasOptions] = None,
|
|
785
872
|
) -> SearchResponse[ResultWithText]:
|
|
786
873
|
...
|
|
787
874
|
|
|
@@ -795,7 +882,8 @@ class Exa:
|
|
|
795
882
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
796
883
|
filter_empty_results: Optional[bool] = None,
|
|
797
884
|
subpages: Optional[int] = None,
|
|
798
|
-
subpage_target: Optional[Union[str, List[str]]] = None
|
|
885
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
886
|
+
extras: Optional[ExtrasOptions] = None,
|
|
799
887
|
) -> SearchResponse[ResultWithText]:
|
|
800
888
|
...
|
|
801
889
|
|
|
@@ -809,7 +897,8 @@ class Exa:
|
|
|
809
897
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
810
898
|
filter_empty_results: Optional[bool] = None,
|
|
811
899
|
subpages: Optional[int] = None,
|
|
812
|
-
subpage_target: Optional[Union[str, List[str]]] = None
|
|
900
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
901
|
+
extras: Optional[ExtrasOptions] = None,
|
|
813
902
|
) -> SearchResponse[ResultWithHighlights]:
|
|
814
903
|
...
|
|
815
904
|
|
|
@@ -824,7 +913,8 @@ class Exa:
|
|
|
824
913
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
825
914
|
filter_empty_results: Optional[bool] = None,
|
|
826
915
|
subpages: Optional[int] = None,
|
|
827
|
-
subpage_target: Optional[Union[str, List[str]]] = None
|
|
916
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
917
|
+
extras: Optional[ExtrasOptions] = None,
|
|
828
918
|
) -> SearchResponse[ResultWithTextAndHighlights]:
|
|
829
919
|
...
|
|
830
920
|
|
|
@@ -838,7 +928,8 @@ class Exa:
|
|
|
838
928
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
839
929
|
filter_empty_results: Optional[bool] = None,
|
|
840
930
|
subpages: Optional[int] = None,
|
|
841
|
-
subpage_target: Optional[Union[str, List[str]]] = None
|
|
931
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
932
|
+
extras: Optional[ExtrasOptions] = None,
|
|
842
933
|
) -> SearchResponse[ResultWithSummary]:
|
|
843
934
|
...
|
|
844
935
|
|
|
@@ -853,7 +944,8 @@ class Exa:
|
|
|
853
944
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
854
945
|
filter_empty_results: Optional[bool] = None,
|
|
855
946
|
subpages: Optional[int] = None,
|
|
856
|
-
subpage_target: Optional[Union[str, List[str]]] = None
|
|
947
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
948
|
+
extras: Optional[ExtrasOptions] = None,
|
|
857
949
|
) -> SearchResponse[ResultWithTextAndSummary]:
|
|
858
950
|
...
|
|
859
951
|
|
|
@@ -868,7 +960,8 @@ class Exa:
|
|
|
868
960
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
869
961
|
filter_empty_results: Optional[bool] = None,
|
|
870
962
|
subpages: Optional[int] = None,
|
|
871
|
-
subpage_target: Optional[Union[str, List[str]]] = None
|
|
963
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
964
|
+
extras: Optional[ExtrasOptions] = None,
|
|
872
965
|
) -> SearchResponse[ResultWithHighlightsAndSummary]:
|
|
873
966
|
...
|
|
874
967
|
|
|
@@ -884,7 +977,8 @@ class Exa:
|
|
|
884
977
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
885
978
|
filter_empty_results: Optional[bool] = None,
|
|
886
979
|
subpages: Optional[int] = None,
|
|
887
|
-
subpage_target: Optional[Union[str, List[str]]] = None
|
|
980
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
981
|
+
extras: Optional[ExtrasOptions] = None,
|
|
888
982
|
) -> SearchResponse[ResultWithTextAndHighlightsAndSummary]:
|
|
889
983
|
...
|
|
890
984
|
|
|
@@ -894,7 +988,7 @@ class Exa:
|
|
|
894
988
|
for k, v in {"ids": ids, **kwargs}.items()
|
|
895
989
|
if k != "self" and v is not None
|
|
896
990
|
}
|
|
897
|
-
if "text" not in options and "highlights" not in options and "summary" not in options:
|
|
991
|
+
if "text" not in options and "highlights" not in options and "summary" not in options and "extras" not in options:
|
|
898
992
|
options["text"] = True
|
|
899
993
|
validate_search_options(options, {**CONTENTS_OPTIONS_TYPES, **CONTENTS_ENDPOINT_OPTIONS_TYPES})
|
|
900
994
|
options = to_camel_case(options)
|
|
@@ -950,8 +1044,11 @@ class Exa:
|
|
|
950
1044
|
exclude_source_domain: Optional[bool] = None,
|
|
951
1045
|
category: Optional[str] = None,
|
|
952
1046
|
livecrawl_timeout: Optional[int] = None,
|
|
1047
|
+
subpages: Optional[int] = None,
|
|
1048
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
953
1049
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
954
1050
|
filter_empty_results: Optional[bool] = None,
|
|
1051
|
+
extras: Optional[ExtrasOptions] = None,
|
|
955
1052
|
) -> SearchResponse[ResultWithText]:
|
|
956
1053
|
...
|
|
957
1054
|
|
|
@@ -973,8 +1070,11 @@ class Exa:
|
|
|
973
1070
|
exclude_source_domain: Optional[bool] = None,
|
|
974
1071
|
category: Optional[str] = None,
|
|
975
1072
|
livecrawl_timeout: Optional[int] = None,
|
|
1073
|
+
subpages: Optional[int] = None,
|
|
1074
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
976
1075
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
977
1076
|
filter_empty_results: Optional[bool] = None,
|
|
1077
|
+
extras: Optional[ExtrasOptions] = None,
|
|
978
1078
|
) -> SearchResponse[ResultWithText]:
|
|
979
1079
|
...
|
|
980
1080
|
|
|
@@ -995,9 +1095,12 @@ class Exa:
|
|
|
995
1095
|
exclude_text: Optional[List[str]] = None,
|
|
996
1096
|
exclude_source_domain: Optional[bool] = None,
|
|
997
1097
|
category: Optional[str] = None,
|
|
1098
|
+
subpages: Optional[int] = None,
|
|
1099
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
998
1100
|
livecrawl_timeout: Optional[int] = None,
|
|
999
1101
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
1000
1102
|
filter_empty_results: Optional[bool] = None,
|
|
1103
|
+
extras: Optional[ExtrasOptions] = None,
|
|
1001
1104
|
) -> SearchResponse[ResultWithHighlights]:
|
|
1002
1105
|
...
|
|
1003
1106
|
|
|
@@ -1020,8 +1123,11 @@ class Exa:
|
|
|
1020
1123
|
exclude_source_domain: Optional[bool] = None,
|
|
1021
1124
|
category: Optional[str] = None,
|
|
1022
1125
|
livecrawl_timeout: Optional[int] = None,
|
|
1126
|
+
subpages: Optional[int] = None,
|
|
1127
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
1023
1128
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
1024
1129
|
filter_empty_results: Optional[bool] = None,
|
|
1130
|
+
extras: Optional[ExtrasOptions] = None,
|
|
1025
1131
|
) -> SearchResponse[ResultWithTextAndHighlights]:
|
|
1026
1132
|
...
|
|
1027
1133
|
|
|
@@ -1044,7 +1150,10 @@ class Exa:
|
|
|
1044
1150
|
category: Optional[str] = None,
|
|
1045
1151
|
livecrawl_timeout: Optional[int] = None,
|
|
1046
1152
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
1153
|
+
subpages: Optional[int] = None,
|
|
1154
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
1047
1155
|
filter_empty_results: Optional[bool] = None,
|
|
1156
|
+
extras: Optional[ExtrasOptions] = None,
|
|
1048
1157
|
) -> SearchResponse[ResultWithSummary]:
|
|
1049
1158
|
...
|
|
1050
1159
|
|
|
@@ -1068,7 +1177,10 @@ class Exa:
|
|
|
1068
1177
|
category: Optional[str] = None,
|
|
1069
1178
|
livecrawl_timeout: Optional[int] = None,
|
|
1070
1179
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
1180
|
+
subpages: Optional[int] = None,
|
|
1181
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
1071
1182
|
filter_empty_results: Optional[bool] = None,
|
|
1183
|
+
extras: Optional[ExtrasOptions] = None,
|
|
1072
1184
|
) -> SearchResponse[ResultWithTextAndSummary]:
|
|
1073
1185
|
...
|
|
1074
1186
|
|
|
@@ -1092,7 +1204,10 @@ class Exa:
|
|
|
1092
1204
|
category: Optional[str] = None,
|
|
1093
1205
|
livecrawl_timeout: Optional[int] = None,
|
|
1094
1206
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
1207
|
+
subpages: Optional[int] = None,
|
|
1208
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
1095
1209
|
filter_empty_results: Optional[bool] = None,
|
|
1210
|
+
extras: Optional[ExtrasOptions] = None,
|
|
1096
1211
|
) -> SearchResponse[ResultWithHighlightsAndSummary]:
|
|
1097
1212
|
...
|
|
1098
1213
|
|
|
@@ -1117,7 +1232,10 @@ class Exa:
|
|
|
1117
1232
|
category: Optional[str] = None,
|
|
1118
1233
|
livecrawl_timeout: Optional[int] = None,
|
|
1119
1234
|
livecrawl: Optional[LIVECRAWL_OPTIONS] = None,
|
|
1235
|
+
subpages: Optional[int] = None,
|
|
1236
|
+
subpage_target: Optional[Union[str, List[str]]] = None,
|
|
1120
1237
|
filter_empty_results: Optional[bool] = None,
|
|
1238
|
+
extras: Optional[ExtrasOptions] = None,
|
|
1121
1239
|
) -> SearchResponse[ResultWithTextAndHighlightsAndSummary]:
|
|
1122
1240
|
...
|
|
1123
1241
|
|
|
@@ -1127,13 +1245,13 @@ class Exa:
|
|
|
1127
1245
|
for k, v in {"url": url, **kwargs}.items()
|
|
1128
1246
|
if k != "self" and v is not None
|
|
1129
1247
|
}
|
|
1130
|
-
if "text" not in options and "highlights" not in options:
|
|
1248
|
+
if "text" not in options and "highlights" not in options and "summary" not in options:
|
|
1131
1249
|
options["text"] = True
|
|
1132
1250
|
validate_search_options(
|
|
1133
|
-
options, {**FIND_SIMILAR_OPTIONS_TYPES, **CONTENTS_OPTIONS_TYPES}
|
|
1251
|
+
options, {**FIND_SIMILAR_OPTIONS_TYPES, **CONTENTS_OPTIONS_TYPES, **CONTENTS_ENDPOINT_OPTIONS_TYPES}
|
|
1134
1252
|
)
|
|
1135
1253
|
options = to_camel_case(options)
|
|
1136
|
-
options = nest_fields(options, ["text", "highlights", "summary"], "contents")
|
|
1254
|
+
options = nest_fields(options, ["text", "highlights", "summary", "subpages", "subpage_target", "livecrawl", "livecrawl_timeout", "extras"], "contents")
|
|
1137
1255
|
data = self.request("/findSimilar", options)
|
|
1138
1256
|
return SearchResponse(
|
|
1139
1257
|
[Result(**to_snake_case(result)) for result in data["results"]],
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
exa_py/__init__.py,sha256=1selemczpRm1y8V9cWNm90LARnU1jbtyp-Qpx3c7cTw,28
|
|
2
|
+
exa_py/api.py,sha256=NwmYIAG87j-9P8u26r5NJvRyT5vFkq677MKf8tPJw6s,53119
|
|
3
|
+
exa_py/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
+
exa_py/utils.py,sha256=Rc1FJjoR9LQ7L_OJM91Sd1GNkbHjcLyEvJENhRix6gc,2405
|
|
5
|
+
exa_py-1.5.1.dist-info/METADATA,sha256=RsZIJl0qJ1c83QnjEfCzXrgQKUTXcXqRlpZYnS0IIgo,3030
|
|
6
|
+
exa_py-1.5.1.dist-info/WHEEL,sha256=pL8R0wFFS65tNSRnaOVrsw9EOkOqxLrlUPenUYnJKNo,91
|
|
7
|
+
exa_py-1.5.1.dist-info/top_level.txt,sha256=Mfkmscdw9HWR1PtVhU1gAiVo6DHu_tyiVdb89gfZBVI,7
|
|
8
|
+
exa_py-1.5.1.dist-info/RECORD,,
|
exa_py-1.4.1b0.dist-info/RECORD
DELETED
|
@@ -1,8 +0,0 @@
|
|
|
1
|
-
exa_py/__init__.py,sha256=1selemczpRm1y8V9cWNm90LARnU1jbtyp-Qpx3c7cTw,28
|
|
2
|
-
exa_py/api.py,sha256=cJxITJE_IuUtxqYl9K-ue1JelOD7onSBsCmO9IWVdBw,47848
|
|
3
|
-
exa_py/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
4
|
-
exa_py/utils.py,sha256=Rc1FJjoR9LQ7L_OJM91Sd1GNkbHjcLyEvJENhRix6gc,2405
|
|
5
|
-
exa_py-1.4.1b0.dist-info/METADATA,sha256=wGktyfKNH3Fuspz82tRSxItEbaQmtx0F9RR_f86d3L0,3032
|
|
6
|
-
exa_py-1.4.1b0.dist-info/WHEEL,sha256=UvcQYKBHoFqaQd6LKyqHw9fxEolWLQnlzP0h_LgJAfI,91
|
|
7
|
-
exa_py-1.4.1b0.dist-info/top_level.txt,sha256=Mfkmscdw9HWR1PtVhU1gAiVo6DHu_tyiVdb89gfZBVI,7
|
|
8
|
-
exa_py-1.4.1b0.dist-info/RECORD,,
|
|
File without changes
|