webscout 8.2.7__py3-none-any.whl → 8.2.9__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- webscout/AIauto.py +33 -15
- webscout/AIbase.py +96 -37
- webscout/AIutel.py +703 -250
- webscout/Bard.py +441 -323
- webscout/Extra/Act.md +309 -0
- webscout/Extra/GitToolkit/__init__.py +10 -0
- webscout/Extra/GitToolkit/gitapi/README.md +110 -0
- webscout/Extra/GitToolkit/gitapi/__init__.py +12 -0
- webscout/Extra/GitToolkit/gitapi/repository.py +195 -0
- webscout/Extra/GitToolkit/gitapi/user.py +96 -0
- webscout/Extra/GitToolkit/gitapi/utils.py +62 -0
- webscout/Extra/YTToolkit/README.md +375 -0
- webscout/Extra/YTToolkit/YTdownloader.py +957 -0
- webscout/Extra/YTToolkit/__init__.py +3 -0
- webscout/Extra/YTToolkit/transcriber.py +476 -0
- webscout/Extra/YTToolkit/ytapi/README.md +44 -0
- webscout/Extra/YTToolkit/ytapi/__init__.py +6 -0
- webscout/Extra/YTToolkit/ytapi/channel.py +307 -0
- webscout/Extra/YTToolkit/ytapi/errors.py +13 -0
- webscout/Extra/YTToolkit/ytapi/extras.py +118 -0
- webscout/Extra/YTToolkit/ytapi/https.py +88 -0
- webscout/Extra/YTToolkit/ytapi/patterns.py +61 -0
- webscout/Extra/YTToolkit/ytapi/playlist.py +59 -0
- webscout/Extra/YTToolkit/ytapi/pool.py +8 -0
- webscout/Extra/YTToolkit/ytapi/query.py +40 -0
- webscout/Extra/YTToolkit/ytapi/stream.py +63 -0
- webscout/Extra/YTToolkit/ytapi/utils.py +62 -0
- webscout/Extra/YTToolkit/ytapi/video.py +232 -0
- webscout/Extra/__init__.py +7 -0
- webscout/Extra/autocoder/__init__.py +9 -0
- webscout/Extra/autocoder/autocoder.py +1105 -0
- webscout/Extra/autocoder/autocoder_utiles.py +332 -0
- webscout/Extra/gguf.md +430 -0
- webscout/Extra/gguf.py +684 -0
- webscout/Extra/tempmail/README.md +488 -0
- webscout/Extra/tempmail/__init__.py +28 -0
- webscout/Extra/tempmail/async_utils.py +141 -0
- webscout/Extra/tempmail/base.py +161 -0
- webscout/Extra/tempmail/cli.py +187 -0
- webscout/Extra/tempmail/emailnator.py +84 -0
- webscout/Extra/tempmail/mail_tm.py +361 -0
- webscout/Extra/tempmail/temp_mail_io.py +292 -0
- webscout/Extra/weather.md +281 -0
- webscout/Extra/weather.py +194 -0
- webscout/Extra/weather_ascii.py +76 -0
- webscout/Litlogger/README.md +10 -0
- webscout/Litlogger/__init__.py +15 -0
- webscout/Litlogger/formats.py +4 -0
- webscout/Litlogger/handlers.py +103 -0
- webscout/Litlogger/levels.py +13 -0
- webscout/Litlogger/logger.py +92 -0
- webscout/Provider/AI21.py +177 -0
- webscout/Provider/AISEARCH/DeepFind.py +254 -0
- webscout/Provider/AISEARCH/Perplexity.py +333 -0
- webscout/Provider/AISEARCH/README.md +279 -0
- webscout/Provider/AISEARCH/__init__.py +9 -0
- webscout/Provider/AISEARCH/felo_search.py +202 -0
- webscout/Provider/AISEARCH/genspark_search.py +324 -0
- webscout/Provider/AISEARCH/hika_search.py +186 -0
- webscout/Provider/AISEARCH/iask_search.py +410 -0
- webscout/Provider/AISEARCH/monica_search.py +220 -0
- webscout/Provider/AISEARCH/scira_search.py +298 -0
- webscout/Provider/AISEARCH/webpilotai_search.py +255 -0
- webscout/Provider/Aitopia.py +316 -0
- webscout/Provider/AllenAI.py +440 -0
- webscout/Provider/Andi.py +228 -0
- webscout/Provider/Blackboxai.py +791 -0
- webscout/Provider/ChatGPTClone.py +237 -0
- webscout/Provider/ChatGPTGratis.py +194 -0
- webscout/Provider/ChatSandbox.py +342 -0
- webscout/Provider/Cloudflare.py +324 -0
- webscout/Provider/Cohere.py +208 -0
- webscout/Provider/Deepinfra.py +340 -0
- webscout/Provider/ExaAI.py +261 -0
- webscout/Provider/ExaChat.py +358 -0
- webscout/Provider/Flowith.py +217 -0
- webscout/Provider/FreeGemini.py +250 -0
- webscout/Provider/Gemini.py +169 -0
- webscout/Provider/GithubChat.py +369 -0
- webscout/Provider/GizAI.py +295 -0
- webscout/Provider/Glider.py +225 -0
- webscout/Provider/Groq.py +801 -0
- webscout/Provider/HF_space/__init__.py +0 -0
- webscout/Provider/HF_space/qwen_qwen2.py +206 -0
- webscout/Provider/HeckAI.py +375 -0
- webscout/Provider/HuggingFaceChat.py +469 -0
- webscout/Provider/Hunyuan.py +283 -0
- webscout/Provider/Jadve.py +291 -0
- webscout/Provider/Koboldai.py +384 -0
- webscout/Provider/LambdaChat.py +411 -0
- webscout/Provider/Llama3.py +259 -0
- webscout/Provider/MCPCore.py +315 -0
- webscout/Provider/Marcus.py +198 -0
- webscout/Provider/Nemotron.py +218 -0
- webscout/Provider/Netwrck.py +270 -0
- webscout/Provider/OLLAMA.py +396 -0
- webscout/Provider/OPENAI/BLACKBOXAI.py +766 -0
- webscout/Provider/OPENAI/Cloudflare.py +378 -0
- webscout/Provider/OPENAI/FreeGemini.py +283 -0
- webscout/Provider/OPENAI/NEMOTRON.py +232 -0
- webscout/Provider/OPENAI/Qwen3.py +283 -0
- webscout/Provider/OPENAI/README.md +952 -0
- webscout/Provider/OPENAI/TwoAI.py +357 -0
- webscout/Provider/OPENAI/__init__.py +40 -0
- webscout/Provider/OPENAI/ai4chat.py +293 -0
- webscout/Provider/OPENAI/api.py +969 -0
- webscout/Provider/OPENAI/base.py +249 -0
- webscout/Provider/OPENAI/c4ai.py +373 -0
- webscout/Provider/OPENAI/chatgpt.py +556 -0
- webscout/Provider/OPENAI/chatgptclone.py +494 -0
- webscout/Provider/OPENAI/chatsandbox.py +173 -0
- webscout/Provider/OPENAI/copilot.py +242 -0
- webscout/Provider/OPENAI/deepinfra.py +322 -0
- webscout/Provider/OPENAI/e2b.py +1414 -0
- webscout/Provider/OPENAI/exaai.py +417 -0
- webscout/Provider/OPENAI/exachat.py +444 -0
- webscout/Provider/OPENAI/flowith.py +162 -0
- webscout/Provider/OPENAI/freeaichat.py +359 -0
- webscout/Provider/OPENAI/glider.py +326 -0
- webscout/Provider/OPENAI/groq.py +364 -0
- webscout/Provider/OPENAI/heckai.py +308 -0
- webscout/Provider/OPENAI/llmchatco.py +335 -0
- webscout/Provider/OPENAI/mcpcore.py +389 -0
- webscout/Provider/OPENAI/multichat.py +376 -0
- webscout/Provider/OPENAI/netwrck.py +357 -0
- webscout/Provider/OPENAI/oivscode.py +287 -0
- webscout/Provider/OPENAI/opkfc.py +496 -0
- webscout/Provider/OPENAI/pydantic_imports.py +172 -0
- webscout/Provider/OPENAI/scirachat.py +477 -0
- webscout/Provider/OPENAI/sonus.py +304 -0
- webscout/Provider/OPENAI/standardinput.py +433 -0
- webscout/Provider/OPENAI/textpollinations.py +339 -0
- webscout/Provider/OPENAI/toolbaz.py +413 -0
- webscout/Provider/OPENAI/typefully.py +355 -0
- webscout/Provider/OPENAI/typegpt.py +364 -0
- webscout/Provider/OPENAI/uncovrAI.py +463 -0
- webscout/Provider/OPENAI/utils.py +318 -0
- webscout/Provider/OPENAI/venice.py +431 -0
- webscout/Provider/OPENAI/wisecat.py +387 -0
- webscout/Provider/OPENAI/writecream.py +163 -0
- webscout/Provider/OPENAI/x0gpt.py +365 -0
- webscout/Provider/OPENAI/yep.py +382 -0
- webscout/Provider/OpenGPT.py +209 -0
- webscout/Provider/Openai.py +496 -0
- webscout/Provider/PI.py +429 -0
- webscout/Provider/Perplexitylabs.py +415 -0
- webscout/Provider/QwenLM.py +254 -0
- webscout/Provider/Reka.py +214 -0
- webscout/Provider/StandardInput.py +290 -0
- webscout/Provider/TTI/README.md +82 -0
- webscout/Provider/TTI/__init__.py +7 -0
- webscout/Provider/TTI/aiarta.py +365 -0
- webscout/Provider/TTI/artbit.py +0 -0
- webscout/Provider/TTI/base.py +64 -0
- webscout/Provider/TTI/fastflux.py +200 -0
- webscout/Provider/TTI/magicstudio.py +201 -0
- webscout/Provider/TTI/piclumen.py +203 -0
- webscout/Provider/TTI/pixelmuse.py +225 -0
- webscout/Provider/TTI/pollinations.py +221 -0
- webscout/Provider/TTI/utils.py +11 -0
- webscout/Provider/TTS/README.md +192 -0
- webscout/Provider/TTS/__init__.py +10 -0
- webscout/Provider/TTS/base.py +159 -0
- webscout/Provider/TTS/deepgram.py +156 -0
- webscout/Provider/TTS/elevenlabs.py +111 -0
- webscout/Provider/TTS/gesserit.py +128 -0
- webscout/Provider/TTS/murfai.py +113 -0
- webscout/Provider/TTS/openai_fm.py +129 -0
- webscout/Provider/TTS/parler.py +111 -0
- webscout/Provider/TTS/speechma.py +580 -0
- webscout/Provider/TTS/sthir.py +94 -0
- webscout/Provider/TTS/streamElements.py +333 -0
- webscout/Provider/TTS/utils.py +280 -0
- webscout/Provider/TeachAnything.py +229 -0
- webscout/Provider/TextPollinationsAI.py +308 -0
- webscout/Provider/TwoAI.py +475 -0
- webscout/Provider/TypliAI.py +305 -0
- webscout/Provider/UNFINISHED/ChatHub.py +209 -0
- webscout/Provider/UNFINISHED/Youchat.py +330 -0
- webscout/Provider/UNFINISHED/liner_api_request.py +263 -0
- webscout/Provider/UNFINISHED/puterjs.py +635 -0
- webscout/Provider/UNFINISHED/test_lmarena.py +119 -0
- webscout/Provider/Venice.py +258 -0
- webscout/Provider/VercelAI.py +253 -0
- webscout/Provider/WiseCat.py +233 -0
- webscout/Provider/WrDoChat.py +370 -0
- webscout/Provider/Writecream.py +246 -0
- webscout/Provider/WritingMate.py +269 -0
- webscout/Provider/__init__.py +174 -0
- webscout/Provider/ai4chat.py +174 -0
- webscout/Provider/akashgpt.py +335 -0
- webscout/Provider/asksteve.py +220 -0
- webscout/Provider/cerebras.py +290 -0
- webscout/Provider/chatglm.py +215 -0
- webscout/Provider/cleeai.py +213 -0
- webscout/Provider/copilot.py +425 -0
- webscout/Provider/elmo.py +283 -0
- webscout/Provider/freeaichat.py +285 -0
- webscout/Provider/geminiapi.py +208 -0
- webscout/Provider/granite.py +235 -0
- webscout/Provider/hermes.py +266 -0
- webscout/Provider/julius.py +223 -0
- webscout/Provider/koala.py +170 -0
- webscout/Provider/learnfastai.py +325 -0
- webscout/Provider/llama3mitril.py +215 -0
- webscout/Provider/llmchat.py +258 -0
- webscout/Provider/llmchatco.py +306 -0
- webscout/Provider/lmarena.py +198 -0
- webscout/Provider/meta.py +801 -0
- webscout/Provider/multichat.py +364 -0
- webscout/Provider/oivscode.py +309 -0
- webscout/Provider/samurai.py +224 -0
- webscout/Provider/scira_chat.py +299 -0
- webscout/Provider/scnet.py +243 -0
- webscout/Provider/searchchat.py +292 -0
- webscout/Provider/sonus.py +258 -0
- webscout/Provider/talkai.py +194 -0
- webscout/Provider/toolbaz.py +353 -0
- webscout/Provider/turboseek.py +266 -0
- webscout/Provider/typefully.py +202 -0
- webscout/Provider/typegpt.py +289 -0
- webscout/Provider/uncovr.py +368 -0
- webscout/Provider/x0gpt.py +299 -0
- webscout/Provider/yep.py +389 -0
- webscout/__init__.py +4 -2
- webscout/cli.py +3 -28
- webscout/client.py +70 -0
- webscout/conversation.py +35 -35
- webscout/litagent/Readme.md +276 -0
- webscout/litagent/__init__.py +29 -0
- webscout/litagent/agent.py +455 -0
- webscout/litagent/constants.py +60 -0
- webscout/litprinter/__init__.py +59 -0
- webscout/optimizers.py +419 -419
- webscout/scout/README.md +404 -0
- webscout/scout/__init__.py +8 -0
- webscout/scout/core/__init__.py +7 -0
- webscout/scout/core/crawler.py +210 -0
- webscout/scout/core/scout.py +607 -0
- webscout/scout/core/search_result.py +96 -0
- webscout/scout/core/text_analyzer.py +63 -0
- webscout/scout/core/text_utils.py +277 -0
- webscout/scout/core/web_analyzer.py +52 -0
- webscout/scout/element.py +478 -0
- webscout/scout/parsers/__init__.py +69 -0
- webscout/scout/parsers/html5lib_parser.py +172 -0
- webscout/scout/parsers/html_parser.py +236 -0
- webscout/scout/parsers/lxml_parser.py +178 -0
- webscout/scout/utils.py +37 -0
- webscout/swiftcli/Readme.md +323 -0
- webscout/swiftcli/__init__.py +95 -0
- webscout/swiftcli/core/__init__.py +7 -0
- webscout/swiftcli/core/cli.py +297 -0
- webscout/swiftcli/core/context.py +104 -0
- webscout/swiftcli/core/group.py +241 -0
- webscout/swiftcli/decorators/__init__.py +28 -0
- webscout/swiftcli/decorators/command.py +221 -0
- webscout/swiftcli/decorators/options.py +220 -0
- webscout/swiftcli/decorators/output.py +252 -0
- webscout/swiftcli/exceptions.py +21 -0
- webscout/swiftcli/plugins/__init__.py +9 -0
- webscout/swiftcli/plugins/base.py +135 -0
- webscout/swiftcli/plugins/manager.py +269 -0
- webscout/swiftcli/utils/__init__.py +59 -0
- webscout/swiftcli/utils/formatting.py +252 -0
- webscout/swiftcli/utils/parsing.py +267 -0
- webscout/version.py +1 -1
- webscout/webscout_search.py +2 -182
- webscout/webscout_search_async.py +1 -179
- webscout/zeroart/README.md +89 -0
- webscout/zeroart/__init__.py +135 -0
- webscout/zeroart/base.py +66 -0
- webscout/zeroart/effects.py +101 -0
- webscout/zeroart/fonts.py +1239 -0
- {webscout-8.2.7.dist-info → webscout-8.2.9.dist-info}/METADATA +262 -83
- webscout-8.2.9.dist-info/RECORD +289 -0
- {webscout-8.2.7.dist-info → webscout-8.2.9.dist-info}/WHEEL +1 -1
- {webscout-8.2.7.dist-info → webscout-8.2.9.dist-info}/entry_points.txt +1 -0
- webscout-8.2.7.dist-info/RECORD +0 -26
- {webscout-8.2.7.dist-info → webscout-8.2.9.dist-info}/licenses/LICENSE.md +0 -0
- {webscout-8.2.7.dist-info → webscout-8.2.9.dist-info}/top_level.txt +0 -0
|
@@ -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>
|