webscout 7.9__py3-none-any.whl → 8.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 webscout might be problematic. Click here for more details.
- webscout/Extra/GitToolkit/__init__.py +10 -0
- webscout/Extra/GitToolkit/gitapi/__init__.py +12 -0
- webscout/Extra/GitToolkit/gitapi/repository.py +195 -0
- webscout/Extra/GitToolkit/gitapi/user.py +96 -0
- webscout/Extra/GitToolkit/gitapi/utils.py +62 -0
- webscout/Extra/YTToolkit/ytapi/video.py +232 -103
- webscout/Provider/AISEARCH/DeepFind.py +1 -1
- webscout/Provider/AISEARCH/ISou.py +1 -1
- webscout/Provider/AISEARCH/__init__.py +6 -1
- webscout/Provider/AISEARCH/felo_search.py +1 -1
- webscout/Provider/AISEARCH/genspark_search.py +1 -1
- webscout/Provider/AISEARCH/hika_search.py +194 -0
- webscout/Provider/AISEARCH/iask_search.py +436 -0
- webscout/Provider/AISEARCH/monica_search.py +246 -0
- webscout/Provider/AISEARCH/scira_search.py +320 -0
- webscout/Provider/AISEARCH/webpilotai_search.py +281 -0
- webscout/Provider/AllenAI.py +255 -122
- webscout/Provider/DeepSeek.py +1 -2
- webscout/Provider/Deepinfra.py +17 -9
- webscout/Provider/ExaAI.py +261 -0
- webscout/Provider/ExaChat.py +8 -1
- webscout/Provider/GithubChat.py +2 -1
- webscout/Provider/Jadve.py +2 -2
- webscout/Provider/Netwrck.py +3 -2
- webscout/Provider/OPENAI/__init__.py +17 -0
- webscout/Provider/OPENAI/base.py +46 -0
- webscout/Provider/OPENAI/c4ai.py +347 -0
- webscout/Provider/OPENAI/chatgptclone.py +460 -0
- webscout/Provider/OPENAI/deepinfra.py +284 -0
- webscout/Provider/OPENAI/exaai.py +419 -0
- webscout/Provider/OPENAI/exachat.py +421 -0
- webscout/Provider/OPENAI/freeaichat.py +355 -0
- webscout/Provider/OPENAI/glider.py +314 -0
- webscout/Provider/OPENAI/heckai.py +337 -0
- webscout/Provider/OPENAI/llmchatco.py +325 -0
- webscout/Provider/OPENAI/netwrck.py +348 -0
- webscout/Provider/OPENAI/scirachat.py +459 -0
- webscout/Provider/OPENAI/sonus.py +294 -0
- webscout/Provider/OPENAI/typegpt.py +361 -0
- webscout/Provider/OPENAI/utils.py +211 -0
- webscout/Provider/OPENAI/venice.py +428 -0
- webscout/Provider/OPENAI/wisecat.py +381 -0
- webscout/Provider/OPENAI/x0gpt.py +389 -0
- webscout/Provider/OPENAI/yep.py +329 -0
- webscout/Provider/OpenGPT.py +199 -0
- webscout/Provider/PI.py +39 -24
- webscout/Provider/Venice.py +1 -1
- webscout/Provider/Youchat.py +326 -296
- webscout/Provider/__init__.py +16 -6
- webscout/Provider/ai4chat.py +58 -56
- webscout/Provider/akashgpt.py +34 -22
- webscout/Provider/freeaichat.py +1 -1
- webscout/Provider/labyrinth.py +121 -20
- webscout/Provider/llmchatco.py +306 -0
- webscout/Provider/scira_chat.py +274 -0
- webscout/Provider/typefully.py +280 -0
- webscout/Provider/typegpt.py +3 -184
- webscout/prompt_manager.py +2 -1
- webscout/version.py +1 -1
- webscout/webscout_search.py +118 -54
- webscout/webscout_search_async.py +109 -45
- webscout-8.1.dist-info/METADATA +683 -0
- {webscout-7.9.dist-info → webscout-8.1.dist-info}/RECORD +67 -33
- webscout/Provider/flowith.py +0 -207
- webscout-7.9.dist-info/METADATA +0 -995
- {webscout-7.9.dist-info → webscout-8.1.dist-info}/LICENSE.md +0 -0
- {webscout-7.9.dist-info → webscout-8.1.dist-info}/WHEEL +0 -0
- {webscout-7.9.dist-info → webscout-8.1.dist-info}/entry_points.txt +0 -0
- {webscout-7.9.dist-info → webscout-8.1.dist-info}/top_level.txt +0 -0
|
@@ -11,18 +11,23 @@ webscout/conversation.py,sha256=wmRZ1xvlx9L1gdOnSSQlxze1cSbFwgm6TEBykNOh2QI,2182
|
|
|
11
11
|
webscout/exceptions.py,sha256=9rSq7sUFgZYe9UJ6qOlC20xowfzHDTghwGCS6osA8hM,12007
|
|
12
12
|
webscout/models.py,sha256=C7QY-KDkqFCI698t9pvTHQ27rYadPIvwaYHJ3-AOCJI,6566
|
|
13
13
|
webscout/optimizers.py,sha256=NlnxWCav7cTyjfeLHuq2pUCgqgW1pljWbMTklHYMGwo,9954
|
|
14
|
-
webscout/prompt_manager.py,sha256=
|
|
14
|
+
webscout/prompt_manager.py,sha256=Myom6P1QZgjKmQHw7U0ETgP_5jw4JHcqHOeSN5H_X7U,9701
|
|
15
15
|
webscout/tempid.py,sha256=lqTTOjVSwDMmC0UoThdyshFyIAxTikVaN613-6K3g_s,4968
|
|
16
16
|
webscout/update_checker.py,sha256=5FCr6p1zLVASXcXkxKEgR7bFvICbpzJdgRTr3teKFCs,4217
|
|
17
17
|
webscout/utils.py,sha256=o2hU3qaVPk25sog3e4cyVZO3l8xwaZpYRziZPotEzNo,3075
|
|
18
|
-
webscout/version.py,sha256=
|
|
19
|
-
webscout/webscout_search.py,sha256=
|
|
20
|
-
webscout/webscout_search_async.py,sha256=
|
|
18
|
+
webscout/version.py,sha256=JRZJy7vadnbY13p9NrCKXVovSGlQFUm5M1nD1QwZBZU,44
|
|
19
|
+
webscout/webscout_search.py,sha256=rTqQO1e8S8i9okFO5y_2lznyh4BQ4AEzTTcM-70TWTc,55674
|
|
20
|
+
webscout/webscout_search_async.py,sha256=fKQ01dBCJoHmB47QJoAoTz5mns9lb0V_jgbHY2NpVnk,35680
|
|
21
21
|
webscout/yep_search.py,sha256=4jIn9KKXD6zJMdg302o4rzHQwFAy4haWoIagFn1XjLM,10429
|
|
22
22
|
webscout/Extra/__init__.py,sha256=KvJRsRBRO-fZp2jSCl6KQnPppi93hriA6O_U1O1s31c,177
|
|
23
23
|
webscout/Extra/gguf.py,sha256=KpkKIIQf2wtCrWuAdqThLQjQGPziPsGzgcSVuNhObfk,29220
|
|
24
24
|
webscout/Extra/weather.py,sha256=Xfxzt43U5m7qpK3h4pzQ55Zh9JVu5HS6XUeLJccASkE,7841
|
|
25
25
|
webscout/Extra/weather_ascii.py,sha256=k6U0F9w5xXPvYK-Wq3pjUh7W0gGJG4e_YhxeUI65Vpk,2612
|
|
26
|
+
webscout/Extra/GitToolkit/__init__.py,sha256=S8clC97xkihcsxfbAO9QOmSO2ljLOiQFoUh_klhp2zw,146
|
|
27
|
+
webscout/Extra/GitToolkit/gitapi/__init__.py,sha256=e3Vu2X8qwOEpNBIbVONhJhhFtu1_3c3ylFAxi1VO_2g,265
|
|
28
|
+
webscout/Extra/GitToolkit/gitapi/repository.py,sha256=nbagmnp9fiEfGnseelCpSGc0xS5k3TguhkRB1y0O0Xg,7319
|
|
29
|
+
webscout/Extra/GitToolkit/gitapi/user.py,sha256=Hto5xZojqDfphWR62yXVYwqeDZqLJEFTfbRqaPg6_kk,3630
|
|
30
|
+
webscout/Extra/GitToolkit/gitapi/utils.py,sha256=Qku8PVk5aRQXLc4GJhnDgoPnMNVgR00hxgWizZVDoM8,1896
|
|
26
31
|
webscout/Extra/YTToolkit/YTdownloader.py,sha256=xnGPCBmMwjjb-x7cTOiR01scufNq4I8gnAct4qKUpoI,33051
|
|
27
32
|
webscout/Extra/YTToolkit/__init__.py,sha256=xuEyGmDWvtI62R7EtChdphavQzLn_2AknVUVWlY0ssY,77
|
|
28
33
|
webscout/Extra/YTToolkit/transcriber.py,sha256=Nta6hVqQr4fIkJwcq6y3fQiE0jeOOZG1w6NSkrf_KLQ,19050
|
|
@@ -37,7 +42,7 @@ webscout/Extra/YTToolkit/ytapi/pool.py,sha256=7sM_ncFqmkcPzqMY8O9dAeJsxO1eYU49HU
|
|
|
37
42
|
webscout/Extra/YTToolkit/ytapi/query.py,sha256=A5WJv3ZCz-s_92PFjJwRnmYFv6T7N39daZysdiKavGU,1545
|
|
38
43
|
webscout/Extra/YTToolkit/ytapi/stream.py,sha256=yjIrAFgSNN0Ba8JxwN3M85EgrAMnknZp631w_udAiJ8,2101
|
|
39
44
|
webscout/Extra/YTToolkit/ytapi/utils.py,sha256=mmmUCDMXy3TKauPj6T7PWfEYBAcQ8WiR13xspmlT_SM,2028
|
|
40
|
-
webscout/Extra/YTToolkit/ytapi/video.py,sha256=
|
|
45
|
+
webscout/Extra/YTToolkit/ytapi/video.py,sha256=rP4dGzi6QkdB7oHaQU_HGb_auKW8NnuMq2diaBCkSzE,8912
|
|
41
46
|
webscout/Extra/autocoder/__init__.py,sha256=Py5-Lq6xLwzp4odeJdGVJ91EgKpPLRMcNyX6jAZpOvQ,230
|
|
42
47
|
webscout/Extra/autocoder/autocoder.py,sha256=ifyaG0uf5ahOZ-2jBpsj19yf55xiEvU6SXKsnJD1N7I,33332
|
|
43
48
|
webscout/Extra/autocoder/autocoder_utiles.py,sha256=JNdeuoo6SmfH5KOOOvklb1jdfNNTmJ8tTyQhRnEtHdM,20574
|
|
@@ -64,7 +69,7 @@ webscout/Litlogger/utils/detectors.py,sha256=VvpiL1baVrxN6XwksoKG1Z0hiuISwCpwQ8Y
|
|
|
64
69
|
webscout/Litlogger/utils/formatters.py,sha256=MdgaCavaF7OKIo3b3c8BCyyvvskcNKhFQygnhoEY3R4,6100
|
|
65
70
|
webscout/Provider/AI21.py,sha256=kyr07xbalGQuR-wP9L5W7c_ri5-PEEvyj42jLV56XaE,6225
|
|
66
71
|
webscout/Provider/Aitopia.py,sha256=Gu0NvNVAHFHajSu1Ox4WxE8mhS_5eMOPyK5NqgRWpbk,12024
|
|
67
|
-
webscout/Provider/AllenAI.py,sha256
|
|
72
|
+
webscout/Provider/AllenAI.py,sha256=-vVnEPxEc1SV_RBgMgwdoWQFmNYsefNVLBYh3onI6fM,15886
|
|
68
73
|
webscout/Provider/Andi.py,sha256=-Pf3ptSL7PMpVzj2WawopKNFKCC5ZhhH0e5kUFNiIb4,8778
|
|
69
74
|
webscout/Provider/Blackboxai.py,sha256=al72E9hK1bpIYx7zLTkLMMRBw3CeE7GPvUZ8hh9oLVk,8130
|
|
70
75
|
webscout/Provider/C4ai.py,sha256=dUcURjgCYkZ65Zc6cAom-7PRbL2H8dzX0N6SRhLzH4g,18109
|
|
@@ -74,29 +79,31 @@ webscout/Provider/ChatGPTGratis.py,sha256=HgqvYSfSvbfqG-nh3vpBWj9TweWn-yrOzoV3MN
|
|
|
74
79
|
webscout/Provider/Chatify.py,sha256=_NoYKkz4kBZNx6n0UZ6_DouYJ1TAbUHPbug0_nAjeJg,6300
|
|
75
80
|
webscout/Provider/Cloudflare.py,sha256=6pUZjdO6c63CLR9NG55Y7lJN8aWnGavsdWv4I9eQzsw,11497
|
|
76
81
|
webscout/Provider/Cohere.py,sha256=oL9kAv--RSkEQxwkPTq1Wi57Wkgg0WNvL82CpTj22YY,8264
|
|
77
|
-
webscout/Provider/DeepSeek.py,sha256=
|
|
78
|
-
webscout/Provider/Deepinfra.py,sha256
|
|
82
|
+
webscout/Provider/DeepSeek.py,sha256=Hdy47w_K9YBH5s2EgU_XrLxYET7L2pr35fCCb9JxYeM,7475
|
|
83
|
+
webscout/Provider/Deepinfra.py,sha256=-U994bHrHTiiUkZWHTxYQ88-hOIArP5eW9oaeKsAc5E,12739
|
|
79
84
|
webscout/Provider/ElectronHub.py,sha256=nKfLw9HwYd6K9p-sDEl_dud4mPnqzOD9VKSJ3gXIXQI,24372
|
|
80
|
-
webscout/Provider/
|
|
85
|
+
webscout/Provider/ExaAI.py,sha256=plbjF5LYyZS4elLWKtD6AURDQS3O9xAGBScpDGPHWiY,9783
|
|
86
|
+
webscout/Provider/ExaChat.py,sha256=javk0MaTYPFQouviZSC2MuA9Wiu_8-fsJkQMsnf-t1U,11549
|
|
81
87
|
webscout/Provider/Free2GPT.py,sha256=FJLn2Ho5oC1bJ2syDfIVvMpMwyFJu32S0ls1rAyr-R0,9213
|
|
82
88
|
webscout/Provider/GPTWeb.py,sha256=xh_mnBko6RDyz2v3KhMux-yIipipkZfVVVoUJWkbzcQ,7466
|
|
83
89
|
webscout/Provider/Gemini.py,sha256=8RQPrxJ58mpSEpbo9mCn5tlo6z7krH8igqSNmHxhkbs,6558
|
|
84
|
-
webscout/Provider/GithubChat.py,sha256=
|
|
90
|
+
webscout/Provider/GithubChat.py,sha256=y5xp4d125_6hp4qnoSCiiuy4eJCVSR-dLfqHihoU8ko,13883
|
|
85
91
|
webscout/Provider/Glider.py,sha256=q2c6uFNMyKT6qsovZt0KHehXL7LJ1CSrplIGckEFTUA,8475
|
|
86
92
|
webscout/Provider/Groq.py,sha256=jlhbTsx32OAb1fiyxN6ypJYLYTvOpJsRPSOrvqruVYo,29563
|
|
87
93
|
webscout/Provider/HeckAI.py,sha256=yihna7seFQ6vMqL6t28KNha3Wz1K0BnmZ4BzN57i_Nw,8869
|
|
88
94
|
webscout/Provider/HuggingFaceChat.py,sha256=iyyDMIJUthdq0P6uv8J-oyMb60C1xLQkYOHw4A71TmQ,19412
|
|
89
95
|
webscout/Provider/Hunyuan.py,sha256=45wHp9OR8iD_r5B8bLgRY7LhtevzAFQ-WXBZ44Ro8dE,11419
|
|
90
|
-
webscout/Provider/Jadve.py,sha256=
|
|
96
|
+
webscout/Provider/Jadve.py,sha256=mE70LtZ-IzHErH8Rlj1E_kdu-aXwCb9V_L3nso_PZWo,10667
|
|
91
97
|
webscout/Provider/Koboldai.py,sha256=0mnpya8GBbmBf8s2qAl88h2PjqavwbRab8G6l5mbJlU,15204
|
|
92
98
|
webscout/Provider/LambdaChat.py,sha256=Eg_lJ6ywC8cUohTNxR70S1idn60uN-O0xRS7Ces1qyg,15999
|
|
93
99
|
webscout/Provider/Llama.py,sha256=ySwmr3drK58bekE8nxMma7U5kViYW7_WrbqXhOpn5TM,7718
|
|
94
100
|
webscout/Provider/Llama3.py,sha256=aaW0jT403a4KJw07Dogp1jDMuWcDEbsSEA3qdikk2Aw,7671
|
|
95
101
|
webscout/Provider/Marcus.py,sha256=Zhbu8JX-Q8-WmQ8CyBMeX3R7tpZ-BUyGsEEeQiVfhBc,5285
|
|
96
|
-
webscout/Provider/Netwrck.py,sha256=
|
|
102
|
+
webscout/Provider/Netwrck.py,sha256=Ef7urR4k7tEUtib-5jmEpRrS2qjtGR-bpZ011hSvrYE,8636
|
|
97
103
|
webscout/Provider/OLLAMA.py,sha256=k8EbK_EqH02xiTtqubViKsHebyJFLUwug5zeP1HkDa4,15155
|
|
104
|
+
webscout/Provider/OpenGPT.py,sha256=gFL_FPBobLeiNAUgOBSowm1crVByHPS9neB4_XzCE1I,7595
|
|
98
105
|
webscout/Provider/Openai.py,sha256=TC4BkezoLqimaqOwzX-nYC9w7hXbDCajm-bzkdyl-gA,20433
|
|
99
|
-
webscout/Provider/PI.py,sha256=
|
|
106
|
+
webscout/Provider/PI.py,sha256=W-hjyJo6JykUyssisqsx5azZqdhhAPsyl6MfBWkGYSo,12608
|
|
100
107
|
webscout/Provider/Perplexitylabs.py,sha256=e0k7tuh99dedBTkQxytvfwPS6x6hlaFVpZyrpvy4_Xs,16621
|
|
101
108
|
webscout/Provider/Phind.py,sha256=IQGKGpPC_ODP0P2UnUZFKl1gIhAFUWc7ZB_MHdpd00c,20196
|
|
102
109
|
webscout/Provider/PizzaGPT.py,sha256=8iSPQgFpev4JEtoIREs2A5L5xATTUS-hWKVMmm75mW0,7192
|
|
@@ -105,15 +112,15 @@ webscout/Provider/Reka.py,sha256=dWw4vX91nJhAn-X1SXK72gttRaTqWNGUBFaeRJobTJg,851
|
|
|
105
112
|
webscout/Provider/TeachAnything.py,sha256=3hmi94hgu9lDmjxRWQgQFMK5xvJumzKBsquObpI-SnE,7176
|
|
106
113
|
webscout/Provider/TextPollinationsAI.py,sha256=kAFXJGgAItBE6Ilc31PSM4_NODArrBuoaaJTjUKuFmE,8885
|
|
107
114
|
webscout/Provider/TwoAI.py,sha256=6-JZ1rxoZY3cgXpK__y4LhbUrptgzMxALef5q5NLKm0,7247
|
|
108
|
-
webscout/Provider/Venice.py,sha256=
|
|
115
|
+
webscout/Provider/Venice.py,sha256=yVPZneaubuCWXW-mUlqSfeT9STDljnYZ4KHq9sIvBwg,8348
|
|
109
116
|
webscout/Provider/VercelAI.py,sha256=Gqn_TLBwSIgWEHqz612NSy1Dm8PdzMWCgwANR33K7OY,8462
|
|
110
117
|
webscout/Provider/WebSim.py,sha256=8Ea1rKV-LCOL6H6ffgNeS2Vr70rslQUd0yVVtKRjUHA,8819
|
|
111
118
|
webscout/Provider/WiseCat.py,sha256=qYffSfSbgSbERYzkQ4W8YqREMY0AFhh6h8dxT54XPIg,6997
|
|
112
|
-
webscout/Provider/Youchat.py,sha256=
|
|
113
|
-
webscout/Provider/__init__.py,sha256=
|
|
114
|
-
webscout/Provider/ai4chat.py,sha256=
|
|
119
|
+
webscout/Provider/Youchat.py,sha256=tVgyUK7cXAsQX3JBCJikxmxsH1QBm-B076pRCjsyHfM,12664
|
|
120
|
+
webscout/Provider/__init__.py,sha256=oV069bSFIfMvCVpOQaPna6KrQA6ljf4o5ZnkSvzJ5Ro,4132
|
|
121
|
+
webscout/Provider/ai4chat.py,sha256=S6DfY1bfZuFT2OBt2o9dDUF8clyzMlOEzNTzt6aMbro,8436
|
|
115
122
|
webscout/Provider/aimathgpt.py,sha256=X1dPGdJ-Jc-6nQOnm-Bivzlo0B_n_j2A5cQK1bNrDlA,7176
|
|
116
|
-
webscout/Provider/akashgpt.py,sha256=
|
|
123
|
+
webscout/Provider/akashgpt.py,sha256=fswzQktBU2dnD0b-kZjlB_yygFxk3xSIWnrSk_8Nino,13087
|
|
117
124
|
webscout/Provider/askmyai.py,sha256=b300MrPkjRebccZimZe3C0FttySwbMf6rVjTqlJQEy8,5920
|
|
118
125
|
webscout/Provider/asksteve.py,sha256=_HYSNxs6A5S6QwwHl10Iq5E1xHZ1NXiQeuwRYUzZi-w,7736
|
|
119
126
|
webscout/Provider/bagoodex.py,sha256=XOmIvOn_P7dpNBgylCveaCIXpAU6awGkvEphZZHrYCM,5063
|
|
@@ -122,8 +129,7 @@ webscout/Provider/chatglm.py,sha256=0pOS8HQ5bnUjY5E7yjenLLycpQVieNZmD06Wm4KhiwI,
|
|
|
122
129
|
webscout/Provider/cleeai.py,sha256=lgIBs5JpNaY-gfwUBorZdSeA_Q7tawfTvkWWTg7EfuI,7981
|
|
123
130
|
webscout/Provider/copilot.py,sha256=Au04Xw0VW5LJB6ODuO7qt097qr7jxG9C4UpoVyfTlNI,19006
|
|
124
131
|
webscout/Provider/elmo.py,sha256=5myTgfEuZTtFHw5C2NT7iY2BjPUwEEkdLlo1m3Nhygc,9317
|
|
125
|
-
webscout/Provider/
|
|
126
|
-
webscout/Provider/freeaichat.py,sha256=5dWWTtzzO_u4cpefwG1yJl7UFEaS0rTmnOrqNlUdM0g,9744
|
|
132
|
+
webscout/Provider/freeaichat.py,sha256=waRu1GiRTUDJFmpsesknqU8Fk7omUIIiNh_QS3KlLGY,9744
|
|
127
133
|
webscout/Provider/gaurish.py,sha256=-OVX6STSjt0pYn6lH5RiJZ5YPsYtWEorjBgENEsvsAQ,9998
|
|
128
134
|
webscout/Provider/geminiapi.py,sha256=-_QbDBF_IiYyOJ0_uAIcE-gfzIs8H86nA5VWX52SRoY,8505
|
|
129
135
|
webscout/Provider/geminiprorealtime.py,sha256=2ThViylzCGgKl7UfdFQoPdcsYJKIvf4t4wU0cXXQ43I,5775
|
|
@@ -131,31 +137,59 @@ webscout/Provider/granite.py,sha256=FuRO4msa5WRd5Wpy1zNvLJtHmBkG-IV9cLBSdZwI3iM,
|
|
|
131
137
|
webscout/Provider/hermes.py,sha256=QYvzwhdOPYykGyWl4NVLnV5bxrqYTb19lu0OFN2dADE,8404
|
|
132
138
|
webscout/Provider/julius.py,sha256=ra20kGPafLDgV8gd2Z-Yce5eKlgSjFl4CpyHtEmHIlg,8583
|
|
133
139
|
webscout/Provider/koala.py,sha256=C1Mxj2hawrUfo_CYC_hjzZPH6ruQSl1Vbg3B93SR-v8,11045
|
|
134
|
-
webscout/Provider/labyrinth.py,sha256=
|
|
140
|
+
webscout/Provider/labyrinth.py,sha256=jX7w-ueTxZv3J0Vhes8vnPZEsGUPP_RwrdGE3GIG36E,14912
|
|
135
141
|
webscout/Provider/learnfastai.py,sha256=luHIgnzYrdwI3ZhTTR4-B1XQDFTgxHO2CnZ3w97Fp3M,10377
|
|
136
142
|
webscout/Provider/lepton.py,sha256=Q-hbKwaDbRCvSFbDWqUPxir0dkiufx6eQt6hFeLaWVU,7522
|
|
137
143
|
webscout/Provider/llama3mitril.py,sha256=0sTD6mtVT1SwTPPyhTdPg592Wf39DHum20vThinP5Eg,6641
|
|
138
144
|
webscout/Provider/llamatutor.py,sha256=94LSHZI8GrColyum_diVZTolFUB27gqh-EsSlz8qsqI,6791
|
|
139
145
|
webscout/Provider/llmchat.py,sha256=lel0r3OZKSm1HPDBvwkjUI_pEU36gYC-vGWzr-6xhPY,7831
|
|
146
|
+
webscout/Provider/llmchatco.py,sha256=Mqe2SG3yGZVOFhOFXu3XkE7-ATAmzzB_s9hPJQrCbRs,11848
|
|
140
147
|
webscout/Provider/meta.py,sha256=qWpVmSACYkEKsW8wRpm-rnlFJoOyku-WkfPGgGjUUYY,30717
|
|
141
148
|
webscout/Provider/multichat.py,sha256=tsEudoeTFk30l9m8CRS0QVnK0jdceS1BPktcxmIqwdo,12419
|
|
142
149
|
webscout/Provider/promptrefine.py,sha256=et8bNFf74Bn06SG0-3o8XNE5cJC_mRr5tTI3dqZAbE8,7731
|
|
150
|
+
webscout/Provider/scira_chat.py,sha256=UzpmxWGLlSJat_B2ITuuDxF7cJdET1ICBfwurfksU7A,10811
|
|
143
151
|
webscout/Provider/searchchat.py,sha256=0heQnkBBsqRSnKurblPOXZ0hEPILs91VtXUG-QbsYik,11933
|
|
144
152
|
webscout/Provider/sonus.py,sha256=d2UUuD1ooxoQYXiJUsEctU2sBKZpWveIvxixgKlsP3M,8394
|
|
145
153
|
webscout/Provider/talkai.py,sha256=18EB9FPx2rOWdnuqMtBZc_QbLWKNFj06n1Xdtm6npwg,7613
|
|
146
154
|
webscout/Provider/turboseek.py,sha256=R2vbYHU7vJyhjRKHpPYfVl7P6V23_WuZSL5vlxuKnFA,8563
|
|
147
155
|
webscout/Provider/tutorai.py,sha256=d__8jPhXtJKeOGlqwlxqW3f5meRDi2e3vNWVrOhEMrs,11278
|
|
148
|
-
webscout/Provider/
|
|
156
|
+
webscout/Provider/typefully.py,sha256=loOxnRPRv920yoHYKn1RgY61teEvA9_zhchvuLNiWLU,10766
|
|
157
|
+
webscout/Provider/typegpt.py,sha256=WwYYMLEDPk1ieJdz8nrvxLq8YpzQtdywPxrvJvrr52U,9769
|
|
149
158
|
webscout/Provider/uncovr.py,sha256=0-OlppjOjKO5_ozzYtzUtut2CbReAlv3bXG4GpuVdH0,13393
|
|
150
159
|
webscout/Provider/x0gpt.py,sha256=5THMLSDxTOzIXh4ZJFnBTxp1uU-6ospTo_u9vrThJ1Y,9459
|
|
151
160
|
webscout/Provider/yep.py,sha256=Hul4EtWM9kqx_mYaLdoVdyYqGydta4tNrJUffY0fgKU,16957
|
|
152
|
-
webscout/Provider/AISEARCH/DeepFind.py,sha256=
|
|
153
|
-
webscout/Provider/AISEARCH/ISou.py,sha256=
|
|
154
|
-
webscout/Provider/AISEARCH/__init__.py,sha256=
|
|
155
|
-
webscout/Provider/AISEARCH/felo_search.py,sha256=
|
|
156
|
-
webscout/Provider/AISEARCH/genspark_search.py,sha256=
|
|
161
|
+
webscout/Provider/AISEARCH/DeepFind.py,sha256=MhU5of90tTfiF_DtYA4KC5d2pjbZ43WnIU9ixDpXZng,10324
|
|
162
|
+
webscout/Provider/AISEARCH/ISou.py,sha256=9pL95bLL0f9aoJ36L8yo4bnkqoD_vYGSWi9os8L-b24,9991
|
|
163
|
+
webscout/Provider/AISEARCH/__init__.py,sha256=qVLQBog3PQjK3P9tBoXpyRaWNYFqId7mK_rcwt9svfQ,253
|
|
164
|
+
webscout/Provider/AISEARCH/felo_search.py,sha256=tomKb8G_p80nTryxWQ3XFVFM3POnSgi2zkL27y3KfMg,8968
|
|
165
|
+
webscout/Provider/AISEARCH/genspark_search.py,sha256=dtI_8RHVncWWCbKgbXxwqrFKGsJe0V5mXBuDHuMjiVQ,8163
|
|
166
|
+
webscout/Provider/AISEARCH/hika_search.py,sha256=s2Ou-1o5DaYb6gCwCLD1jgFbqKQSivhF38NNCRsmQfM,6765
|
|
167
|
+
webscout/Provider/AISEARCH/iask_search.py,sha256=np0QsK34E7S6AH2LPO9rEb0P-XLlQn6YsAXuCMeSj9U,17752
|
|
168
|
+
webscout/Provider/AISEARCH/monica_search.py,sha256=G8buO5HfKTt_Yj5CQ6RGzhCtifYF17ocK7_PcdbFD-c,9217
|
|
169
|
+
webscout/Provider/AISEARCH/scira_search.py,sha256=Y2iZhO0F9397dAkgvb_ngTpMFg_F_15OuBxyJxYasIE,11292
|
|
170
|
+
webscout/Provider/AISEARCH/webpilotai_search.py,sha256=sgxlknhIU90A_yyaq67udZTmuC5xftG0iDa_D2DVZCs,11904
|
|
157
171
|
webscout/Provider/HF_space/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
158
172
|
webscout/Provider/HF_space/qwen_qwen2.py,sha256=IulE7bAMSbR530pFTanWzMFb4UJ9qF_NKoGiHkXxcjc,7612
|
|
173
|
+
webscout/Provider/OPENAI/__init__.py,sha256=b1pM-FElCwrK5fpSvinYIawFFvYC7FRxj6u54Tqeowk,451
|
|
174
|
+
webscout/Provider/OPENAI/base.py,sha256=oxJNrH4hQaRNb-hWDbMXhoO2xD0Y1T8KKyN9bP1Qw2k,1467
|
|
175
|
+
webscout/Provider/OPENAI/c4ai.py,sha256=33hzcHrzjkpNCVUDvNOMcug624BNLlYvmQVEEeQxa5s,12837
|
|
176
|
+
webscout/Provider/OPENAI/chatgptclone.py,sha256=GbOaylrQXMe5SCQt8YtuzcpxF3dPPx68P0I25IM-8wo,16923
|
|
177
|
+
webscout/Provider/OPENAI/deepinfra.py,sha256=HsUzmG7Z_0bT-JZduOISYsXKVsQVSNOHLBGInanMME4,12265
|
|
178
|
+
webscout/Provider/OPENAI/exaai.py,sha256=ZpXpAmkQBXARI2ljLKSmjQCLu_ZQ5VBVcH2pZmXYtFg,14621
|
|
179
|
+
webscout/Provider/OPENAI/exachat.py,sha256=gPw3bGVe9AMbWqUww2vQI8KE3WSUo1UKoiIXa3Dw094,14383
|
|
180
|
+
webscout/Provider/OPENAI/freeaichat.py,sha256=U3GIbn4oW6yaFaZMe_yMmlHVQX3E_juZ3eBUGyMR_Pg,11482
|
|
181
|
+
webscout/Provider/OPENAI/glider.py,sha256=8zVIG0_gSgPk7zhidDpDKPSgtg6NBOdp0wrDV60Lvwc,12546
|
|
182
|
+
webscout/Provider/OPENAI/heckai.py,sha256=_cJwT_qzNQvRWz4AJuDaTyg7jdBQsGGxh34hbMnCIF4,11247
|
|
183
|
+
webscout/Provider/OPENAI/llmchatco.py,sha256=sAw9mVnS6srsIJnXEt186gKsEUMXMvAvkpMG0Z5_W38,14800
|
|
184
|
+
webscout/Provider/OPENAI/netwrck.py,sha256=51P4OyXiWtdjS0oFHt9ePrRx1t6TojtZtvPNLaEAPsw,12230
|
|
185
|
+
webscout/Provider/OPENAI/scirachat.py,sha256=S_NohU-7grhkovbfVzXcSfsp9CgkVwSdx-zPB9tSs1s,17561
|
|
186
|
+
webscout/Provider/OPENAI/sonus.py,sha256=xoLhgN8kuIgjA01a4ripT4KqZz7RVB5DqINibo472pk,10198
|
|
187
|
+
webscout/Provider/OPENAI/typegpt.py,sha256=73Ho_n18elOZlbRpm161hG9ol8EBq7QS7U4KQGNKlSA,13542
|
|
188
|
+
webscout/Provider/OPENAI/utils.py,sha256=3lForhUB5j2sgwwGHzdjAMZqtaOtmhqb6TsplCmfKQk,6860
|
|
189
|
+
webscout/Provider/OPENAI/venice.py,sha256=DY7Ppn5y1WWj99OXfDf3tN-I6y1giahkSAPEpQVOWxc,15449
|
|
190
|
+
webscout/Provider/OPENAI/wisecat.py,sha256=scsajQl3ECwoEbgmmIjl9oofuJ7x8q2LdaZGVmzVX9M,12998
|
|
191
|
+
webscout/Provider/OPENAI/x0gpt.py,sha256=-OFNa9wS8txvffrrhwkzfLEPWItD3c-I-17mPSr2GAc,13547
|
|
192
|
+
webscout/Provider/OPENAI/yep.py,sha256=UVEsW--nWugWP_Km5vDWuGGapbYrX_4uVH7mf97Gr5E,13282
|
|
159
193
|
webscout/Provider/TTI/__init__.py,sha256=K6J27GHg3Fv9xB13dGwgLWIow_EbZY1yKEAxohaoaKU,309
|
|
160
194
|
webscout/Provider/TTI/AiForce/__init__.py,sha256=R8r6XYBUoGB_26jSyjGwHpw8GtZ0wbnkBoHxu26T_QU,685
|
|
161
195
|
webscout/Provider/TTI/AiForce/async_aiforce.py,sha256=5O7tKyLgG3FVr-Tx9llZavCU9fOklrcnG210k4TvUwg,8317
|
|
@@ -240,9 +274,9 @@ webstoken/sentiment.py,sha256=yHtaHXJNS_sH1UTHZsOIgyhdijr8oi1pMlg_QE2wtxw,8202
|
|
|
240
274
|
webstoken/stemmer.py,sha256=VXWkBpPaH328WEQxw9e9ff-p2e27xDdbpVSy0nTnXYE,2624
|
|
241
275
|
webstoken/tagger.py,sha256=p4ScFnxn5sShYDVRoHK5pn_mzaDTsEtx3EHRvuvOlfE,2306
|
|
242
276
|
webstoken/tokenizer.py,sha256=XJ-d1MFRp0Trw6gtOtZ8_wAcaSQidnSCHLNpV1-OFJc,6016
|
|
243
|
-
webscout-
|
|
244
|
-
webscout-
|
|
245
|
-
webscout-
|
|
246
|
-
webscout-
|
|
247
|
-
webscout-
|
|
248
|
-
webscout-
|
|
277
|
+
webscout-8.1.dist-info/LICENSE.md,sha256=hyfFlVn7pWcrvuvs-piB8k4J8DlXdOsYje9RyPxc6Ik,7543
|
|
278
|
+
webscout-8.1.dist-info/METADATA,sha256=2fANW6S4SWTdbTZUgmdfSaCgaAQc3SicRqZ_0f8JYDQ,24621
|
|
279
|
+
webscout-8.1.dist-info/WHEEL,sha256=tZoeGjtWxWRfdplE7E3d45VPlLNQnvbKiYnx7gwAy8A,92
|
|
280
|
+
webscout-8.1.dist-info/entry_points.txt,sha256=7thMsVUoHiXGoIH1NeoocKpxlszWflNsNyrnDqGzvO0,70
|
|
281
|
+
webscout-8.1.dist-info/top_level.txt,sha256=KQtbgkA3gxcsADB0hIIx-heydmEYXpAY7xn3LjwDx0E,19
|
|
282
|
+
webscout-8.1.dist-info/RECORD,,
|
webscout/Provider/flowith.py
DELETED
|
@@ -1,207 +0,0 @@
|
|
|
1
|
-
import uuid
|
|
2
|
-
import requests
|
|
3
|
-
import json
|
|
4
|
-
import os
|
|
5
|
-
import re
|
|
6
|
-
from typing import Any, Dict, Optional, Generator, Union
|
|
7
|
-
|
|
8
|
-
from webscout.AIutel import Optimizers
|
|
9
|
-
from webscout.AIutel import Conversation
|
|
10
|
-
from webscout.AIutel import AwesomePrompts, sanitize_stream
|
|
11
|
-
from webscout.AIbase import Provider, AsyncProvider
|
|
12
|
-
from webscout import exceptions
|
|
13
|
-
from webscout.litagent import LitAgent
|
|
14
|
-
|
|
15
|
-
class Flowith(Provider):
|
|
16
|
-
"""
|
|
17
|
-
A class to interact with the Flowith AI chat API.
|
|
18
|
-
"""
|
|
19
|
-
|
|
20
|
-
AVAILABLE_MODELS = [
|
|
21
|
-
"gpt-4o-mini",
|
|
22
|
-
"deepseek-chat",
|
|
23
|
-
"deepseek-reasoner",
|
|
24
|
-
"claude-3.5-haiku",
|
|
25
|
-
"llama-3.2-11b",
|
|
26
|
-
"llama-3.2-90b",
|
|
27
|
-
"gemini-2.0-flash",
|
|
28
|
-
"o1",
|
|
29
|
-
"o3-mini",
|
|
30
|
-
"gpt-4o",
|
|
31
|
-
"claude-3.5-sonnet",
|
|
32
|
-
"gemini-2.0-pro",
|
|
33
|
-
"claude-3.7-sonnet"
|
|
34
|
-
|
|
35
|
-
]
|
|
36
|
-
|
|
37
|
-
def __init__(
|
|
38
|
-
self,
|
|
39
|
-
is_conversation: bool = True,
|
|
40
|
-
max_tokens: int = 2048,
|
|
41
|
-
timeout: int = 30,
|
|
42
|
-
intro: str = None,
|
|
43
|
-
filepath: str = None,
|
|
44
|
-
update_file: bool = True,
|
|
45
|
-
proxies: dict = {},
|
|
46
|
-
history_offset: int = 10250,
|
|
47
|
-
act: str = None,
|
|
48
|
-
model: str = "claude-3.5-haiku"
|
|
49
|
-
|
|
50
|
-
):
|
|
51
|
-
"""Initializes the Flowith API client."""
|
|
52
|
-
if model not in self.AVAILABLE_MODELS:
|
|
53
|
-
raise ValueError(f"Invalid model: {model}. Choose from: {self.AVAILABLE_MODELS}")
|
|
54
|
-
|
|
55
|
-
self.url = "https://edge.flowith.net/ai/chat?mode=general"
|
|
56
|
-
|
|
57
|
-
# Set up headers for the API request
|
|
58
|
-
self.headers = {
|
|
59
|
-
"authority": "edge.flowith.net",
|
|
60
|
-
"accept": "*/*",
|
|
61
|
-
"accept-encoding": "gzip, deflate, br, zstd",
|
|
62
|
-
"accept-language": "en-US,en;q=0.9,en-IN;q=0.8",
|
|
63
|
-
"content-type": "application/json",
|
|
64
|
-
"origin": "https://flowith.io",
|
|
65
|
-
"referer": "https://edge.flowith.net/",
|
|
66
|
-
"responsetype": "stream",
|
|
67
|
-
"sec-ch-ua": '"Chromium";v="134", "Not:A-Brand";v="24", "Microsoft Edge";v="134"',
|
|
68
|
-
"sec-ch-ua-mobile": "?0",
|
|
69
|
-
"sec-ch-ua-platform": '"Windows"',
|
|
70
|
-
"sec-fetch-dest": "empty",
|
|
71
|
-
"sec-fetch-mode": "cors",
|
|
72
|
-
"sec-fetch-site": "cross-site",
|
|
73
|
-
"user-agent": LitAgent().random() # Use LitAgent for user-agent
|
|
74
|
-
}
|
|
75
|
-
|
|
76
|
-
self.session = requests.Session()
|
|
77
|
-
self.session.headers.update(self.headers)
|
|
78
|
-
self.session.proxies.update(proxies)
|
|
79
|
-
|
|
80
|
-
self.is_conversation = is_conversation
|
|
81
|
-
self.max_tokens_to_sample = max_tokens
|
|
82
|
-
self.timeout = timeout
|
|
83
|
-
self.last_response = {}
|
|
84
|
-
self.model = model
|
|
85
|
-
self.node_id = str(uuid.uuid4()) # Generate a new UUID for node ID
|
|
86
|
-
|
|
87
|
-
self.__available_optimizers = (
|
|
88
|
-
method
|
|
89
|
-
for method in dir(Optimizers)
|
|
90
|
-
if callable(getattr(Optimizers, method)) and not method.startswith("__")
|
|
91
|
-
)
|
|
92
|
-
Conversation.intro = (
|
|
93
|
-
AwesomePrompts().get_act(
|
|
94
|
-
act, raise_not_found=True, default=None, case_insensitive=True
|
|
95
|
-
)
|
|
96
|
-
if act
|
|
97
|
-
else intro or Conversation.intro
|
|
98
|
-
)
|
|
99
|
-
|
|
100
|
-
self.conversation = Conversation(
|
|
101
|
-
is_conversation, self.max_tokens_to_sample, filepath, update_file
|
|
102
|
-
)
|
|
103
|
-
self.conversation.history_offset = history_offset
|
|
104
|
-
|
|
105
|
-
def clean_response(self, text):
|
|
106
|
-
"""Remove text between <think> tags and other specific text patterns."""
|
|
107
|
-
# Remove text between <think> tags
|
|
108
|
-
text = re.sub(r'<think>.*?</think>', '', text, flags=re.DOTALL)
|
|
109
|
-
|
|
110
|
-
return text.strip()
|
|
111
|
-
|
|
112
|
-
def decode_response(self, content):
|
|
113
|
-
"""Try to decode the response content using multiple encodings."""
|
|
114
|
-
encodings = ['utf-8', 'latin1', 'iso-8859-1', 'cp1252']
|
|
115
|
-
for encoding in encodings:
|
|
116
|
-
try:
|
|
117
|
-
return content.decode(encoding)
|
|
118
|
-
except UnicodeDecodeError:
|
|
119
|
-
continue
|
|
120
|
-
# If all encodings fail, try to decode with 'latin1' as it can decode any byte
|
|
121
|
-
return content.decode('latin1')
|
|
122
|
-
|
|
123
|
-
def ask(
|
|
124
|
-
self,
|
|
125
|
-
prompt: str,
|
|
126
|
-
stream: bool = False, # This parameter is kept for compatibility
|
|
127
|
-
raw: bool = False,
|
|
128
|
-
optimizer: str = None,
|
|
129
|
-
conversationally: bool = False,
|
|
130
|
-
) -> Union[Dict[str, Any], Dict[str, str]]:
|
|
131
|
-
conversation_prompt = self.conversation.gen_complete_prompt(prompt)
|
|
132
|
-
if optimizer:
|
|
133
|
-
if optimizer in self.__available_optimizers:
|
|
134
|
-
conversation_prompt = getattr(Optimizers, optimizer)(
|
|
135
|
-
conversation_prompt if conversationally else prompt
|
|
136
|
-
)
|
|
137
|
-
else:
|
|
138
|
-
raise Exception(f"Optimizer is not one of {self.__available_optimizers}")
|
|
139
|
-
|
|
140
|
-
# Payload construction - using stream=False for simpler handling
|
|
141
|
-
payload = {
|
|
142
|
-
"model": self.model,
|
|
143
|
-
"messages": [{"content": conversation_prompt, "role": "user"}],
|
|
144
|
-
"stream": True, # Set to False for direct response
|
|
145
|
-
"nodeId": self.node_id
|
|
146
|
-
}
|
|
147
|
-
|
|
148
|
-
try:
|
|
149
|
-
# Simple non-streaming request
|
|
150
|
-
response = self.session.post(self.url, json=payload, timeout=self.timeout)
|
|
151
|
-
|
|
152
|
-
if response.status_code != 200:
|
|
153
|
-
raise exceptions.FailedToGenerateResponseError(
|
|
154
|
-
f"Request failed with status code {response.status_code}"
|
|
155
|
-
)
|
|
156
|
-
|
|
157
|
-
# Get the response text using our multi-encoding decoder
|
|
158
|
-
response_text = self.decode_response(response.content).strip()
|
|
159
|
-
|
|
160
|
-
# Clean the response
|
|
161
|
-
cleaned_text = self.clean_response(response_text)
|
|
162
|
-
self.last_response = {"text": cleaned_text}
|
|
163
|
-
|
|
164
|
-
# Update conversation history
|
|
165
|
-
self.conversation.update_chat_history(prompt, cleaned_text)
|
|
166
|
-
|
|
167
|
-
return {"text": cleaned_text}
|
|
168
|
-
|
|
169
|
-
except requests.RequestException as e:
|
|
170
|
-
raise exceptions.FailedToGenerateResponseError(f"Request failed: {str(e)}")
|
|
171
|
-
|
|
172
|
-
def chat(
|
|
173
|
-
self,
|
|
174
|
-
prompt: str,
|
|
175
|
-
stream: bool = False, # Parameter kept for compatibility
|
|
176
|
-
optimizer: str = None,
|
|
177
|
-
conversationally: bool = False,
|
|
178
|
-
) -> str:
|
|
179
|
-
# Always use non-streaming mode
|
|
180
|
-
response = self.ask(prompt, False, optimizer=optimizer, conversationally=conversationally)
|
|
181
|
-
return self.get_message(response)
|
|
182
|
-
|
|
183
|
-
def get_message(self, response: dict) -> str:
|
|
184
|
-
assert isinstance(response, dict), "Response should be of dict data-type only"
|
|
185
|
-
return response["text"]
|
|
186
|
-
|
|
187
|
-
if __name__ == "__main__":
|
|
188
|
-
print("-" * 80)
|
|
189
|
-
print(f"{'Model':<50} {'Status':<10} {'Response'}")
|
|
190
|
-
print("-" * 80)
|
|
191
|
-
|
|
192
|
-
for model in Flowith.AVAILABLE_MODELS:
|
|
193
|
-
try:
|
|
194
|
-
test_ai = Flowith(model=model, timeout=60)
|
|
195
|
-
response = test_ai.chat("Say 'Hello' in one word")
|
|
196
|
-
response_text = response
|
|
197
|
-
|
|
198
|
-
if response_text and len(response_text.strip()) > 0:
|
|
199
|
-
status = "✓"
|
|
200
|
-
# Truncate response if too long
|
|
201
|
-
display_text = response_text.strip()[:50] + "..." if len(response_text.strip()) > 50 else response_text.strip()
|
|
202
|
-
else:
|
|
203
|
-
status = "✗"
|
|
204
|
-
display_text = "Empty or invalid response"
|
|
205
|
-
print(f"{model:<50} {status:<10} {display_text}")
|
|
206
|
-
except Exception as e:
|
|
207
|
-
print(f"{model:<50} {'✗':<10} {str(e)}")
|