webscout 8.2.9__py3-none-any.whl → 2026.1.19__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.
- webscout/AIauto.py +524 -251
- webscout/AIbase.py +247 -319
- webscout/AIutel.py +68 -703
- webscout/Bard.py +1072 -1026
- webscout/Extra/GitToolkit/__init__.py +10 -10
- webscout/Extra/GitToolkit/gitapi/__init__.py +20 -12
- webscout/Extra/GitToolkit/gitapi/gist.py +142 -0
- webscout/Extra/GitToolkit/gitapi/organization.py +91 -0
- webscout/Extra/GitToolkit/gitapi/repository.py +308 -195
- webscout/Extra/GitToolkit/gitapi/search.py +162 -0
- webscout/Extra/GitToolkit/gitapi/trending.py +236 -0
- webscout/Extra/GitToolkit/gitapi/user.py +128 -96
- webscout/Extra/GitToolkit/gitapi/utils.py +82 -62
- webscout/Extra/YTToolkit/README.md +443 -375
- webscout/Extra/YTToolkit/YTdownloader.py +953 -957
- webscout/Extra/YTToolkit/__init__.py +3 -3
- webscout/Extra/YTToolkit/transcriber.py +595 -476
- webscout/Extra/YTToolkit/ytapi/README.md +230 -44
- webscout/Extra/YTToolkit/ytapi/__init__.py +22 -6
- webscout/Extra/YTToolkit/ytapi/captions.py +190 -0
- webscout/Extra/YTToolkit/ytapi/channel.py +302 -307
- webscout/Extra/YTToolkit/ytapi/errors.py +13 -13
- webscout/Extra/YTToolkit/ytapi/extras.py +178 -118
- webscout/Extra/YTToolkit/ytapi/hashtag.py +120 -0
- webscout/Extra/YTToolkit/ytapi/https.py +89 -88
- webscout/Extra/YTToolkit/ytapi/patterns.py +61 -61
- webscout/Extra/YTToolkit/ytapi/playlist.py +59 -59
- webscout/Extra/YTToolkit/ytapi/pool.py +8 -8
- webscout/Extra/YTToolkit/ytapi/query.py +143 -40
- webscout/Extra/YTToolkit/ytapi/shorts.py +122 -0
- webscout/Extra/YTToolkit/ytapi/stream.py +68 -63
- webscout/Extra/YTToolkit/ytapi/suggestions.py +97 -0
- webscout/Extra/YTToolkit/ytapi/utils.py +66 -62
- webscout/Extra/YTToolkit/ytapi/video.py +403 -232
- webscout/Extra/__init__.py +2 -3
- webscout/Extra/gguf.py +1298 -684
- webscout/Extra/tempmail/README.md +487 -487
- webscout/Extra/tempmail/__init__.py +28 -28
- webscout/Extra/tempmail/async_utils.py +143 -141
- webscout/Extra/tempmail/base.py +172 -161
- webscout/Extra/tempmail/cli.py +191 -187
- webscout/Extra/tempmail/emailnator.py +88 -84
- webscout/Extra/tempmail/mail_tm.py +378 -361
- webscout/Extra/tempmail/temp_mail_io.py +304 -292
- webscout/Extra/weather.py +196 -194
- webscout/Extra/weather_ascii.py +17 -15
- webscout/Provider/AISEARCH/PERPLEXED_search.py +175 -0
- webscout/Provider/AISEARCH/Perplexity.py +292 -333
- webscout/Provider/AISEARCH/README.md +106 -279
- webscout/Provider/AISEARCH/__init__.py +16 -9
- webscout/Provider/AISEARCH/brave_search.py +298 -0
- webscout/Provider/AISEARCH/iask_search.py +357 -410
- webscout/Provider/AISEARCH/monica_search.py +200 -220
- webscout/Provider/AISEARCH/webpilotai_search.py +242 -255
- webscout/Provider/Algion.py +413 -0
- webscout/Provider/Andi.py +74 -69
- webscout/Provider/Apriel.py +313 -0
- webscout/Provider/Ayle.py +323 -0
- webscout/Provider/ChatSandbox.py +329 -342
- webscout/Provider/ClaudeOnline.py +365 -0
- webscout/Provider/Cohere.py +232 -208
- webscout/Provider/DeepAI.py +367 -0
- webscout/Provider/Deepinfra.py +467 -340
- webscout/Provider/EssentialAI.py +217 -0
- webscout/Provider/ExaAI.py +274 -261
- webscout/Provider/Gemini.py +175 -169
- webscout/Provider/GithubChat.py +385 -369
- webscout/Provider/Gradient.py +286 -0
- webscout/Provider/Groq.py +556 -801
- webscout/Provider/HadadXYZ.py +323 -0
- webscout/Provider/HeckAI.py +392 -375
- webscout/Provider/HuggingFace.py +387 -0
- webscout/Provider/IBM.py +340 -0
- webscout/Provider/Jadve.py +317 -291
- webscout/Provider/K2Think.py +306 -0
- webscout/Provider/Koboldai.py +221 -384
- webscout/Provider/Netwrck.py +273 -270
- webscout/Provider/Nvidia.py +310 -0
- webscout/Provider/OPENAI/DeepAI.py +489 -0
- webscout/Provider/OPENAI/K2Think.py +423 -0
- webscout/Provider/OPENAI/PI.py +463 -0
- webscout/Provider/OPENAI/README.md +890 -952
- webscout/Provider/OPENAI/TogetherAI.py +405 -0
- webscout/Provider/OPENAI/TwoAI.py +255 -357
- webscout/Provider/OPENAI/__init__.py +148 -40
- webscout/Provider/OPENAI/ai4chat.py +348 -293
- webscout/Provider/OPENAI/akashgpt.py +436 -0
- webscout/Provider/OPENAI/algion.py +303 -0
- webscout/Provider/OPENAI/{exachat.py → ayle.py} +365 -444
- webscout/Provider/OPENAI/base.py +253 -249
- webscout/Provider/OPENAI/cerebras.py +296 -0
- webscout/Provider/OPENAI/chatgpt.py +870 -556
- webscout/Provider/OPENAI/chatsandbox.py +233 -173
- webscout/Provider/OPENAI/deepinfra.py +403 -322
- webscout/Provider/OPENAI/e2b.py +2370 -1414
- webscout/Provider/OPENAI/elmo.py +278 -0
- webscout/Provider/OPENAI/exaai.py +452 -417
- webscout/Provider/OPENAI/freeassist.py +446 -0
- webscout/Provider/OPENAI/gradient.py +448 -0
- webscout/Provider/OPENAI/groq.py +380 -364
- webscout/Provider/OPENAI/hadadxyz.py +292 -0
- webscout/Provider/OPENAI/heckai.py +333 -308
- webscout/Provider/OPENAI/huggingface.py +321 -0
- webscout/Provider/OPENAI/ibm.py +425 -0
- webscout/Provider/OPENAI/llmchat.py +253 -0
- webscout/Provider/OPENAI/llmchatco.py +378 -335
- webscout/Provider/OPENAI/meta.py +541 -0
- webscout/Provider/OPENAI/netwrck.py +374 -357
- webscout/Provider/OPENAI/nvidia.py +317 -0
- webscout/Provider/OPENAI/oivscode.py +348 -287
- webscout/Provider/OPENAI/openrouter.py +328 -0
- webscout/Provider/OPENAI/pydantic_imports.py +1 -172
- webscout/Provider/OPENAI/sambanova.py +397 -0
- webscout/Provider/OPENAI/sonus.py +305 -304
- webscout/Provider/OPENAI/textpollinations.py +370 -339
- webscout/Provider/OPENAI/toolbaz.py +375 -413
- webscout/Provider/OPENAI/typefully.py +419 -355
- webscout/Provider/OPENAI/typliai.py +279 -0
- webscout/Provider/OPENAI/utils.py +314 -318
- webscout/Provider/OPENAI/wisecat.py +359 -387
- webscout/Provider/OPENAI/writecream.py +185 -163
- webscout/Provider/OPENAI/x0gpt.py +462 -365
- webscout/Provider/OPENAI/zenmux.py +380 -0
- webscout/Provider/OpenRouter.py +386 -0
- webscout/Provider/Openai.py +337 -496
- webscout/Provider/PI.py +443 -429
- webscout/Provider/QwenLM.py +346 -254
- webscout/Provider/STT/__init__.py +28 -0
- webscout/Provider/STT/base.py +303 -0
- webscout/Provider/STT/elevenlabs.py +264 -0
- webscout/Provider/Sambanova.py +317 -0
- webscout/Provider/TTI/README.md +69 -82
- webscout/Provider/TTI/__init__.py +37 -7
- webscout/Provider/TTI/base.py +147 -64
- webscout/Provider/TTI/claudeonline.py +393 -0
- webscout/Provider/TTI/magicstudio.py +292 -201
- webscout/Provider/TTI/miragic.py +180 -0
- webscout/Provider/TTI/pollinations.py +331 -221
- webscout/Provider/TTI/together.py +334 -0
- webscout/Provider/TTI/utils.py +14 -11
- webscout/Provider/TTS/README.md +186 -192
- webscout/Provider/TTS/__init__.py +43 -10
- webscout/Provider/TTS/base.py +523 -159
- webscout/Provider/TTS/deepgram.py +286 -156
- webscout/Provider/TTS/elevenlabs.py +189 -111
- webscout/Provider/TTS/freetts.py +218 -0
- webscout/Provider/TTS/murfai.py +288 -113
- webscout/Provider/TTS/openai_fm.py +364 -129
- webscout/Provider/TTS/parler.py +203 -111
- webscout/Provider/TTS/qwen.py +334 -0
- webscout/Provider/TTS/sherpa.py +286 -0
- webscout/Provider/TTS/speechma.py +693 -580
- webscout/Provider/TTS/streamElements.py +275 -333
- webscout/Provider/TTS/utils.py +280 -280
- webscout/Provider/TextPollinationsAI.py +331 -308
- webscout/Provider/TogetherAI.py +450 -0
- webscout/Provider/TwoAI.py +309 -475
- webscout/Provider/TypliAI.py +311 -305
- webscout/Provider/UNFINISHED/ChatHub.py +219 -209
- webscout/Provider/{OPENAI/glider.py → UNFINISHED/ChutesAI.py} +331 -326
- webscout/Provider/{GizAI.py → UNFINISHED/GizAI.py} +300 -295
- webscout/Provider/{Marcus.py → UNFINISHED/Marcus.py} +218 -198
- webscout/Provider/UNFINISHED/Qodo.py +481 -0
- webscout/Provider/{MCPCore.py → UNFINISHED/XenAI.py} +330 -315
- webscout/Provider/UNFINISHED/Youchat.py +347 -330
- webscout/Provider/UNFINISHED/aihumanizer.py +41 -0
- webscout/Provider/UNFINISHED/grammerchecker.py +37 -0
- webscout/Provider/UNFINISHED/liner.py +342 -0
- webscout/Provider/UNFINISHED/liner_api_request.py +246 -263
- webscout/Provider/{samurai.py → UNFINISHED/samurai.py} +231 -224
- webscout/Provider/WiseCat.py +256 -233
- webscout/Provider/WrDoChat.py +390 -370
- webscout/Provider/__init__.py +115 -174
- webscout/Provider/ai4chat.py +181 -174
- webscout/Provider/akashgpt.py +330 -335
- webscout/Provider/cerebras.py +397 -290
- webscout/Provider/cleeai.py +236 -213
- webscout/Provider/elmo.py +291 -283
- webscout/Provider/geminiapi.py +343 -208
- webscout/Provider/julius.py +245 -223
- webscout/Provider/learnfastai.py +333 -325
- webscout/Provider/llama3mitril.py +230 -215
- webscout/Provider/llmchat.py +308 -258
- webscout/Provider/llmchatco.py +321 -306
- webscout/Provider/meta.py +996 -801
- webscout/Provider/oivscode.py +332 -309
- webscout/Provider/searchchat.py +316 -292
- webscout/Provider/sonus.py +264 -258
- webscout/Provider/toolbaz.py +359 -353
- webscout/Provider/turboseek.py +332 -266
- webscout/Provider/typefully.py +262 -202
- webscout/Provider/x0gpt.py +332 -299
- webscout/__init__.py +31 -39
- webscout/__main__.py +5 -5
- webscout/cli.py +585 -524
- webscout/client.py +1497 -70
- webscout/conversation.py +140 -436
- webscout/exceptions.py +383 -362
- webscout/litagent/__init__.py +29 -29
- webscout/litagent/agent.py +492 -455
- webscout/litagent/constants.py +60 -60
- webscout/models.py +505 -181
- webscout/optimizers.py +74 -420
- webscout/prompt_manager.py +376 -288
- webscout/sanitize.py +1514 -0
- webscout/scout/README.md +452 -404
- webscout/scout/__init__.py +8 -8
- webscout/scout/core/__init__.py +7 -7
- webscout/scout/core/crawler.py +330 -210
- webscout/scout/core/scout.py +800 -607
- webscout/scout/core/search_result.py +51 -96
- webscout/scout/core/text_analyzer.py +64 -63
- webscout/scout/core/text_utils.py +412 -277
- webscout/scout/core/web_analyzer.py +54 -52
- webscout/scout/element.py +872 -478
- webscout/scout/parsers/__init__.py +70 -69
- webscout/scout/parsers/html5lib_parser.py +182 -172
- webscout/scout/parsers/html_parser.py +238 -236
- webscout/scout/parsers/lxml_parser.py +203 -178
- webscout/scout/utils.py +38 -37
- webscout/search/__init__.py +47 -0
- webscout/search/base.py +201 -0
- webscout/search/bing_main.py +45 -0
- webscout/search/brave_main.py +92 -0
- webscout/search/duckduckgo_main.py +57 -0
- webscout/search/engines/__init__.py +127 -0
- webscout/search/engines/bing/__init__.py +15 -0
- webscout/search/engines/bing/base.py +35 -0
- webscout/search/engines/bing/images.py +114 -0
- webscout/search/engines/bing/news.py +96 -0
- webscout/search/engines/bing/suggestions.py +36 -0
- webscout/search/engines/bing/text.py +109 -0
- webscout/search/engines/brave/__init__.py +19 -0
- webscout/search/engines/brave/base.py +47 -0
- webscout/search/engines/brave/images.py +213 -0
- webscout/search/engines/brave/news.py +353 -0
- webscout/search/engines/brave/suggestions.py +318 -0
- webscout/search/engines/brave/text.py +167 -0
- webscout/search/engines/brave/videos.py +364 -0
- webscout/search/engines/duckduckgo/__init__.py +25 -0
- webscout/search/engines/duckduckgo/answers.py +80 -0
- webscout/search/engines/duckduckgo/base.py +189 -0
- webscout/search/engines/duckduckgo/images.py +100 -0
- webscout/search/engines/duckduckgo/maps.py +183 -0
- webscout/search/engines/duckduckgo/news.py +70 -0
- webscout/search/engines/duckduckgo/suggestions.py +22 -0
- webscout/search/engines/duckduckgo/text.py +221 -0
- webscout/search/engines/duckduckgo/translate.py +48 -0
- webscout/search/engines/duckduckgo/videos.py +80 -0
- webscout/search/engines/duckduckgo/weather.py +84 -0
- webscout/search/engines/mojeek.py +61 -0
- webscout/search/engines/wikipedia.py +77 -0
- webscout/search/engines/yahoo/__init__.py +41 -0
- webscout/search/engines/yahoo/answers.py +19 -0
- webscout/search/engines/yahoo/base.py +34 -0
- webscout/search/engines/yahoo/images.py +323 -0
- webscout/search/engines/yahoo/maps.py +19 -0
- webscout/search/engines/yahoo/news.py +258 -0
- webscout/search/engines/yahoo/suggestions.py +140 -0
- webscout/search/engines/yahoo/text.py +273 -0
- webscout/search/engines/yahoo/translate.py +19 -0
- webscout/search/engines/yahoo/videos.py +302 -0
- webscout/search/engines/yahoo/weather.py +220 -0
- webscout/search/engines/yandex.py +67 -0
- webscout/search/engines/yep/__init__.py +13 -0
- webscout/search/engines/yep/base.py +34 -0
- webscout/search/engines/yep/images.py +101 -0
- webscout/search/engines/yep/suggestions.py +38 -0
- webscout/search/engines/yep/text.py +99 -0
- webscout/search/http_client.py +172 -0
- webscout/search/results.py +141 -0
- webscout/search/yahoo_main.py +57 -0
- webscout/search/yep_main.py +48 -0
- webscout/server/__init__.py +48 -0
- webscout/server/config.py +78 -0
- webscout/server/exceptions.py +69 -0
- webscout/server/providers.py +286 -0
- webscout/server/request_models.py +131 -0
- webscout/server/request_processing.py +404 -0
- webscout/server/routes.py +642 -0
- webscout/server/server.py +351 -0
- webscout/server/ui_templates.py +1171 -0
- webscout/swiftcli/__init__.py +79 -95
- webscout/swiftcli/core/__init__.py +7 -7
- webscout/swiftcli/core/cli.py +574 -297
- webscout/swiftcli/core/context.py +98 -104
- webscout/swiftcli/core/group.py +268 -241
- webscout/swiftcli/decorators/__init__.py +28 -28
- webscout/swiftcli/decorators/command.py +243 -221
- webscout/swiftcli/decorators/options.py +247 -220
- webscout/swiftcli/decorators/output.py +392 -252
- webscout/swiftcli/exceptions.py +21 -21
- webscout/swiftcli/plugins/__init__.py +9 -9
- webscout/swiftcli/plugins/base.py +134 -135
- webscout/swiftcli/plugins/manager.py +269 -269
- webscout/swiftcli/utils/__init__.py +58 -59
- webscout/swiftcli/utils/formatting.py +251 -252
- webscout/swiftcli/utils/parsing.py +368 -267
- webscout/update_checker.py +280 -136
- webscout/utils.py +28 -14
- webscout/version.py +2 -1
- webscout/version.py.bak +3 -0
- webscout/zeroart/__init__.py +218 -135
- webscout/zeroart/base.py +70 -66
- webscout/zeroart/effects.py +155 -101
- webscout/zeroart/fonts.py +1799 -1239
- webscout-2026.1.19.dist-info/METADATA +638 -0
- webscout-2026.1.19.dist-info/RECORD +312 -0
- {webscout-8.2.9.dist-info → webscout-2026.1.19.dist-info}/WHEEL +1 -1
- {webscout-8.2.9.dist-info → webscout-2026.1.19.dist-info}/entry_points.txt +1 -1
- webscout/DWEBS.py +0 -520
- webscout/Extra/Act.md +0 -309
- webscout/Extra/GitToolkit/gitapi/README.md +0 -110
- webscout/Extra/autocoder/__init__.py +0 -9
- webscout/Extra/autocoder/autocoder.py +0 -1105
- webscout/Extra/autocoder/autocoder_utiles.py +0 -332
- webscout/Extra/gguf.md +0 -430
- webscout/Extra/weather.md +0 -281
- webscout/Litlogger/README.md +0 -10
- webscout/Litlogger/__init__.py +0 -15
- webscout/Litlogger/formats.py +0 -4
- webscout/Litlogger/handlers.py +0 -103
- webscout/Litlogger/levels.py +0 -13
- webscout/Litlogger/logger.py +0 -92
- webscout/Provider/AI21.py +0 -177
- webscout/Provider/AISEARCH/DeepFind.py +0 -254
- webscout/Provider/AISEARCH/felo_search.py +0 -202
- webscout/Provider/AISEARCH/genspark_search.py +0 -324
- webscout/Provider/AISEARCH/hika_search.py +0 -186
- webscout/Provider/AISEARCH/scira_search.py +0 -298
- webscout/Provider/Aitopia.py +0 -316
- webscout/Provider/AllenAI.py +0 -440
- webscout/Provider/Blackboxai.py +0 -791
- webscout/Provider/ChatGPTClone.py +0 -237
- webscout/Provider/ChatGPTGratis.py +0 -194
- webscout/Provider/Cloudflare.py +0 -324
- webscout/Provider/ExaChat.py +0 -358
- webscout/Provider/Flowith.py +0 -217
- webscout/Provider/FreeGemini.py +0 -250
- webscout/Provider/Glider.py +0 -225
- webscout/Provider/HF_space/__init__.py +0 -0
- webscout/Provider/HF_space/qwen_qwen2.py +0 -206
- webscout/Provider/HuggingFaceChat.py +0 -469
- webscout/Provider/Hunyuan.py +0 -283
- webscout/Provider/LambdaChat.py +0 -411
- webscout/Provider/Llama3.py +0 -259
- webscout/Provider/Nemotron.py +0 -218
- webscout/Provider/OLLAMA.py +0 -396
- webscout/Provider/OPENAI/BLACKBOXAI.py +0 -766
- webscout/Provider/OPENAI/Cloudflare.py +0 -378
- webscout/Provider/OPENAI/FreeGemini.py +0 -283
- webscout/Provider/OPENAI/NEMOTRON.py +0 -232
- webscout/Provider/OPENAI/Qwen3.py +0 -283
- webscout/Provider/OPENAI/api.py +0 -969
- webscout/Provider/OPENAI/c4ai.py +0 -373
- webscout/Provider/OPENAI/chatgptclone.py +0 -494
- webscout/Provider/OPENAI/copilot.py +0 -242
- webscout/Provider/OPENAI/flowith.py +0 -162
- webscout/Provider/OPENAI/freeaichat.py +0 -359
- webscout/Provider/OPENAI/mcpcore.py +0 -389
- webscout/Provider/OPENAI/multichat.py +0 -376
- webscout/Provider/OPENAI/opkfc.py +0 -496
- webscout/Provider/OPENAI/scirachat.py +0 -477
- webscout/Provider/OPENAI/standardinput.py +0 -433
- webscout/Provider/OPENAI/typegpt.py +0 -364
- webscout/Provider/OPENAI/uncovrAI.py +0 -463
- webscout/Provider/OPENAI/venice.py +0 -431
- webscout/Provider/OPENAI/yep.py +0 -382
- webscout/Provider/OpenGPT.py +0 -209
- webscout/Provider/Perplexitylabs.py +0 -415
- webscout/Provider/Reka.py +0 -214
- webscout/Provider/StandardInput.py +0 -290
- webscout/Provider/TTI/aiarta.py +0 -365
- webscout/Provider/TTI/artbit.py +0 -0
- webscout/Provider/TTI/fastflux.py +0 -200
- webscout/Provider/TTI/piclumen.py +0 -203
- webscout/Provider/TTI/pixelmuse.py +0 -225
- webscout/Provider/TTS/gesserit.py +0 -128
- webscout/Provider/TTS/sthir.py +0 -94
- webscout/Provider/TeachAnything.py +0 -229
- webscout/Provider/UNFINISHED/puterjs.py +0 -635
- webscout/Provider/UNFINISHED/test_lmarena.py +0 -119
- webscout/Provider/Venice.py +0 -258
- webscout/Provider/VercelAI.py +0 -253
- webscout/Provider/Writecream.py +0 -246
- webscout/Provider/WritingMate.py +0 -269
- webscout/Provider/asksteve.py +0 -220
- webscout/Provider/chatglm.py +0 -215
- webscout/Provider/copilot.py +0 -425
- webscout/Provider/freeaichat.py +0 -285
- webscout/Provider/granite.py +0 -235
- webscout/Provider/hermes.py +0 -266
- webscout/Provider/koala.py +0 -170
- webscout/Provider/lmarena.py +0 -198
- webscout/Provider/multichat.py +0 -364
- webscout/Provider/scira_chat.py +0 -299
- webscout/Provider/scnet.py +0 -243
- webscout/Provider/talkai.py +0 -194
- webscout/Provider/typegpt.py +0 -289
- webscout/Provider/uncovr.py +0 -368
- webscout/Provider/yep.py +0 -389
- webscout/litagent/Readme.md +0 -276
- webscout/litprinter/__init__.py +0 -59
- webscout/swiftcli/Readme.md +0 -323
- webscout/tempid.py +0 -128
- webscout/webscout_search.py +0 -1184
- webscout/webscout_search_async.py +0 -654
- webscout/yep_search.py +0 -347
- webscout/zeroart/README.md +0 -89
- webscout-8.2.9.dist-info/METADATA +0 -1033
- webscout-8.2.9.dist-info/RECORD +0 -289
- {webscout-8.2.9.dist-info → webscout-2026.1.19.dist-info}/licenses/LICENSE.md +0 -0
- {webscout-8.2.9.dist-info → webscout-2026.1.19.dist-info}/top_level.txt +0 -0
|
@@ -0,0 +1,638 @@
|
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
|
+
Name: webscout
|
|
3
|
+
Version: 2026.1.19
|
|
4
|
+
Summary: Search for anything using Google, DuckDuckGo, phind.com, Contains AI models, can transcribe yt videos, temporary email and phone number generation, has TTS support, webai (terminal gpt and open interpreter) and offline LLMs and more
|
|
5
|
+
Author-email: OEvortex <koulabhay26@gmail.com>
|
|
6
|
+
License: Apache-2.0
|
|
7
|
+
Project-URL: Source, https://github.com/OE-LUCIFER/Webscout
|
|
8
|
+
Project-URL: Tracker, https://github.com/OE-LUCIFER/Webscout/issues
|
|
9
|
+
Project-URL: YouTube, https://youtube.com/@OEvortex
|
|
10
|
+
Keywords: search,ai,chatbot,llm,language-model,gpt,openai,gemini,claude,llama,search-engine,text-to-speech,tts,text-to-image,tti,weather,youtube,toolkit,utilities,web-search,duckduckgo,google,yep
|
|
11
|
+
Classifier: Development Status :: 5 - Production/Stable
|
|
12
|
+
Classifier: Intended Audience :: Developers
|
|
13
|
+
Classifier: Intended Audience :: End Users/Desktop
|
|
14
|
+
Classifier: Intended Audience :: Science/Research
|
|
15
|
+
Classifier: License :: OSI Approved :: Apache Software License
|
|
16
|
+
Classifier: Natural Language :: English
|
|
17
|
+
Classifier: Operating System :: OS Independent
|
|
18
|
+
Classifier: Operating System :: Microsoft :: Windows
|
|
19
|
+
Classifier: Operating System :: POSIX :: Linux
|
|
20
|
+
Classifier: Operating System :: MacOS :: MacOS X
|
|
21
|
+
Classifier: Programming Language :: Python :: 3
|
|
22
|
+
Classifier: Programming Language :: Python :: 3.9
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.10
|
|
24
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
25
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
26
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
27
|
+
Classifier: Programming Language :: Python :: Implementation :: CPython
|
|
28
|
+
Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
|
|
29
|
+
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
30
|
+
Classifier: Topic :: Text Processing :: Linguistic
|
|
31
|
+
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
|
|
32
|
+
Classifier: Topic :: Communications
|
|
33
|
+
Classifier: Topic :: Utilities
|
|
34
|
+
Requires-Python: >=3.9
|
|
35
|
+
Description-Content-Type: text/markdown
|
|
36
|
+
License-File: LICENSE.md
|
|
37
|
+
Requires-Dist: setuptools
|
|
38
|
+
Requires-Dist: wheel
|
|
39
|
+
Requires-Dist: pip
|
|
40
|
+
Requires-Dist: mistune
|
|
41
|
+
Requires-Dist: curl_cffi
|
|
42
|
+
Requires-Dist: nest-asyncio
|
|
43
|
+
Requires-Dist: colorama
|
|
44
|
+
Requires-Dist: rich
|
|
45
|
+
Requires-Dist: markdownify
|
|
46
|
+
Requires-Dist: PyYAML
|
|
47
|
+
Requires-Dist: html5lib
|
|
48
|
+
Requires-Dist: psutil
|
|
49
|
+
Requires-Dist: aiohttp
|
|
50
|
+
Requires-Dist: zstandard
|
|
51
|
+
Requires-Dist: litprinter
|
|
52
|
+
Requires-Dist: lxml>=5.2.2
|
|
53
|
+
Provides-Extra: dev
|
|
54
|
+
Requires-Dist: ruff>=0.1.6; extra == "dev"
|
|
55
|
+
Requires-Dist: pytest>=7.4.2; extra == "dev"
|
|
56
|
+
Provides-Extra: api
|
|
57
|
+
Requires-Dist: fastapi; extra == "api"
|
|
58
|
+
Requires-Dist: uvicorn[standard]; extra == "api"
|
|
59
|
+
Requires-Dist: pydantic; extra == "api"
|
|
60
|
+
Requires-Dist: python-multipart; extra == "api"
|
|
61
|
+
Requires-Dist: tiktoken; extra == "api"
|
|
62
|
+
Requires-Dist: jinja2; extra == "api"
|
|
63
|
+
Requires-Dist: websockets>=11.0; extra == "api"
|
|
64
|
+
Requires-Dist: starlette; extra == "api"
|
|
65
|
+
Requires-Dist: regex; extra == "api"
|
|
66
|
+
Provides-Extra: parser
|
|
67
|
+
Requires-Dist: lxml>=5.2.2; extra == "parser"
|
|
68
|
+
Dynamic: license-file
|
|
69
|
+
|
|
70
|
+
<div align="center">
|
|
71
|
+
<a href="https://github.com/OEvortex/Webscout">
|
|
72
|
+
<img src="https://img.shields.io/badge/WebScout-Ultimate%20Toolkit-blue?style=for-the-badge&logo=python&logoColor=white" alt="WebScout Logo">
|
|
73
|
+
</a>
|
|
74
|
+
|
|
75
|
+
<h1>Webscout</h1>
|
|
76
|
+
|
|
77
|
+
<p><strong>Your All-in-One Python Toolkit for Web Search, AI Interaction, Digital Utilities, and More</strong></p>
|
|
78
|
+
|
|
79
|
+
<p>
|
|
80
|
+
Access diverse search engines, cutting-edge AI models, temporary communication tools, media utilities, developer helpers, and powerful CLI interfaces – all through one unified library.
|
|
81
|
+
</p>
|
|
82
|
+
|
|
83
|
+
<!-- Badges -->
|
|
84
|
+
<p>
|
|
85
|
+
<a href="https://pypi.org/project/webscout/"><img src="https://img.shields.io/pypi/v/webscout.svg?style=flat-square&logo=pypi&label=PyPI" alt="PyPI Version"></a>
|
|
86
|
+
<a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout/month?style=flat-square" alt="Monthly Downloads"></a>
|
|
87
|
+
<a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout?style=flat-square" alt="Total Downloads"></a>
|
|
88
|
+
<a href="#"><img src="https://img.shields.io/pypi/pyversions/webscout?style=flat-square&logo=python" alt="Python Version"></a>
|
|
89
|
+
<a href="https://deepwiki.com/OEvortex/Webscout"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
|
|
90
|
+
</p>
|
|
91
|
+
</div>
|
|
92
|
+
|
|
93
|
+
<hr/>
|
|
94
|
+
|
|
95
|
+
## 📋 Table of Contents
|
|
96
|
+
|
|
97
|
+
- [🌟 Key Features](#-features)
|
|
98
|
+
- [⚙️ Installation](#️-installation)
|
|
99
|
+
- [🖥️ Command Line Interface](#️-command-line-interface)
|
|
100
|
+
- [📚 Documentation Hub](docs/README.md)
|
|
101
|
+
- [🔄 OpenAI-Compatible API Server](docs/openai-api-server.md)
|
|
102
|
+
- [🕸️ Scout: HTML Parser & Web Crawler](docs/scout.md)
|
|
103
|
+
- [🎭 Awesome Prompts Manager](docs/awesome-prompts.md)
|
|
104
|
+
- [🔗 GitAPI: GitHub Data Extraction](docs/gitapi.md)
|
|
105
|
+
- [🤖 AI Models and Voices](#-ai-models-and-voices)
|
|
106
|
+
- [💬 AI Chat Providers](#-ai-chat-providers)
|
|
107
|
+
- [👨💻 Advanced AI Interfaces](#-advanced-ai-interfaces)
|
|
108
|
+
- [🤝 Contributing](#-contributing)
|
|
109
|
+
- [🙏 Acknowledgments](#-acknowledgments)
|
|
110
|
+
|
|
111
|
+
<hr/>
|
|
112
|
+
|
|
113
|
+
> [!IMPORTANT]
|
|
114
|
+
> **Webscout supports three types of compatibility:**
|
|
115
|
+
>
|
|
116
|
+
> - **Native Compatibility:** Webscout's own native API for maximum flexibility
|
|
117
|
+
> - **OpenAI Compatibility:** Use providers with OpenAI-compatible interfaces
|
|
118
|
+
> - **Local LLM Compatibility:** Run local models with OpenAI-compatible servers
|
|
119
|
+
>
|
|
120
|
+
> Choose the approach that best fits your needs! For OpenAI compatibility, check the [OpenAI Providers README](webscout/Provider/OPENAI/README.md) or see the [OpenAI-Compatible API Server](#-openai-compatible-api-server) section below.
|
|
121
|
+
|
|
122
|
+
> [!NOTE]
|
|
123
|
+
> Webscout supports over 90 AI providers including: LLAMA, C4ai, Copilot, HuggingFaceChat, PerplexityLabs, DeepSeek, WiseCat, GROQ, OPENAI, GEMINI, DeepInfra, Meta, YEPCHAT, TypeGPT, ChatGPTClone, ExaAI, Claude, Anthropic, Cloudflare, AI21, Cerebras, and many more. All providers follow similar usage patterns with consistent interfaces.
|
|
124
|
+
|
|
125
|
+
<div align="center">
|
|
126
|
+
<!-- Social/Support Links -->
|
|
127
|
+
<p>
|
|
128
|
+
<a href="https://t.me/OEvortexAI"><img alt="Telegram Group" src="https://img.shields.io/badge/Telegram%20Group-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white"></a>
|
|
129
|
+
<a href="https://t.me/ANONYMOUS_56788"><img alt="Developer Telegram" src="https://img.shields.io/badge/Developer%20Contact-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white"></a>
|
|
130
|
+
<a href="https://youtube.com/@OEvortex"><img alt="YouTube" src="https://img.shields.io/badge/YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white"></a>
|
|
131
|
+
<a href="https://www.linkedin.com/in/oe-vortex-29a407265/"><img alt="LinkedIn" src="https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white"></a>
|
|
132
|
+
<a href="https://www.instagram.com/oevortex/"><img alt="Instagram" src="https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge&logo=instagram&logoColor=white"></a>
|
|
133
|
+
<a href="https://buymeacoffee.com/oevortex"><img alt="Buy Me A Coffee" src="https://img.shields.io/badge/Buy%20Me%20A%20Coffee-FFDD00?style=for-the-badge&logo=buymeacoffee&logoColor=black"></a>
|
|
134
|
+
</p>
|
|
135
|
+
</div>
|
|
136
|
+
|
|
137
|
+
<hr/>
|
|
138
|
+
|
|
139
|
+
## 🚀 Features
|
|
140
|
+
|
|
141
|
+
<details open>
|
|
142
|
+
<summary><b>Search & AI</b></summary>
|
|
143
|
+
<p>
|
|
144
|
+
|
|
145
|
+
- **Comprehensive Search:** Access multiple search engines including DuckDuckGo, Yep, Bing, Brave, Yahoo, Yandex, Mojeek, and Wikipedia for diverse search results ([Search Documentation](docs/search.md))
|
|
146
|
+
- **AI Powerhouse:** Access and interact with various AI models through three compatibility options:
|
|
147
|
+
- **Native API:** Use Webscout's native interfaces for providers like OpenAI, Cohere, Gemini, and many more
|
|
148
|
+
- **[OpenAI-Compatible Providers](webscout/Provider/OPENAI/README.md):** Seamlessly integrate with various AI providers using standardized OpenAI-compatible interfaces
|
|
149
|
+
- **Local LLMs:** Run local models with OpenAI-compatible servers (see [Inferno documentation](docs/inferno.md))
|
|
150
|
+
- **[AI Search](webscout/Provider/AISEARCH/README.md):** AI-powered search engines with advanced capabilities
|
|
151
|
+
- **[OpenAI-Compatible API Server](docs/openai-api-server.md):** Run a local API server that serves any Webscout provider through OpenAI-compatible endpoints
|
|
152
|
+
- **[Python Client API](docs/client.md):** Use Webscout providers directly in Python with OpenAI-compatible format
|
|
153
|
+
</p>
|
|
154
|
+
</details>
|
|
155
|
+
|
|
156
|
+
<details open>
|
|
157
|
+
<summary><b>Media & Content Tools</b></summary>
|
|
158
|
+
<p>
|
|
159
|
+
|
|
160
|
+
- **[YouTube Toolkit](webscout/Extra/YTToolkit/README.md):** Advanced YouTube video and transcript management with multi-language support
|
|
161
|
+
- **[Text-to-Speech (TTS)](webscout/Provider/TTS/README.md):** Convert text into natural-sounding speech using multiple AI-powered providers
|
|
162
|
+
- **[Text-to-Image](webscout/Provider/TTI/README.md):** Generate high-quality images using a wide range of AI art providers
|
|
163
|
+
- **[Weather Tools](docs/weather.md):** Retrieve detailed weather information for any location
|
|
164
|
+
</p>
|
|
165
|
+
</details>
|
|
166
|
+
|
|
167
|
+
<details open>
|
|
168
|
+
<summary><b>Developer Tools</b></summary>
|
|
169
|
+
<p>
|
|
170
|
+
|
|
171
|
+
- **[GitAPI](docs/gitapi.md):** Powerful GitHub data extraction toolkit without authentication requirements for public data
|
|
172
|
+
- **[SwiftCLI](docs/swiftcli.md):** A powerful and elegant CLI framework for beautiful command-line interfaces
|
|
173
|
+
- **[LitPrinter](docs/litprinter.md):** Styled console output with rich formatting and colors
|
|
174
|
+
- **[LitAgent](docs/litagent.md):** Modern user agent generator that keeps your requests undetectable
|
|
175
|
+
- **[Scout](docs/scout.md):** Advanced web parsing and crawling library with intelligent HTML/XML parsing
|
|
176
|
+
- **[GGUF Conversion](webscout/Extra/gguf.md):** Convert and quantize Hugging Face models to GGUF format
|
|
177
|
+
- **[Utility Decorators](docs/decorators.md):** Easily measure function execution time (`timeIt`) and add retry logic (`retry`) to any function
|
|
178
|
+
- **[Stream Sanitization Utilities](docs/sanitize.md):** Advanced tools for cleaning, decoding, and processing data streams
|
|
179
|
+
- **[Command Line Interface](docs/cli.md):** Comprehensive CLI for all search engines and utilities
|
|
180
|
+
</p>
|
|
181
|
+
</details>
|
|
182
|
+
|
|
183
|
+
<details open>
|
|
184
|
+
<summary><b>Privacy & Utilities</b></summary>
|
|
185
|
+
<p>
|
|
186
|
+
|
|
187
|
+
- **[Tempmail](webscout/Extra/tempmail/README.md) & Temp Number:** Generate temporary email addresses and phone numbers
|
|
188
|
+
- **[Awesome Prompts Manager](docs/awesome-prompts.md):** Curated collection of system prompts for specialized AI personas with comprehensive management capabilities
|
|
189
|
+
</p>
|
|
190
|
+
</details>
|
|
191
|
+
|
|
192
|
+
<hr/>
|
|
193
|
+
|
|
194
|
+
## ⚙️ Installation
|
|
195
|
+
|
|
196
|
+
Webscout supports multiple installation methods to fit your workflow:
|
|
197
|
+
|
|
198
|
+
### 📦 Standard Installation
|
|
199
|
+
|
|
200
|
+
```bash
|
|
201
|
+
# Install from PyPI
|
|
202
|
+
pip install -U webscout
|
|
203
|
+
|
|
204
|
+
# Install with API server dependencies
|
|
205
|
+
pip install -U "webscout[api]"
|
|
206
|
+
|
|
207
|
+
# Install with development dependencies
|
|
208
|
+
pip install -U "webscout[dev]"
|
|
209
|
+
```
|
|
210
|
+
|
|
211
|
+
### ⚡ UV Package Manager (Recommended)
|
|
212
|
+
|
|
213
|
+
[UV](https://github.com/astral-sh/uv) is a fast Python package manager. Webscout has full UV support:
|
|
214
|
+
|
|
215
|
+
```bash
|
|
216
|
+
# Install UV first (if not already installed)
|
|
217
|
+
pip install uv
|
|
218
|
+
|
|
219
|
+
# Install Webscout with UV
|
|
220
|
+
uv add webscout
|
|
221
|
+
|
|
222
|
+
# Install with API dependencies
|
|
223
|
+
uv add "webscout[api]"
|
|
224
|
+
|
|
225
|
+
# Run Webscout directly with UV (no installation needed)
|
|
226
|
+
uv run webscout --help
|
|
227
|
+
|
|
228
|
+
# Run with API dependencies
|
|
229
|
+
uv run webscout --extra api webscout-server
|
|
230
|
+
|
|
231
|
+
# Install as a UV tool for global access
|
|
232
|
+
uv tool install webscout
|
|
233
|
+
|
|
234
|
+
# Use UV tool commands
|
|
235
|
+
webscout --help
|
|
236
|
+
webscout-server
|
|
237
|
+
```
|
|
238
|
+
|
|
239
|
+
### 🔧 Development Installation
|
|
240
|
+
|
|
241
|
+
```bash
|
|
242
|
+
# Clone the repository
|
|
243
|
+
git clone https://github.com/OEvortex/Webscout.git
|
|
244
|
+
cd Webscout
|
|
245
|
+
|
|
246
|
+
# Install in development mode with UV
|
|
247
|
+
uv sync --extra dev --extra api
|
|
248
|
+
|
|
249
|
+
# Or with pip
|
|
250
|
+
pip install -e ".[dev,api]"
|
|
251
|
+
|
|
252
|
+
# Or with uv pip
|
|
253
|
+
uv pip install -e ".[dev,api]"
|
|
254
|
+
```
|
|
255
|
+
|
|
256
|
+
### 🐳 Docker Installation
|
|
257
|
+
|
|
258
|
+
```bash
|
|
259
|
+
# Pull and run the Docker image
|
|
260
|
+
docker pull OEvortex/webscout:latest
|
|
261
|
+
docker run -it OEvortex/webscout:latest
|
|
262
|
+
```
|
|
263
|
+
|
|
264
|
+
### 📱 Quick Start Commands
|
|
265
|
+
|
|
266
|
+
After installation, you can immediately start using Webscout:
|
|
267
|
+
|
|
268
|
+
```bash
|
|
269
|
+
# Check version
|
|
270
|
+
webscout version
|
|
271
|
+
|
|
272
|
+
# Search the web
|
|
273
|
+
webscout text -k "python programming"
|
|
274
|
+
|
|
275
|
+
# Start API server
|
|
276
|
+
webscout-server
|
|
277
|
+
|
|
278
|
+
# Get help
|
|
279
|
+
webscout --help
|
|
280
|
+
```
|
|
281
|
+
|
|
282
|
+
<hr/>
|
|
283
|
+
|
|
284
|
+
## 🖥️ Command Line Interface
|
|
285
|
+
|
|
286
|
+
Webscout provides a comprehensive command-line interface with support for multiple search engines and utilities. You can use it in multiple ways:
|
|
287
|
+
|
|
288
|
+
### 🚀 Direct Commands (Recommended)
|
|
289
|
+
|
|
290
|
+
After installing with `uv tool install webscout` or `pip install webscout`:
|
|
291
|
+
|
|
292
|
+
```bash
|
|
293
|
+
# Get help and list all commands
|
|
294
|
+
webscout --help
|
|
295
|
+
|
|
296
|
+
# Show version
|
|
297
|
+
webscout version
|
|
298
|
+
|
|
299
|
+
# Start API server
|
|
300
|
+
webscout-server
|
|
301
|
+
|
|
302
|
+
# Web search commands
|
|
303
|
+
webscout text -k "python programming" # DuckDuckGo text search
|
|
304
|
+
webscout images -k "mountain landscape" # DuckDuckGo image search
|
|
305
|
+
webscout news -k "AI breakthrough" -t w # News from last week
|
|
306
|
+
webscout weather -l "New York" # Weather information
|
|
307
|
+
webscout translate -k "Hello" -to es # Translation
|
|
308
|
+
|
|
309
|
+
# Alternative search engines
|
|
310
|
+
webscout yahoo_text -k "machine learning" -r us # Yahoo search
|
|
311
|
+
webscout bing_text -k "climate change" # Bing search
|
|
312
|
+
webscout yep_text -k "latest news" # Yep search
|
|
313
|
+
|
|
314
|
+
# Search with advanced options
|
|
315
|
+
webscout images -k "cat" --size large --type-image photo --license-image any
|
|
316
|
+
webscout maps -k "coffee shop" --city "New York" --radius 5
|
|
317
|
+
```
|
|
318
|
+
|
|
319
|
+
### 🔧 UV Run Commands (No Installation Required)
|
|
320
|
+
|
|
321
|
+
```bash
|
|
322
|
+
# Run directly with UV (downloads and runs automatically)
|
|
323
|
+
uv run webscout --help
|
|
324
|
+
uv run webscout text -k "latest news"
|
|
325
|
+
uv run --extra api webscout-server
|
|
326
|
+
```
|
|
327
|
+
|
|
328
|
+
### 📦 Python Module Commands
|
|
329
|
+
|
|
330
|
+
```bash
|
|
331
|
+
# Traditional Python module execution
|
|
332
|
+
python -m webscout --help
|
|
333
|
+
python -m webscout text -k "search query"
|
|
334
|
+
python -m webscout-server
|
|
335
|
+
```
|
|
336
|
+
|
|
337
|
+
### 🌐 Supported Search Providers
|
|
338
|
+
|
|
339
|
+
Webscout CLI supports multiple search backends:
|
|
340
|
+
- **DuckDuckGo** (default): `text`, `images`, `videos`, `news`, `answers`, `maps`, `translate`, `suggestions`, `weather`
|
|
341
|
+
- **Yahoo**: `yahoo_text`, `yahoo_images`, `yahoo_videos`, `yahoo_news`, `yahoo_answers`, `yahoo_maps`, `yahoo_translate`, `yahoo_suggestions`, `yahoo_weather`
|
|
342
|
+
- **Bing**: `bing_text`, `bing_images`, `bing_news`, `bing_suggestions`
|
|
343
|
+
- **Yep**: `yep_text`, `yep_images`, `yep_suggestions`
|
|
344
|
+
|
|
345
|
+
For detailed command reference and all available options, see [CLI Documentation](docs/cli.md).
|
|
346
|
+
|
|
347
|
+
<hr/>
|
|
348
|
+
|
|
349
|
+
## 🤖 AI Models and Voices
|
|
350
|
+
|
|
351
|
+
Webscout provides easy access to a wide range of AI models and voice options.
|
|
352
|
+
|
|
353
|
+
<details open>
|
|
354
|
+
<summary><b>LLM Models</b></summary>
|
|
355
|
+
<p>
|
|
356
|
+
|
|
357
|
+
Access and manage Large Language Models with Webscout's model utilities.
|
|
358
|
+
|
|
359
|
+
```python
|
|
360
|
+
from webscout import model
|
|
361
|
+
from rich import print
|
|
362
|
+
|
|
363
|
+
# List all available LLM models
|
|
364
|
+
all_models = model.llm.list()
|
|
365
|
+
print(f"Total available models: {len(all_models)}")
|
|
366
|
+
|
|
367
|
+
# Get a summary of models by provider
|
|
368
|
+
summary = model.llm.summary()
|
|
369
|
+
print("Models by provider:")
|
|
370
|
+
for provider, count in summary.items():
|
|
371
|
+
print(f" {provider}: {count} models")
|
|
372
|
+
|
|
373
|
+
# Get models for a specific provider
|
|
374
|
+
provider_name = "PerplexityLabs"
|
|
375
|
+
available_models = model.llm.get(provider_name)
|
|
376
|
+
print(f"\n{provider_name} models:")
|
|
377
|
+
if isinstance(available_models, list):
|
|
378
|
+
for i, model_name in enumerate(available_models, 1):
|
|
379
|
+
print(f" {i}. {model_name}")
|
|
380
|
+
else:
|
|
381
|
+
print(f" {available_models}")
|
|
382
|
+
```
|
|
383
|
+
|
|
384
|
+
</p>
|
|
385
|
+
</details>
|
|
386
|
+
|
|
387
|
+
<details open>
|
|
388
|
+
<summary><b>TTS Voices</b></summary>
|
|
389
|
+
<p>
|
|
390
|
+
|
|
391
|
+
Access and manage Text-to-Speech voices across multiple providers.
|
|
392
|
+
|
|
393
|
+
```python
|
|
394
|
+
from webscout import model
|
|
395
|
+
from rich import print
|
|
396
|
+
|
|
397
|
+
# List all available TTS voices
|
|
398
|
+
all_voices = model.tts.list()
|
|
399
|
+
print(f"Total available voices: {len(all_voices)}")
|
|
400
|
+
|
|
401
|
+
# Get a summary of voices by provider
|
|
402
|
+
summary = model.tts.summary()
|
|
403
|
+
print("\nVoices by provider:")
|
|
404
|
+
for provider, count in summary.items():
|
|
405
|
+
print(f" {provider}: {count} voices")
|
|
406
|
+
|
|
407
|
+
# Get voices for a specific provider
|
|
408
|
+
provider_name = "ElevenlabsTTS"
|
|
409
|
+
available_voices = model.tts.get(provider_name)
|
|
410
|
+
print(f"\n{provider_name} voices:")
|
|
411
|
+
if isinstance(available_voices, dict):
|
|
412
|
+
for voice_name, voice_id in list(available_voices.items())[:5]: # Show first 5 voices
|
|
413
|
+
print(f" - {voice_name}: {voice_id}")
|
|
414
|
+
if len(available_voices) > 5:
|
|
415
|
+
print(f" ... and {len(available_voices) - 5} more")
|
|
416
|
+
```
|
|
417
|
+
|
|
418
|
+
</p>
|
|
419
|
+
</details>
|
|
420
|
+
|
|
421
|
+
<hr/>
|
|
422
|
+
|
|
423
|
+
## 💬 AI Chat Providers
|
|
424
|
+
|
|
425
|
+
Webscout offers a comprehensive collection of AI chat providers, giving you access to various language models through a consistent interface.
|
|
426
|
+
|
|
427
|
+
### Popular AI Providers
|
|
428
|
+
|
|
429
|
+
<div class="provider-table">
|
|
430
|
+
|
|
431
|
+
| Provider | Description | Key Features |
|
|
432
|
+
| ---------------- | ------------------------ | ---------------------------------- |
|
|
433
|
+
| `OPENAI` | OpenAI's models | GPT-3.5, GPT-4, tool calling |
|
|
434
|
+
| `GEMINI` | Google's Gemini models | Web search capabilities |
|
|
435
|
+
| `Meta` | Meta's AI assistant | Image generation, web search |
|
|
436
|
+
| `GROQ` | Fast inference platform | High-speed inference, tool calling |
|
|
437
|
+
| `LLAMA` | Meta's Llama models | Open weights models |
|
|
438
|
+
| `DeepInfra` | Various open models | Multiple model options |
|
|
439
|
+
| `Cohere` | Cohere's language models | Command models |
|
|
440
|
+
| `PerplexityLabs` | Perplexity AI | Web search integration |
|
|
441
|
+
| `YEPCHAT` | Yep.com's AI | Streaming responses |
|
|
442
|
+
| `ChatGPTClone` | ChatGPT-like interface | Multiple model options |
|
|
443
|
+
| `TypeGPT` | TypeChat models | Multiple model options |
|
|
444
|
+
|
|
445
|
+
</div>
|
|
446
|
+
|
|
447
|
+
<details>
|
|
448
|
+
<summary><b>Example: Using Meta AI</b></summary>
|
|
449
|
+
<p>
|
|
450
|
+
|
|
451
|
+
```python
|
|
452
|
+
from webscout import Meta
|
|
453
|
+
|
|
454
|
+
# For basic usage (no authentication required)
|
|
455
|
+
meta_ai = Meta()
|
|
456
|
+
|
|
457
|
+
# Simple text prompt
|
|
458
|
+
response = meta_ai.chat("What is the capital of France?")
|
|
459
|
+
print(response)
|
|
460
|
+
|
|
461
|
+
# For authenticated usage with web search and image generation
|
|
462
|
+
meta_ai = Meta(fb_email="your_email@example.com", fb_password="your_password")
|
|
463
|
+
|
|
464
|
+
# Text prompt with web search
|
|
465
|
+
response = meta_ai.ask("What are the latest developments in quantum computing?")
|
|
466
|
+
print(response["message"])
|
|
467
|
+
print("Sources:", response["sources"])
|
|
468
|
+
|
|
469
|
+
# Image generation
|
|
470
|
+
response = meta_ai.ask("Create an image of a futuristic city")
|
|
471
|
+
for media in response.get("media", []):
|
|
472
|
+
print(media["url"])
|
|
473
|
+
```
|
|
474
|
+
|
|
475
|
+
</p>
|
|
476
|
+
</details>
|
|
477
|
+
|
|
478
|
+
<details>
|
|
479
|
+
<summary><b>Example: GROQ with Tool Calling</b></summary>
|
|
480
|
+
<p>
|
|
481
|
+
|
|
482
|
+
```python
|
|
483
|
+
from webscout import GROQ, DuckDuckGoSearch
|
|
484
|
+
import json
|
|
485
|
+
|
|
486
|
+
# Initialize GROQ client
|
|
487
|
+
client = GROQ(api_key="your_api_key")
|
|
488
|
+
|
|
489
|
+
# Define helper functions
|
|
490
|
+
def calculate(expression):
|
|
491
|
+
"""Evaluate a mathematical expression"""
|
|
492
|
+
try:
|
|
493
|
+
result = eval(expression)
|
|
494
|
+
return json.dumps({"result": result})
|
|
495
|
+
except Exception as e:
|
|
496
|
+
return json.dumps({"error": str(e)})
|
|
497
|
+
|
|
498
|
+
def search(query):
|
|
499
|
+
"""Perform a web search"""
|
|
500
|
+
try:
|
|
501
|
+
ddg = DuckDuckGoSearch()
|
|
502
|
+
results = ddg.text(query, max_results=3)
|
|
503
|
+
return json.dumps({"results": results})
|
|
504
|
+
except Exception as e:
|
|
505
|
+
return json.dumps({"error": str(e)})
|
|
506
|
+
|
|
507
|
+
# Register functions with GROQ
|
|
508
|
+
client.add_function("calculate", calculate)
|
|
509
|
+
client.add_function("search", search)
|
|
510
|
+
|
|
511
|
+
# Define tool specifications
|
|
512
|
+
tools = [
|
|
513
|
+
{
|
|
514
|
+
"type": "function",
|
|
515
|
+
"function": {
|
|
516
|
+
"name": "calculate",
|
|
517
|
+
"description": "Evaluate a mathematical expression",
|
|
518
|
+
"parameters": {
|
|
519
|
+
"type": "object",
|
|
520
|
+
"properties": {
|
|
521
|
+
"expression": {
|
|
522
|
+
"type": "string",
|
|
523
|
+
"description": "The mathematical expression to evaluate"
|
|
524
|
+
}
|
|
525
|
+
},
|
|
526
|
+
"required": ["expression"]
|
|
527
|
+
}
|
|
528
|
+
}
|
|
529
|
+
},
|
|
530
|
+
{
|
|
531
|
+
"type": "function",
|
|
532
|
+
"function": {
|
|
533
|
+
"name": "search",
|
|
534
|
+
"description": "Perform a web search",
|
|
535
|
+
"parameters": {
|
|
536
|
+
"type": "object",
|
|
537
|
+
"properties": {
|
|
538
|
+
"query": {
|
|
539
|
+
"type": "string",
|
|
540
|
+
"description": "The search query"
|
|
541
|
+
}
|
|
542
|
+
},
|
|
543
|
+
"required": ["query"]
|
|
544
|
+
}
|
|
545
|
+
}
|
|
546
|
+
}
|
|
547
|
+
]
|
|
548
|
+
|
|
549
|
+
# Use the tools
|
|
550
|
+
response = client.chat("What is 25 * 4 + 10?", tools=tools)
|
|
551
|
+
print(response)
|
|
552
|
+
|
|
553
|
+
response = client.chat("Find information about quantum computing", tools=tools)
|
|
554
|
+
print(response)
|
|
555
|
+
```
|
|
556
|
+
|
|
557
|
+
</p>
|
|
558
|
+
</details>
|
|
559
|
+
|
|
560
|
+
<details open>
|
|
561
|
+
<summary><b>GGUF Model Conversion</b></summary>
|
|
562
|
+
<p>
|
|
563
|
+
|
|
564
|
+
Webscout provides tools to convert and quantize Hugging Face models into the GGUF format for offline use.
|
|
565
|
+
|
|
566
|
+
> **Note (2026.01.01)**: GGUF conversion now uses lazy imports for `huggingface_hub`. The library can be imported without requiring `huggingface_hub`, and it's only loaded when GGUF features are actually used. Install it with `pip install huggingface_hub` if you need GGUF conversion.
|
|
567
|
+
|
|
568
|
+
```python
|
|
569
|
+
from webscout.Extra.gguf import ModelConverter
|
|
570
|
+
|
|
571
|
+
# Create a converter instance
|
|
572
|
+
converter = ModelConverter(
|
|
573
|
+
model_id="mistralai/Mistral-7B-Instruct-v0.2", # Hugging Face model ID
|
|
574
|
+
quantization_methods="q4_k_m" # Quantization method
|
|
575
|
+
)
|
|
576
|
+
|
|
577
|
+
# Run the conversion
|
|
578
|
+
converter.convert()
|
|
579
|
+
```
|
|
580
|
+
|
|
581
|
+
#### Available Quantization Methods
|
|
582
|
+
|
|
583
|
+
| Method | Description |
|
|
584
|
+
| -------- | ------------------------------------------------------------- |
|
|
585
|
+
| `fp16` | 16-bit floating point - maximum accuracy, largest size |
|
|
586
|
+
| `q2_k` | 2-bit quantization (smallest size, lowest accuracy) |
|
|
587
|
+
| `q3_k_l` | 3-bit quantization (large) - balanced for size/accuracy |
|
|
588
|
+
| `q3_k_m` | 3-bit quantization (medium) - good balance for most use cases |
|
|
589
|
+
| `q3_k_s` | 3-bit quantization (small) - optimized for speed |
|
|
590
|
+
| `q4_0` | 4-bit quantization (version 0) - standard 4-bit compression |
|
|
591
|
+
| `q4_1` | 4-bit quantization (version 1) - improved accuracy over q4_0 |
|
|
592
|
+
| `q4_k_m` | 4-bit quantization (medium) - balanced for most models |
|
|
593
|
+
| `q4_k_s` | 4-bit quantization (small) - optimized for speed |
|
|
594
|
+
| `q5_0` | 5-bit quantization (version 0) - high accuracy, larger size |
|
|
595
|
+
| `q5_1` | 5-bit quantization (version 1) - improved accuracy over q5_0 |
|
|
596
|
+
| `q5_k_m` | 5-bit quantization (medium) - best balance for quality/size |
|
|
597
|
+
| `q5_k_s` | 5-bit quantization (small) - optimized for speed |
|
|
598
|
+
| `q6_k` | 6-bit quantization - highest accuracy, largest size |
|
|
599
|
+
| `q8_0` | 8-bit quantization - maximum accuracy, largest size |
|
|
600
|
+
|
|
601
|
+
#### Command Line Usage
|
|
602
|
+
|
|
603
|
+
```bash
|
|
604
|
+
python -m webscout.Extra.gguf convert -m "mistralai/Mistral-7B-Instruct-v0.2" -q "q4_k_m"
|
|
605
|
+
```
|
|
606
|
+
|
|
607
|
+
</p>
|
|
608
|
+
</details>
|
|
609
|
+
|
|
610
|
+
<div align="center">
|
|
611
|
+
<p>
|
|
612
|
+
<a href="https://youtube.com/@OEvortex">▶️ Vortex's YouTube Channel</a> |
|
|
613
|
+
<a href="https://t.me/ANONYMOUS_56788">📢 Anonymous Coder's Telegram</a>
|
|
614
|
+
</p>
|
|
615
|
+
</div>
|
|
616
|
+
|
|
617
|
+
<hr/>
|
|
618
|
+
|
|
619
|
+
## 🤝 Contributing
|
|
620
|
+
|
|
621
|
+
Contributions are welcome! If you'd like to contribute to Webscout, please follow these steps:
|
|
622
|
+
|
|
623
|
+
1. Fork the repository
|
|
624
|
+
2. Create a new branch for your feature or bug fix
|
|
625
|
+
3. Make your changes and commit them with descriptive messages
|
|
626
|
+
4. Push your branch to your forked repository
|
|
627
|
+
5. Submit a pull request to the main repository
|
|
628
|
+
|
|
629
|
+
## 🙏 Acknowledgments
|
|
630
|
+
|
|
631
|
+
- All the amazing developers who have contributed to the project
|
|
632
|
+
- The open-source community for their support and inspiration
|
|
633
|
+
|
|
634
|
+
<hr/>
|
|
635
|
+
|
|
636
|
+
<div align="center">
|
|
637
|
+
<p>Made with ❤️ by the Webscout team</p>
|
|
638
|
+
</div>
|