webscout 8.2.7__tar.gz → 8.2.9__tar.gz
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-8.2.9/LEGAL_NOTICE.md +152 -0
- webscout-8.2.9/MANIFEST.in +12 -0
- {webscout-8.2.7/webscout.egg-info → webscout-8.2.9}/PKG-INFO +262 -83
- {webscout-8.2.7 → webscout-8.2.9}/README.md +254 -78
- webscout-8.2.9/changelog.md +0 -0
- {webscout-8.2.7 → webscout-8.2.9}/pyproject.toml +121 -113
- {webscout-8.2.7 → webscout-8.2.9}/webscout/AIauto.py +33 -15
- {webscout-8.2.7 → webscout-8.2.9}/webscout/AIbase.py +96 -37
- webscout-8.2.9/webscout/AIutel.py +703 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout/Bard.py +441 -323
- webscout-8.2.9/webscout/Extra/Act.md +309 -0
- webscout-8.2.9/webscout/Extra/GitToolkit/__init__.py +10 -0
- webscout-8.2.9/webscout/Extra/GitToolkit/gitapi/README.md +110 -0
- webscout-8.2.9/webscout/Extra/GitToolkit/gitapi/__init__.py +12 -0
- webscout-8.2.9/webscout/Extra/GitToolkit/gitapi/repository.py +195 -0
- webscout-8.2.9/webscout/Extra/GitToolkit/gitapi/user.py +96 -0
- webscout-8.2.9/webscout/Extra/GitToolkit/gitapi/utils.py +62 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/README.md +375 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/YTdownloader.py +957 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/__init__.py +3 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/transcriber.py +476 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/ytapi/README.md +44 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/ytapi/__init__.py +6 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/ytapi/channel.py +307 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/ytapi/errors.py +13 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/ytapi/extras.py +118 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/ytapi/https.py +88 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/ytapi/patterns.py +61 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/ytapi/playlist.py +59 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/ytapi/pool.py +8 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/ytapi/query.py +40 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/ytapi/stream.py +63 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/ytapi/utils.py +62 -0
- webscout-8.2.9/webscout/Extra/YTToolkit/ytapi/video.py +232 -0
- webscout-8.2.9/webscout/Extra/__init__.py +7 -0
- webscout-8.2.9/webscout/Extra/autocoder/__init__.py +9 -0
- webscout-8.2.9/webscout/Extra/autocoder/autocoder.py +1105 -0
- webscout-8.2.9/webscout/Extra/autocoder/autocoder_utiles.py +332 -0
- webscout-8.2.9/webscout/Extra/gguf.md +430 -0
- webscout-8.2.9/webscout/Extra/gguf.py +684 -0
- webscout-8.2.9/webscout/Extra/tempmail/README.md +488 -0
- webscout-8.2.9/webscout/Extra/tempmail/__init__.py +28 -0
- webscout-8.2.9/webscout/Extra/tempmail/async_utils.py +141 -0
- webscout-8.2.9/webscout/Extra/tempmail/base.py +161 -0
- webscout-8.2.9/webscout/Extra/tempmail/cli.py +187 -0
- webscout-8.2.9/webscout/Extra/tempmail/emailnator.py +84 -0
- webscout-8.2.9/webscout/Extra/tempmail/mail_tm.py +361 -0
- webscout-8.2.9/webscout/Extra/tempmail/temp_mail_io.py +292 -0
- webscout-8.2.9/webscout/Extra/weather.md +281 -0
- webscout-8.2.9/webscout/Extra/weather.py +194 -0
- webscout-8.2.9/webscout/Extra/weather_ascii.py +76 -0
- webscout-8.2.9/webscout/Litlogger/README.md +10 -0
- webscout-8.2.9/webscout/Litlogger/__init__.py +15 -0
- webscout-8.2.9/webscout/Litlogger/formats.py +4 -0
- webscout-8.2.9/webscout/Litlogger/handlers.py +103 -0
- webscout-8.2.9/webscout/Litlogger/levels.py +13 -0
- webscout-8.2.9/webscout/Litlogger/logger.py +92 -0
- webscout-8.2.9/webscout/Provider/AI21.py +177 -0
- webscout-8.2.9/webscout/Provider/AISEARCH/DeepFind.py +254 -0
- webscout-8.2.9/webscout/Provider/AISEARCH/Perplexity.py +333 -0
- webscout-8.2.9/webscout/Provider/AISEARCH/README.md +279 -0
- webscout-8.2.9/webscout/Provider/AISEARCH/__init__.py +9 -0
- webscout-8.2.9/webscout/Provider/AISEARCH/felo_search.py +202 -0
- webscout-8.2.9/webscout/Provider/AISEARCH/genspark_search.py +324 -0
- webscout-8.2.9/webscout/Provider/AISEARCH/hika_search.py +186 -0
- webscout-8.2.9/webscout/Provider/AISEARCH/iask_search.py +410 -0
- webscout-8.2.9/webscout/Provider/AISEARCH/monica_search.py +220 -0
- webscout-8.2.9/webscout/Provider/AISEARCH/scira_search.py +298 -0
- webscout-8.2.9/webscout/Provider/AISEARCH/webpilotai_search.py +255 -0
- webscout-8.2.9/webscout/Provider/Aitopia.py +316 -0
- webscout-8.2.9/webscout/Provider/AllenAI.py +440 -0
- webscout-8.2.9/webscout/Provider/Andi.py +228 -0
- webscout-8.2.9/webscout/Provider/Blackboxai.py +791 -0
- webscout-8.2.9/webscout/Provider/ChatGPTClone.py +237 -0
- webscout-8.2.9/webscout/Provider/ChatGPTGratis.py +194 -0
- webscout-8.2.9/webscout/Provider/ChatSandbox.py +342 -0
- webscout-8.2.9/webscout/Provider/Cloudflare.py +324 -0
- webscout-8.2.9/webscout/Provider/Cohere.py +208 -0
- webscout-8.2.9/webscout/Provider/Deepinfra.py +340 -0
- webscout-8.2.9/webscout/Provider/ExaAI.py +261 -0
- webscout-8.2.9/webscout/Provider/ExaChat.py +358 -0
- webscout-8.2.9/webscout/Provider/Flowith.py +217 -0
- webscout-8.2.9/webscout/Provider/FreeGemini.py +250 -0
- webscout-8.2.9/webscout/Provider/Gemini.py +169 -0
- webscout-8.2.9/webscout/Provider/GithubChat.py +369 -0
- webscout-8.2.9/webscout/Provider/GizAI.py +295 -0
- webscout-8.2.9/webscout/Provider/Glider.py +225 -0
- webscout-8.2.9/webscout/Provider/Groq.py +801 -0
- webscout-8.2.9/webscout/Provider/HF_space/__init__.py +0 -0
- webscout-8.2.9/webscout/Provider/HF_space/qwen_qwen2.py +206 -0
- webscout-8.2.9/webscout/Provider/HeckAI.py +375 -0
- webscout-8.2.9/webscout/Provider/HuggingFaceChat.py +469 -0
- webscout-8.2.9/webscout/Provider/Hunyuan.py +283 -0
- webscout-8.2.9/webscout/Provider/Jadve.py +291 -0
- webscout-8.2.9/webscout/Provider/Koboldai.py +384 -0
- webscout-8.2.9/webscout/Provider/LambdaChat.py +411 -0
- webscout-8.2.9/webscout/Provider/Llama3.py +259 -0
- webscout-8.2.9/webscout/Provider/MCPCore.py +315 -0
- webscout-8.2.9/webscout/Provider/Marcus.py +198 -0
- webscout-8.2.9/webscout/Provider/Nemotron.py +218 -0
- webscout-8.2.9/webscout/Provider/Netwrck.py +270 -0
- webscout-8.2.9/webscout/Provider/OLLAMA.py +396 -0
- webscout-8.2.9/webscout/Provider/OPENAI/BLACKBOXAI.py +766 -0
- webscout-8.2.9/webscout/Provider/OPENAI/Cloudflare.py +378 -0
- webscout-8.2.9/webscout/Provider/OPENAI/FreeGemini.py +283 -0
- webscout-8.2.9/webscout/Provider/OPENAI/NEMOTRON.py +232 -0
- webscout-8.2.9/webscout/Provider/OPENAI/Qwen3.py +283 -0
- webscout-8.2.9/webscout/Provider/OPENAI/README.md +952 -0
- webscout-8.2.9/webscout/Provider/OPENAI/TwoAI.py +357 -0
- webscout-8.2.9/webscout/Provider/OPENAI/__init__.py +40 -0
- webscout-8.2.9/webscout/Provider/OPENAI/ai4chat.py +293 -0
- webscout-8.2.9/webscout/Provider/OPENAI/api.py +969 -0
- webscout-8.2.9/webscout/Provider/OPENAI/base.py +249 -0
- webscout-8.2.9/webscout/Provider/OPENAI/c4ai.py +373 -0
- webscout-8.2.9/webscout/Provider/OPENAI/chatgpt.py +556 -0
- webscout-8.2.9/webscout/Provider/OPENAI/chatgptclone.py +494 -0
- webscout-8.2.9/webscout/Provider/OPENAI/chatsandbox.py +173 -0
- webscout-8.2.9/webscout/Provider/OPENAI/copilot.py +242 -0
- webscout-8.2.9/webscout/Provider/OPENAI/deepinfra.py +322 -0
- webscout-8.2.9/webscout/Provider/OPENAI/e2b.py +1414 -0
- webscout-8.2.9/webscout/Provider/OPENAI/exaai.py +417 -0
- webscout-8.2.9/webscout/Provider/OPENAI/exachat.py +444 -0
- webscout-8.2.9/webscout/Provider/OPENAI/flowith.py +162 -0
- webscout-8.2.9/webscout/Provider/OPENAI/freeaichat.py +359 -0
- webscout-8.2.9/webscout/Provider/OPENAI/glider.py +326 -0
- webscout-8.2.9/webscout/Provider/OPENAI/groq.py +364 -0
- webscout-8.2.9/webscout/Provider/OPENAI/heckai.py +308 -0
- webscout-8.2.9/webscout/Provider/OPENAI/llmchatco.py +335 -0
- webscout-8.2.9/webscout/Provider/OPENAI/mcpcore.py +389 -0
- webscout-8.2.9/webscout/Provider/OPENAI/multichat.py +376 -0
- webscout-8.2.9/webscout/Provider/OPENAI/netwrck.py +357 -0
- webscout-8.2.9/webscout/Provider/OPENAI/oivscode.py +287 -0
- webscout-8.2.9/webscout/Provider/OPENAI/opkfc.py +496 -0
- webscout-8.2.9/webscout/Provider/OPENAI/pydantic_imports.py +172 -0
- webscout-8.2.9/webscout/Provider/OPENAI/scirachat.py +477 -0
- webscout-8.2.9/webscout/Provider/OPENAI/sonus.py +304 -0
- webscout-8.2.9/webscout/Provider/OPENAI/standardinput.py +433 -0
- webscout-8.2.9/webscout/Provider/OPENAI/textpollinations.py +339 -0
- webscout-8.2.9/webscout/Provider/OPENAI/toolbaz.py +413 -0
- webscout-8.2.9/webscout/Provider/OPENAI/typefully.py +355 -0
- webscout-8.2.9/webscout/Provider/OPENAI/typegpt.py +364 -0
- webscout-8.2.9/webscout/Provider/OPENAI/uncovrAI.py +463 -0
- webscout-8.2.9/webscout/Provider/OPENAI/utils.py +318 -0
- webscout-8.2.9/webscout/Provider/OPENAI/venice.py +431 -0
- webscout-8.2.9/webscout/Provider/OPENAI/wisecat.py +387 -0
- webscout-8.2.9/webscout/Provider/OPENAI/writecream.py +163 -0
- webscout-8.2.9/webscout/Provider/OPENAI/x0gpt.py +365 -0
- webscout-8.2.9/webscout/Provider/OPENAI/yep.py +382 -0
- webscout-8.2.9/webscout/Provider/OpenGPT.py +209 -0
- webscout-8.2.9/webscout/Provider/Openai.py +496 -0
- webscout-8.2.9/webscout/Provider/PI.py +429 -0
- webscout-8.2.9/webscout/Provider/Perplexitylabs.py +415 -0
- webscout-8.2.9/webscout/Provider/QwenLM.py +254 -0
- webscout-8.2.9/webscout/Provider/Reka.py +214 -0
- webscout-8.2.9/webscout/Provider/StandardInput.py +290 -0
- webscout-8.2.9/webscout/Provider/TTI/README.md +82 -0
- webscout-8.2.9/webscout/Provider/TTI/__init__.py +7 -0
- webscout-8.2.9/webscout/Provider/TTI/aiarta.py +365 -0
- webscout-8.2.9/webscout/Provider/TTI/artbit.py +0 -0
- webscout-8.2.9/webscout/Provider/TTI/base.py +64 -0
- webscout-8.2.9/webscout/Provider/TTI/fastflux.py +200 -0
- webscout-8.2.9/webscout/Provider/TTI/magicstudio.py +201 -0
- webscout-8.2.9/webscout/Provider/TTI/piclumen.py +203 -0
- webscout-8.2.9/webscout/Provider/TTI/pixelmuse.py +225 -0
- webscout-8.2.9/webscout/Provider/TTI/pollinations.py +221 -0
- webscout-8.2.9/webscout/Provider/TTI/utils.py +11 -0
- webscout-8.2.9/webscout/Provider/TTS/README.md +192 -0
- webscout-8.2.9/webscout/Provider/TTS/__init__.py +10 -0
- webscout-8.2.9/webscout/Provider/TTS/base.py +159 -0
- webscout-8.2.9/webscout/Provider/TTS/deepgram.py +156 -0
- webscout-8.2.9/webscout/Provider/TTS/elevenlabs.py +111 -0
- webscout-8.2.9/webscout/Provider/TTS/gesserit.py +128 -0
- webscout-8.2.9/webscout/Provider/TTS/murfai.py +113 -0
- webscout-8.2.9/webscout/Provider/TTS/openai_fm.py +129 -0
- webscout-8.2.9/webscout/Provider/TTS/parler.py +111 -0
- webscout-8.2.9/webscout/Provider/TTS/speechma.py +580 -0
- webscout-8.2.9/webscout/Provider/TTS/sthir.py +94 -0
- webscout-8.2.9/webscout/Provider/TTS/streamElements.py +333 -0
- webscout-8.2.9/webscout/Provider/TTS/utils.py +280 -0
- webscout-8.2.9/webscout/Provider/TeachAnything.py +229 -0
- webscout-8.2.9/webscout/Provider/TextPollinationsAI.py +308 -0
- webscout-8.2.9/webscout/Provider/TwoAI.py +475 -0
- webscout-8.2.9/webscout/Provider/TypliAI.py +305 -0
- webscout-8.2.9/webscout/Provider/UNFINISHED/ChatHub.py +209 -0
- webscout-8.2.9/webscout/Provider/UNFINISHED/Youchat.py +330 -0
- webscout-8.2.9/webscout/Provider/UNFINISHED/liner_api_request.py +263 -0
- webscout-8.2.9/webscout/Provider/UNFINISHED/puterjs.py +635 -0
- webscout-8.2.9/webscout/Provider/UNFINISHED/test_lmarena.py +119 -0
- webscout-8.2.9/webscout/Provider/Venice.py +258 -0
- webscout-8.2.9/webscout/Provider/VercelAI.py +253 -0
- webscout-8.2.9/webscout/Provider/WiseCat.py +233 -0
- webscout-8.2.9/webscout/Provider/WrDoChat.py +370 -0
- webscout-8.2.9/webscout/Provider/Writecream.py +246 -0
- webscout-8.2.9/webscout/Provider/WritingMate.py +269 -0
- webscout-8.2.9/webscout/Provider/__init__.py +174 -0
- webscout-8.2.9/webscout/Provider/ai4chat.py +174 -0
- webscout-8.2.9/webscout/Provider/akashgpt.py +335 -0
- webscout-8.2.9/webscout/Provider/asksteve.py +220 -0
- webscout-8.2.9/webscout/Provider/cerebras.py +290 -0
- webscout-8.2.9/webscout/Provider/chatglm.py +215 -0
- webscout-8.2.9/webscout/Provider/cleeai.py +213 -0
- webscout-8.2.9/webscout/Provider/copilot.py +425 -0
- webscout-8.2.9/webscout/Provider/elmo.py +283 -0
- webscout-8.2.9/webscout/Provider/freeaichat.py +285 -0
- webscout-8.2.9/webscout/Provider/geminiapi.py +208 -0
- webscout-8.2.9/webscout/Provider/granite.py +235 -0
- webscout-8.2.9/webscout/Provider/hermes.py +266 -0
- webscout-8.2.9/webscout/Provider/julius.py +223 -0
- webscout-8.2.9/webscout/Provider/koala.py +170 -0
- webscout-8.2.9/webscout/Provider/learnfastai.py +325 -0
- webscout-8.2.9/webscout/Provider/llama3mitril.py +215 -0
- webscout-8.2.9/webscout/Provider/llmchat.py +258 -0
- webscout-8.2.9/webscout/Provider/llmchatco.py +306 -0
- webscout-8.2.9/webscout/Provider/lmarena.py +198 -0
- webscout-8.2.9/webscout/Provider/meta.py +801 -0
- webscout-8.2.9/webscout/Provider/multichat.py +364 -0
- webscout-8.2.9/webscout/Provider/oivscode.py +309 -0
- webscout-8.2.9/webscout/Provider/samurai.py +224 -0
- webscout-8.2.9/webscout/Provider/scira_chat.py +299 -0
- webscout-8.2.9/webscout/Provider/scnet.py +243 -0
- webscout-8.2.9/webscout/Provider/searchchat.py +292 -0
- webscout-8.2.9/webscout/Provider/sonus.py +258 -0
- webscout-8.2.9/webscout/Provider/talkai.py +194 -0
- webscout-8.2.9/webscout/Provider/toolbaz.py +353 -0
- webscout-8.2.9/webscout/Provider/turboseek.py +266 -0
- webscout-8.2.9/webscout/Provider/typefully.py +202 -0
- webscout-8.2.9/webscout/Provider/typegpt.py +289 -0
- webscout-8.2.9/webscout/Provider/uncovr.py +368 -0
- webscout-8.2.9/webscout/Provider/x0gpt.py +299 -0
- webscout-8.2.9/webscout/Provider/yep.py +389 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout/__init__.py +4 -2
- {webscout-8.2.7 → webscout-8.2.9}/webscout/cli.py +3 -28
- webscout-8.2.9/webscout/client.py +70 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout/conversation.py +35 -35
- webscout-8.2.9/webscout/litagent/Readme.md +276 -0
- webscout-8.2.9/webscout/litagent/__init__.py +29 -0
- webscout-8.2.9/webscout/litagent/agent.py +455 -0
- webscout-8.2.9/webscout/litagent/constants.py +60 -0
- webscout-8.2.9/webscout/litprinter/__init__.py +59 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout/optimizers.py +419 -419
- webscout-8.2.9/webscout/scout/README.md +404 -0
- webscout-8.2.9/webscout/scout/__init__.py +8 -0
- webscout-8.2.9/webscout/scout/core/__init__.py +7 -0
- webscout-8.2.9/webscout/scout/core/crawler.py +210 -0
- webscout-8.2.9/webscout/scout/core/scout.py +607 -0
- webscout-8.2.9/webscout/scout/core/search_result.py +96 -0
- webscout-8.2.9/webscout/scout/core/text_analyzer.py +63 -0
- webscout-8.2.9/webscout/scout/core/text_utils.py +277 -0
- webscout-8.2.9/webscout/scout/core/web_analyzer.py +52 -0
- webscout-8.2.9/webscout/scout/element.py +478 -0
- webscout-8.2.9/webscout/scout/parsers/__init__.py +69 -0
- webscout-8.2.9/webscout/scout/parsers/html5lib_parser.py +172 -0
- webscout-8.2.9/webscout/scout/parsers/html_parser.py +236 -0
- webscout-8.2.9/webscout/scout/parsers/lxml_parser.py +178 -0
- webscout-8.2.9/webscout/scout/utils.py +37 -0
- webscout-8.2.9/webscout/swiftcli/Readme.md +323 -0
- webscout-8.2.9/webscout/swiftcli/__init__.py +95 -0
- webscout-8.2.9/webscout/swiftcli/core/__init__.py +7 -0
- webscout-8.2.9/webscout/swiftcli/core/cli.py +297 -0
- webscout-8.2.9/webscout/swiftcli/core/context.py +104 -0
- webscout-8.2.9/webscout/swiftcli/core/group.py +241 -0
- webscout-8.2.9/webscout/swiftcli/decorators/__init__.py +28 -0
- webscout-8.2.9/webscout/swiftcli/decorators/command.py +221 -0
- webscout-8.2.9/webscout/swiftcli/decorators/options.py +220 -0
- webscout-8.2.9/webscout/swiftcli/decorators/output.py +252 -0
- webscout-8.2.9/webscout/swiftcli/exceptions.py +21 -0
- webscout-8.2.9/webscout/swiftcli/plugins/__init__.py +9 -0
- webscout-8.2.9/webscout/swiftcli/plugins/base.py +135 -0
- webscout-8.2.9/webscout/swiftcli/plugins/manager.py +269 -0
- webscout-8.2.9/webscout/swiftcli/utils/__init__.py +59 -0
- webscout-8.2.9/webscout/swiftcli/utils/formatting.py +252 -0
- webscout-8.2.9/webscout/swiftcli/utils/parsing.py +267 -0
- webscout-8.2.9/webscout/version.py +2 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout/webscout_search.py +2 -182
- {webscout-8.2.7 → webscout-8.2.9}/webscout/webscout_search_async.py +1 -179
- webscout-8.2.9/webscout/zeroart/README.md +89 -0
- webscout-8.2.9/webscout/zeroart/__init__.py +135 -0
- webscout-8.2.9/webscout/zeroart/base.py +66 -0
- webscout-8.2.9/webscout/zeroart/effects.py +101 -0
- webscout-8.2.9/webscout/zeroart/fonts.py +1239 -0
- {webscout-8.2.7 → webscout-8.2.9/webscout.egg-info}/PKG-INFO +262 -83
- webscout-8.2.9/webscout.egg-info/SOURCES.txt +578 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout.egg-info/entry_points.txt +1 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout.egg-info/requires.txt +8 -4
- webscout-8.2.7/webscout/AIutel.py +0 -250
- webscout-8.2.7/webscout/version.py +0 -2
- webscout-8.2.7/webscout.egg-info/SOURCES.txt +0 -49
- {webscout-8.2.7 → webscout-8.2.9}/LICENSE.md +0 -0
- {webscout-8.2.7 → webscout-8.2.9}/setup.cfg +0 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout/DWEBS.py +0 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout/__main__.py +0 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout/exceptions.py +0 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout/models.py +0 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout/prompt_manager.py +0 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout/tempid.py +0 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout/update_checker.py +0 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout/utils.py +0 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout/yep_search.py +0 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout.egg-info/dependency_links.txt +0 -0
- {webscout-8.2.7 → webscout-8.2.9}/webscout.egg-info/top_level.txt +0 -0
|
@@ -0,0 +1,152 @@
|
|
|
1
|
+
# Legal Notice
|
|
2
|
+
|
|
3
|
+
> [!IMPORTANT]
|
|
4
|
+
> This repository is **not associated with or endorsed** by the providers of the APIs contained herein. This project is intended **for educational purposes only**. It is a personal project aimed at learning and exploration.
|
|
5
|
+
|
|
6
|
+
## Affiliation Disclaimer
|
|
7
|
+
|
|
8
|
+
This repository is not associated with or endorsed by any of the API providers mentioned herein, including but not limited to:
|
|
9
|
+
|
|
10
|
+
- DuckDuckGo
|
|
11
|
+
- Google
|
|
12
|
+
- Meta
|
|
13
|
+
- OpenAI
|
|
14
|
+
- Anthropic
|
|
15
|
+
- Cohere
|
|
16
|
+
- Perplexity
|
|
17
|
+
- Yep.com
|
|
18
|
+
- HuggingFace
|
|
19
|
+
- And others
|
|
20
|
+
|
|
21
|
+
All trademarks, API services, and other intellectual property referenced are the property of their respective owners. No claim of ownership or affiliation is made by this project.
|
|
22
|
+
|
|
23
|
+
Owners of any included sites or services may contact the maintainers to improve their security or request the removal of their content from this repository.
|
|
24
|
+
|
|
25
|
+
---
|
|
26
|
+
|
|
27
|
+
## License
|
|
28
|
+
|
|
29
|
+
This repository is licensed under the Apache License, Version 2.0 with additional terms specific to Webscout's API usage and third-party services.
|
|
30
|
+
|
|
31
|
+
> 📄 The full text of this license is available in the [LICENSE.md](./LICENSE.md) file.
|
|
32
|
+
|
|
33
|
+
---
|
|
34
|
+
|
|
35
|
+
## Liability Limitation
|
|
36
|
+
|
|
37
|
+
In no event and under no legal theory, whether in tort (including negligence), contract, or otherwise, unless required by applicable law (such as deliberate and grossly negligent acts) or agreed to in writing, shall any Contributor be liable to You for damages, including any direct, indirect, special, incidental, consequential, or exemplary damages of any character arising as a result of this License or out of the use or inability to use the Work.
|
|
38
|
+
|
|
39
|
+
---
|
|
40
|
+
|
|
41
|
+
## No Warranties
|
|
42
|
+
|
|
43
|
+
> [!WARNING]
|
|
44
|
+
> The Work is provided on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied, including, without limitation, any warranties or conditions of:
|
|
45
|
+
> - TITLE
|
|
46
|
+
> - NON-INFRINGEMENT
|
|
47
|
+
> - MERCHANTABILITY
|
|
48
|
+
> - FITNESS FOR A PARTICULAR PURPOSE
|
|
49
|
+
|
|
50
|
+
You are solely responsible for determining the appropriateness of using or redistributing the Work and assume any risks associated with Your exercise of permissions under this License.
|
|
51
|
+
|
|
52
|
+
---
|
|
53
|
+
|
|
54
|
+
## User Responsibility
|
|
55
|
+
|
|
56
|
+
> [!IMPORTANT]
|
|
57
|
+
> Users assume all risks associated with the use of this repository. They are responsible for ensuring their use complies with all terms of service for the APIs accessed through this toolkit and must obtain any necessary permissions or licenses for third-party services.
|
|
58
|
+
|
|
59
|
+
---
|
|
60
|
+
|
|
61
|
+
## Legal Compliance
|
|
62
|
+
|
|
63
|
+
Users are responsible for ensuring that their use of the repository and its contents complies with all applicable:
|
|
64
|
+
|
|
65
|
+
- Local laws and regulations
|
|
66
|
+
- State laws and regulations
|
|
67
|
+
- National laws and regulations
|
|
68
|
+
- International laws and regulations
|
|
69
|
+
|
|
70
|
+
Including but not limited to:
|
|
71
|
+
* Privacy laws
|
|
72
|
+
* Data protection regulations
|
|
73
|
+
* Export control laws
|
|
74
|
+
|
|
75
|
+
---
|
|
76
|
+
|
|
77
|
+
## Redistribution Requirements
|
|
78
|
+
|
|
79
|
+
When redistributing copies of the Work or Derivative Works thereof:
|
|
80
|
+
|
|
81
|
+
1. You **must** give recipients a copy of the License
|
|
82
|
+
2. You **must** cause any modified files to carry prominent notices stating that You changed the files
|
|
83
|
+
3. You **must** retain all copyright, patent, trademark, and attribution notices from the Source form of the Work
|
|
84
|
+
4. You **must** include any NOTICE file as part of its distribution
|
|
85
|
+
|
|
86
|
+
---
|
|
87
|
+
|
|
88
|
+
## Third-Party Services
|
|
89
|
+
|
|
90
|
+
> [!NOTE]
|
|
91
|
+
> When using the APIs and services accessed through this Work, you must:
|
|
92
|
+
>
|
|
93
|
+
> 1. Comply with all terms of service of the respective API providers
|
|
94
|
+
> 2. Maintain appropriate attribution and licenses for third-party services
|
|
95
|
+
> 3. Be responsible for obtaining any necessary permissions or licenses
|
|
96
|
+
> 4. Not use the Work in any way that could damage or overload third-party services
|
|
97
|
+
|
|
98
|
+
---
|
|
99
|
+
|
|
100
|
+
## Trademarks
|
|
101
|
+
|
|
102
|
+
This License does not grant permission to use trade names, trademarks, service marks, or product names of the contributors, except as required for reasonable and customary use in describing the origin of the Work and reproducing the content of the NOTICE file.
|
|
103
|
+
|
|
104
|
+
---
|
|
105
|
+
|
|
106
|
+
## Privacy Notice
|
|
107
|
+
|
|
108
|
+
> [!NOTE]
|
|
109
|
+
> Webscout may collect usage data and performance metrics. By using this repository, you acknowledge that:
|
|
110
|
+
>
|
|
111
|
+
> 1. Such data collection will comply with applicable privacy laws
|
|
112
|
+
> 2. You must provide appropriate privacy notices to end users
|
|
113
|
+
> 3. You must obtain necessary consents for data collection
|
|
114
|
+
> 4. You must implement appropriate data security measures
|
|
115
|
+
|
|
116
|
+
---
|
|
117
|
+
|
|
118
|
+
## Contributions
|
|
119
|
+
|
|
120
|
+
Unless explicitly stated otherwise, any Contribution intentionally submitted for inclusion in the Work shall be under the terms and conditions of this License, without any additional terms or conditions.
|
|
121
|
+
|
|
122
|
+
**FOR CONTRIBUTORS**: By submitting content to this project, you agree to the terms outlined in this document.
|
|
123
|
+
|
|
124
|
+
---
|
|
125
|
+
|
|
126
|
+
## Export Compliance
|
|
127
|
+
|
|
128
|
+
The Work and its use may be subject to export laws and regulations. Users agree to comply with all such laws and regulations that may apply to the Work after distribution.
|
|
129
|
+
|
|
130
|
+
---
|
|
131
|
+
|
|
132
|
+
## Severability
|
|
133
|
+
|
|
134
|
+
If any provision of this notice is found to be unlawful, void, or unenforceable, that provision shall be deemed severable from this notice and shall not affect the validity and enforceability of the remaining provisions.
|
|
135
|
+
|
|
136
|
+
---
|
|
137
|
+
|
|
138
|
+
## Updates and Changes
|
|
139
|
+
|
|
140
|
+
> [!NOTE]
|
|
141
|
+
> The author reserves the right to modify, update, or remove any content, information, or features in this repository at any time without prior notice. Users are responsible for regularly reviewing the content and any changes made to this repository.
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
<details>
|
|
146
|
+
<summary><strong>Document Version Information</strong></summary>
|
|
147
|
+
|
|
148
|
+
- **Last Updated**: April 14, 2025
|
|
149
|
+
- **Version**: 1.2
|
|
150
|
+
- **Document Owner**: Webscout Team
|
|
151
|
+
</details>
|
|
152
|
+
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
include LICENSE.md
|
|
2
|
+
include README.md
|
|
3
|
+
include LEGAL_NOTICE.md
|
|
4
|
+
include changelog.md
|
|
5
|
+
|
|
6
|
+
recursive-include webscout *
|
|
7
|
+
|
|
8
|
+
# Exclude common unwanted files and directories
|
|
9
|
+
recursive-exclude webscout __pycache__
|
|
10
|
+
recursive-exclude webscout *.pyc
|
|
11
|
+
recursive-exclude webscout *.pyo
|
|
12
|
+
recursive-exclude webscout *.pyd
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: webscout
|
|
3
|
-
Version: 8.2.
|
|
3
|
+
Version: 8.2.9
|
|
4
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
5
|
Author-email: OEvortex <helpingai5@gmail.com>
|
|
6
6
|
License: HelpingAI
|
|
@@ -39,7 +39,6 @@ Requires-Dist: wheel
|
|
|
39
39
|
Requires-Dist: pip
|
|
40
40
|
Requires-Dist: nodriver
|
|
41
41
|
Requires-Dist: mistune
|
|
42
|
-
Requires-Dist: tenacity
|
|
43
42
|
Requires-Dist: curl_cffi
|
|
44
43
|
Requires-Dist: nest-asyncio
|
|
45
44
|
Requires-Dist: websocket-client
|
|
@@ -49,7 +48,6 @@ Requires-Dist: markdownify
|
|
|
49
48
|
Requires-Dist: requests
|
|
50
49
|
Requires-Dist: google-generativeai
|
|
51
50
|
Requires-Dist: lxml>=5.2.2
|
|
52
|
-
Requires-Dist: termcolor
|
|
53
51
|
Requires-Dist: orjson
|
|
54
52
|
Requires-Dist: PyYAML
|
|
55
53
|
Requires-Dist: ollama
|
|
@@ -59,14 +57,19 @@ Requires-Dist: cloudscraper
|
|
|
59
57
|
Requires-Dist: html5lib
|
|
60
58
|
Requires-Dist: aiofiles
|
|
61
59
|
Requires-Dist: openai
|
|
62
|
-
Requires-Dist: prompt-toolkit
|
|
63
|
-
Requires-Dist: pyreqwest_impersonate
|
|
64
60
|
Requires-Dist: gradio_client
|
|
65
61
|
Requires-Dist: psutil
|
|
66
62
|
Requires-Dist: aiohttp
|
|
63
|
+
Requires-Dist: zstandard
|
|
67
64
|
Provides-Extra: dev
|
|
68
65
|
Requires-Dist: ruff>=0.1.6; extra == "dev"
|
|
69
66
|
Requires-Dist: pytest>=7.4.2; extra == "dev"
|
|
67
|
+
Provides-Extra: api
|
|
68
|
+
Requires-Dist: fastapi; extra == "api"
|
|
69
|
+
Requires-Dist: uvicorn[standard]; extra == "api"
|
|
70
|
+
Requires-Dist: pydantic; extra == "api"
|
|
71
|
+
Requires-Dist: python-multipart; extra == "api"
|
|
72
|
+
Requires-Dist: tiktoken; extra == "api"
|
|
70
73
|
Dynamic: license-file
|
|
71
74
|
|
|
72
75
|
<div align="center">
|
|
@@ -88,6 +91,7 @@ Dynamic: license-file
|
|
|
88
91
|
<a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout/month?style=flat-square" alt="Monthly Downloads"></a>
|
|
89
92
|
<a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout?style=flat-square" alt="Total Downloads"></a>
|
|
90
93
|
<a href="#"><img src="https://img.shields.io/pypi/pyversions/webscout?style=flat-square&logo=python" alt="Python Version"></a>
|
|
94
|
+
<a href="https://deepwiki.com/OEvortex/Webscout"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
|
|
91
95
|
</p>
|
|
92
96
|
</div>
|
|
93
97
|
|
|
@@ -98,6 +102,7 @@ Dynamic: license-file
|
|
|
98
102
|
- [🌟 Key Features](#-features)
|
|
99
103
|
- [⚙️ Installation](#️-installation)
|
|
100
104
|
- [🖥️ Command Line Interface](#️-command-line-interface)
|
|
105
|
+
- [🔄 OpenAI-Compatible API Server](#-openai-compatible-api-server)
|
|
101
106
|
- [🔍 Search Engines](#-search-engines)
|
|
102
107
|
- [🦆 DuckDuckGo Search](#-duckduckgo-search-with-webs-and-asyncwebs)
|
|
103
108
|
- [💻 WEBS API Reference](#-webs-api-reference)
|
|
@@ -115,7 +120,7 @@ Dynamic: license-file
|
|
|
115
120
|
> - **OpenAI Compatibility:** Use providers with OpenAI-compatible interfaces
|
|
116
121
|
> - **Local LLM Compatibility:** Run local models with [Inferno](https://github.com/HelpingAI/inferno), an OpenAI-compatible server (now a standalone package)
|
|
117
122
|
>
|
|
118
|
-
> Choose the approach that best fits your needs! For OpenAI compatibility, check the [OpenAI Providers README](webscout/Provider/OPENAI/README.md).
|
|
123
|
+
> 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.
|
|
119
124
|
|
|
120
125
|
> [!NOTE]
|
|
121
126
|
> Webscout supports over 90 AI providers including: LLAMA, C4ai, Venice, 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.
|
|
@@ -167,7 +172,7 @@ Dynamic: license-file
|
|
|
167
172
|
* **[GitAPI](webscout/Extra/GitToolkit/gitapi):** Powerful GitHub data extraction toolkit without authentication requirements for public data
|
|
168
173
|
* **[SwiftCLI](webscout/swiftcli/Readme.md):** A powerful and elegant CLI framework for beautiful command-line interfaces
|
|
169
174
|
* **[LitPrinter](webscout/litprinter/Readme.md):** Styled console output with rich formatting and colors
|
|
170
|
-
* **[LitLogger](webscout/litlogger/
|
|
175
|
+
* **[LitLogger](webscout/litlogger/README.md):** Simplified logging with customizable formats and color schemes
|
|
171
176
|
* **[LitAgent](webscout/litagent/Readme.md):** Modern user agent generator that keeps your requests undetectable
|
|
172
177
|
* **[Scout](webscout/scout/README.md):** Advanced web parsing and crawling library with intelligent HTML/XML parsing
|
|
173
178
|
* **[Inferno](https://github.com/HelpingAI/inferno):** Run local LLMs with an OpenAI-compatible API and interactive CLI (now a standalone package: `pip install inferno-llm`)
|
|
@@ -188,46 +193,154 @@ Dynamic: license-file
|
|
|
188
193
|
|
|
189
194
|
## ⚙️ Installation
|
|
190
195
|
|
|
191
|
-
|
|
196
|
+
Webscout supports multiple installation methods to fit your workflow:
|
|
197
|
+
|
|
198
|
+
### 📦 Standard Installation
|
|
192
199
|
|
|
193
200
|
```bash
|
|
201
|
+
# Install from PyPI
|
|
194
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 --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 --help
|
|
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
|
+
|
|
253
|
+
### 🐳 Docker Installation
|
|
254
|
+
|
|
255
|
+
```bash
|
|
256
|
+
# Pull and run the Docker image
|
|
257
|
+
docker pull oevortex/webscout:latest
|
|
258
|
+
docker run -it oevortex/webscout:latest
|
|
259
|
+
```
|
|
260
|
+
|
|
261
|
+
### 📱 Quick Start Commands
|
|
262
|
+
|
|
263
|
+
After installation, you can immediately start using Webscout:
|
|
264
|
+
|
|
265
|
+
```bash
|
|
266
|
+
# Check version
|
|
267
|
+
webscout version
|
|
268
|
+
|
|
269
|
+
# Search the web
|
|
270
|
+
webscout text -k "python programming"
|
|
271
|
+
|
|
272
|
+
# Start API server
|
|
273
|
+
webscout-server
|
|
274
|
+
|
|
275
|
+
# Get help
|
|
276
|
+
webscout --help
|
|
195
277
|
```
|
|
196
|
-
</div>
|
|
197
278
|
|
|
198
279
|
<hr/>
|
|
199
280
|
|
|
200
281
|
## 🖥️ Command Line Interface
|
|
201
282
|
|
|
202
|
-
Webscout provides a powerful command-line interface for quick access to its features:
|
|
283
|
+
Webscout provides a powerful command-line interface for quick access to its features. You can use it in multiple ways:
|
|
284
|
+
|
|
285
|
+
### 🚀 Direct Commands (Recommended)
|
|
286
|
+
|
|
287
|
+
After installing with `uv tool install webscout` or `pip install webscout`:
|
|
203
288
|
|
|
204
289
|
```bash
|
|
290
|
+
# Get help
|
|
291
|
+
webscout --help
|
|
292
|
+
|
|
293
|
+
# Start API server
|
|
294
|
+
webscout-server
|
|
295
|
+
```
|
|
296
|
+
|
|
297
|
+
### 🔧 UV Run Commands (No Installation Required)
|
|
298
|
+
|
|
299
|
+
```bash
|
|
300
|
+
# Run directly with UV (downloads and runs automatically)
|
|
301
|
+
uv run webscout --help
|
|
302
|
+
uv run --extra api webscout-server
|
|
303
|
+
```
|
|
304
|
+
|
|
305
|
+
### 📦 Python Module Commands
|
|
306
|
+
|
|
307
|
+
```bash
|
|
308
|
+
# Traditional Python module execution
|
|
205
309
|
python -m webscout --help
|
|
310
|
+
python -m webscout.client # Start API server
|
|
206
311
|
```
|
|
207
312
|
|
|
208
313
|
<details open>
|
|
209
|
-
<summary><b
|
|
314
|
+
<summary><b>🔍 Web Search Commands</b></summary>
|
|
210
315
|
<p>
|
|
211
316
|
|
|
212
|
-
| Command | Description |
|
|
213
|
-
|
|
214
|
-
| `
|
|
215
|
-
| `
|
|
216
|
-
| `
|
|
217
|
-
| `
|
|
218
|
-
| `
|
|
219
|
-
| `
|
|
220
|
-
| `
|
|
221
|
-
| `
|
|
222
|
-
| `
|
|
223
|
-
| `
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
|
227
|
-
|
|
228
|
-
| `
|
|
229
|
-
| `
|
|
230
|
-
| `
|
|
317
|
+
| Command | Description | Example |
|
|
318
|
+
|---------|-------------|---------|
|
|
319
|
+
| `webscout text -k "query"` | Perform a text search | `webscout text -k "python programming"` |
|
|
320
|
+
| `webscout answers -k "query"` | Get instant answers | `webscout answers -k "what is AI"` |
|
|
321
|
+
| `webscout images -k "query"` | Search for images | `webscout images -k "nature photography"` |
|
|
322
|
+
| `webscout videos -k "query"` | Search for videos | `webscout videos -k "python tutorials"` |
|
|
323
|
+
| `webscout news -k "query"` | Search for news articles | `webscout news -k "technology trends"` |
|
|
324
|
+
| `webscout maps -k "query"` | Perform a maps search | `webscout maps -k "restaurants near me"` |
|
|
325
|
+
| `webscout translate -k "text"` | Translate text | `webscout translate -k "hello world"` |
|
|
326
|
+
| `webscout suggestions -k "query"` | Get search suggestions | `webscout suggestions -k "how to"` |
|
|
327
|
+
| `webscout weather -l "location"` | Get weather information | `webscout weather -l "New York"` |
|
|
328
|
+
| `webscout version` | Display the current version | `webscout version` |
|
|
329
|
+
|
|
330
|
+
**Google Search Commands:**
|
|
331
|
+
| Command | Description | Example |
|
|
332
|
+
|---------|-------------|---------|
|
|
333
|
+
| `webscout google_text -k "query"` | Google text search | `webscout google_text -k "machine learning"` |
|
|
334
|
+
| `webscout google_news -k "query"` | Google news search | `webscout google_news -k "AI breakthrough"` |
|
|
335
|
+
| `webscout google_suggestions -q "query"` | Google suggestions | `webscout google_suggestions -q "python"` |
|
|
336
|
+
|
|
337
|
+
**Yep Search Commands:**
|
|
338
|
+
| Command | Description | Example |
|
|
339
|
+
|---------|-------------|---------|
|
|
340
|
+
| `webscout yep_text -k "query"` | Yep text search | `webscout yep_text -k "web development"` |
|
|
341
|
+
| `webscout yep_images -k "query"` | Yep image search | `webscout yep_images -k "landscapes"` |
|
|
342
|
+
| `webscout yep_suggestions -q "query"` | Yep suggestions | `webscout yep_suggestions -q "javascript"` |
|
|
343
|
+
|
|
231
344
|
</p>
|
|
232
345
|
</details>
|
|
233
346
|
|
|
@@ -269,6 +382,124 @@ For more information, visit the [Inferno GitHub repository](https://github.com/H
|
|
|
269
382
|
> - 32 GB of RAM for 33B models
|
|
270
383
|
> - GPU acceleration is recommended for better performance
|
|
271
384
|
|
|
385
|
+
<details open>
|
|
386
|
+
<summary><b>🔄 OpenAI-Compatible API Server</b></summary>
|
|
387
|
+
<p>
|
|
388
|
+
|
|
389
|
+
Webscout includes an OpenAI-compatible API server that allows you to use any supported provider with tools and applications designed for OpenAI's API.
|
|
390
|
+
|
|
391
|
+
### Starting the API Server
|
|
392
|
+
|
|
393
|
+
#### From Command Line (Recommended)
|
|
394
|
+
|
|
395
|
+
```bash
|
|
396
|
+
# Start with default settings (port 8000)
|
|
397
|
+
webscout-server
|
|
398
|
+
|
|
399
|
+
# Start with custom port
|
|
400
|
+
webscout-server --port 8080
|
|
401
|
+
|
|
402
|
+
# Start with API key authentication
|
|
403
|
+
webscout-server --api-key "your-secret-key"
|
|
404
|
+
|
|
405
|
+
# Specify a default provider
|
|
406
|
+
webscout-server --default-provider "Claude"
|
|
407
|
+
|
|
408
|
+
# Run in debug mode
|
|
409
|
+
webscout-server --debug
|
|
410
|
+
|
|
411
|
+
# Get help for all options
|
|
412
|
+
webscout-server --help
|
|
413
|
+
```
|
|
414
|
+
|
|
415
|
+
#### Alternative Methods
|
|
416
|
+
|
|
417
|
+
```bash
|
|
418
|
+
# Using UV (no installation required)
|
|
419
|
+
uv run --extra api webscout-server
|
|
420
|
+
|
|
421
|
+
# Using Python module
|
|
422
|
+
python -m webscout.client
|
|
423
|
+
|
|
424
|
+
# Legacy method (still supported)
|
|
425
|
+
python -m webscout.Provider.OPENAI.api
|
|
426
|
+
```
|
|
427
|
+
|
|
428
|
+
#### From Python Code
|
|
429
|
+
|
|
430
|
+
```python
|
|
431
|
+
# Method 1: Using the helper function
|
|
432
|
+
from webscout.client import start_server # <--- Now recommended
|
|
433
|
+
|
|
434
|
+
# Start with default settings
|
|
435
|
+
start_server()
|
|
436
|
+
|
|
437
|
+
# Start with custom settings
|
|
438
|
+
start_server(port=8080, api_key="your-secret-key", default_provider="Claude")
|
|
439
|
+
|
|
440
|
+
# Method 2: Using the run_api function for more control
|
|
441
|
+
from webscout.client import run_api
|
|
442
|
+
|
|
443
|
+
run_api(
|
|
444
|
+
host="0.0.0.0",
|
|
445
|
+
debug=True
|
|
446
|
+
)
|
|
447
|
+
```
|
|
448
|
+
|
|
449
|
+
### Using the API
|
|
450
|
+
|
|
451
|
+
Once the server is running, you can use it with any OpenAI client library or tool:
|
|
452
|
+
|
|
453
|
+
```python
|
|
454
|
+
# Using the OpenAI Python client
|
|
455
|
+
from openai import OpenAI
|
|
456
|
+
|
|
457
|
+
client = OpenAI(
|
|
458
|
+
api_key="your-secret-key", # Only needed if you set an API key
|
|
459
|
+
base_url="http://localhost:8000/v1" # Point to your local server
|
|
460
|
+
)
|
|
461
|
+
|
|
462
|
+
# Chat completion
|
|
463
|
+
response = client.chat.completions.create(
|
|
464
|
+
model="gpt-4", # This can be any model name registered with Webscout
|
|
465
|
+
messages=[
|
|
466
|
+
{"role": "system", "content": "You are a helpful assistant."},
|
|
467
|
+
{"role": "user", "content": "Hello, how are you?"}
|
|
468
|
+
]
|
|
469
|
+
)
|
|
470
|
+
|
|
471
|
+
print(response.choices[0].message.content)
|
|
472
|
+
```
|
|
473
|
+
|
|
474
|
+
### Using with cURL
|
|
475
|
+
|
|
476
|
+
```bash
|
|
477
|
+
# Basic chat completion request
|
|
478
|
+
curl http://localhost:8000/v1/chat/completions \
|
|
479
|
+
-H "Content-Type: application/json" \
|
|
480
|
+
-H "Authorization: Bearer your-secret-key" \
|
|
481
|
+
-d '{
|
|
482
|
+
"model": "gpt-4",
|
|
483
|
+
"messages": [
|
|
484
|
+
{"role": "system", "content": "You are a helpful assistant."},
|
|
485
|
+
{"role": "user", "content": "Hello, how are you?"}
|
|
486
|
+
]
|
|
487
|
+
}'
|
|
488
|
+
|
|
489
|
+
# List available models
|
|
490
|
+
curl http://localhost:8000/v1/models \
|
|
491
|
+
-H "Authorization: Bearer your-secret-key"
|
|
492
|
+
```
|
|
493
|
+
|
|
494
|
+
### Available Endpoints
|
|
495
|
+
|
|
496
|
+
- `GET /v1/models` - List all available models
|
|
497
|
+
- `GET /v1/models/{model_name}` - Get information about a specific model
|
|
498
|
+
- `POST /v1/chat/completions` - Create a chat completion
|
|
499
|
+
|
|
500
|
+
</p>
|
|
501
|
+
</details>
|
|
502
|
+
|
|
272
503
|
<hr/>
|
|
273
504
|
|
|
274
505
|
## 🔍 Search Engines
|
|
@@ -605,30 +836,12 @@ Webscout offers a comprehensive collection of AI chat providers, giving you acce
|
|
|
605
836
|
| `DeepInfra` | Various open models | Multiple model options |
|
|
606
837
|
| `Cohere` | Cohere's language models | Command models |
|
|
607
838
|
| `PerplexityLabs` | Perplexity AI | Web search integration |
|
|
608
|
-
| `Anthropic` | Claude models | Long context windows |
|
|
609
839
|
| `YEPCHAT` | Yep.com's AI | Streaming responses |
|
|
610
840
|
| `ChatGPTClone` | ChatGPT-like interface | Multiple model options |
|
|
611
|
-
| `TypeGPT` | TypeChat models |
|
|
841
|
+
| `TypeGPT` | TypeChat models | Multiple model options |
|
|
612
842
|
|
|
613
843
|
</div>
|
|
614
844
|
|
|
615
|
-
<details>
|
|
616
|
-
<summary><b>Example: Using Duckchat</b></summary>
|
|
617
|
-
<p>
|
|
618
|
-
|
|
619
|
-
```python
|
|
620
|
-
from webscout import WEBS
|
|
621
|
-
|
|
622
|
-
# Initialize and use Duckchat
|
|
623
|
-
with WEBS() as webs:
|
|
624
|
-
response = webs.chat(
|
|
625
|
-
"Explain quantum computing in simple terms",
|
|
626
|
-
model='gpt-4o-mini' # Options: mixtral-8x7b, llama-3.1-70b, claude-3-haiku, etc.
|
|
627
|
-
)
|
|
628
|
-
print(response)
|
|
629
|
-
```
|
|
630
|
-
</p>
|
|
631
|
-
</details>
|
|
632
845
|
|
|
633
846
|
<details>
|
|
634
847
|
<summary><b>Example: Using Meta AI</b></summary>
|
|
@@ -740,41 +953,7 @@ print(response)
|
|
|
740
953
|
</p>
|
|
741
954
|
</details>
|
|
742
955
|
|
|
743
|
-
<hr/>
|
|
744
|
-
|
|
745
|
-
## 👨💻 Advanced AI Interfaces
|
|
746
|
-
|
|
747
|
-
<details open>
|
|
748
|
-
<summary><b>Direct Model Access with LLM and VLM</b></summary>
|
|
749
|
-
<p>
|
|
750
|
-
|
|
751
|
-
Webscout provides direct interfaces to language and vision-language models through the `LLM` and `VLM` classes.
|
|
752
|
-
|
|
753
|
-
```python
|
|
754
|
-
from webscout.LLM import LLM, VLM
|
|
755
956
|
|
|
756
|
-
# Text-only model interaction
|
|
757
|
-
llm = LLM("meta-llama/Meta-Llama-3-70B-Instruct")
|
|
758
|
-
response = llm.chat([
|
|
759
|
-
{"role": "user", "content": "Explain the concept of neural networks"}
|
|
760
|
-
])
|
|
761
|
-
print(response)
|
|
762
|
-
|
|
763
|
-
# Vision-language model interaction
|
|
764
|
-
vlm = VLM("cogvlm-grounding-generalist")
|
|
765
|
-
response = vlm.chat([
|
|
766
|
-
{
|
|
767
|
-
"role": "user",
|
|
768
|
-
"content": [
|
|
769
|
-
{"type": "image", "image_url": "path/to/image.jpg"},
|
|
770
|
-
{"type": "text", "text": "Describe what you see in this image"}
|
|
771
|
-
]
|
|
772
|
-
}
|
|
773
|
-
])
|
|
774
|
-
print(response)
|
|
775
|
-
```
|
|
776
|
-
</p>
|
|
777
|
-
</details>
|
|
778
957
|
|
|
779
958
|
<details open>
|
|
780
959
|
<summary><b>GGUF Model Conversion</b></summary>
|