webscout 2025.10.14.1__tar.gz → 2025.10.16__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.

Files changed (362) hide show
  1. {webscout-2025.10.14.1/webscout.egg-info → webscout-2025.10.16}/PKG-INFO +15 -332
  2. {webscout-2025.10.14.1 → webscout-2025.10.16}/README.md +14 -329
  3. {webscout-2025.10.14.1 → webscout-2025.10.16}/changelog.md +0 -0
  4. {webscout-2025.10.14.1 → webscout-2025.10.16}/pyproject.toml +2 -4
  5. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/README.md +1 -1
  6. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/tempmail/README.md +3 -3
  7. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/README.md +1 -1
  8. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/bing.py +4 -4
  9. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/__init__.py +1 -1
  10. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/cli.py +0 -147
  11. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/client.py +4 -5
  12. webscout-2025.10.16/webscout/litprinter/__init__.py +17 -0
  13. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/README.md +59 -8
  14. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/core/scout.py +62 -0
  15. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/element.py +251 -45
  16. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/__init__.py +5 -8
  17. webscout-2025.10.16/webscout/search/bing_main.py +42 -0
  18. webscout-2025.10.16/webscout/search/engines/bing/__init__.py +1 -0
  19. webscout-2025.10.16/webscout/search/engines/bing/base.py +33 -0
  20. webscout-2025.10.16/webscout/search/engines/bing/images.py +108 -0
  21. webscout-2025.10.16/webscout/search/engines/bing/news.py +91 -0
  22. webscout-2025.10.16/webscout/search/engines/bing/suggestions.py +34 -0
  23. webscout-2025.10.16/webscout/search/engines/bing/text.py +106 -0
  24. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/duckduckgo/maps.py +13 -0
  25. webscout-2025.10.16/webscout/search/engines/yahoo/__init__.py +41 -0
  26. webscout-2025.10.16/webscout/search/engines/yahoo/answers.py +16 -0
  27. webscout-2025.10.16/webscout/search/engines/yahoo/base.py +34 -0
  28. webscout-2025.10.16/webscout/search/engines/yahoo/images.py +324 -0
  29. webscout-2025.10.16/webscout/search/engines/yahoo/maps.py +16 -0
  30. webscout-2025.10.16/webscout/search/engines/yahoo/news.py +258 -0
  31. webscout-2025.10.16/webscout/search/engines/yahoo/suggestions.py +140 -0
  32. webscout-2025.10.16/webscout/search/engines/yahoo/text.py +273 -0
  33. webscout-2025.10.16/webscout/search/engines/yahoo/translate.py +16 -0
  34. webscout-2025.10.16/webscout/search/engines/yahoo/videos.py +302 -0
  35. webscout-2025.10.16/webscout/search/engines/yahoo/weather.py +220 -0
  36. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/http_client.py +1 -1
  37. webscout-2025.10.16/webscout/search/yahoo_main.py +54 -0
  38. {webscout-2025.10.14.1/webscout/auth → webscout-2025.10.16/webscout/server}/__init__.py +2 -23
  39. webscout-2025.10.16/webscout/server/config.py +84 -0
  40. {webscout-2025.10.14.1/webscout/auth → webscout-2025.10.16/webscout/server}/request_processing.py +3 -28
  41. {webscout-2025.10.14.1/webscout/auth → webscout-2025.10.16/webscout/server}/routes.py +14 -170
  42. webscout-2025.10.16/webscout/server/schemas.py +23 -0
  43. {webscout-2025.10.14.1/webscout/auth → webscout-2025.10.16/webscout/server}/server.py +11 -43
  44. webscout-2025.10.16/webscout/server/simple_logger.py +84 -0
  45. webscout-2025.10.16/webscout/version.py +2 -0
  46. webscout-2025.10.16/webscout/version.py.bak +2 -0
  47. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/zeroart/README.md +17 -9
  48. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/zeroart/__init__.py +78 -6
  49. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/zeroart/effects.py +51 -1
  50. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/zeroart/fonts.py +559 -1
  51. {webscout-2025.10.14.1 → webscout-2025.10.16/webscout.egg-info}/PKG-INFO +15 -332
  52. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout.egg-info/SOURCES.txt +58 -44
  53. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout.egg-info/entry_points.txt +1 -1
  54. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout.egg-info/requires.txt +0 -2
  55. webscout-2025.10.14.1/webscout/Bing_search.py +0 -417
  56. webscout-2025.10.14.1/webscout/DWEBS.py +0 -529
  57. webscout-2025.10.14.1/webscout/auth/api_key_manager.py +0 -189
  58. webscout-2025.10.14.1/webscout/auth/auth_system.py +0 -85
  59. webscout-2025.10.14.1/webscout/auth/config.py +0 -175
  60. webscout-2025.10.14.1/webscout/auth/database.py +0 -755
  61. webscout-2025.10.14.1/webscout/auth/middleware.py +0 -248
  62. webscout-2025.10.14.1/webscout/auth/models.py +0 -185
  63. webscout-2025.10.14.1/webscout/auth/rate_limiter.py +0 -254
  64. webscout-2025.10.14.1/webscout/auth/schemas.py +0 -103
  65. webscout-2025.10.14.1/webscout/auth/simple_logger.py +0 -236
  66. webscout-2025.10.14.1/webscout/litprinter/__init__.py +0 -59
  67. webscout-2025.10.14.1/webscout/search/engines/bing.py +0 -84
  68. webscout-2025.10.14.1/webscout/search/engines/bing_news.py +0 -52
  69. webscout-2025.10.14.1/webscout/search/engines/yahoo.py +0 -65
  70. webscout-2025.10.14.1/webscout/search/engines/yahoo_news.py +0 -64
  71. webscout-2025.10.14.1/webscout/version.py +0 -2
  72. webscout-2025.10.14.1/webscout/version.py.bak +0 -2
  73. {webscout-2025.10.14.1 → webscout-2025.10.16}/LEGAL_NOTICE.md +0 -0
  74. {webscout-2025.10.14.1 → webscout-2025.10.16}/LICENSE.md +0 -0
  75. {webscout-2025.10.14.1 → webscout-2025.10.16}/MANIFEST.in +0 -0
  76. {webscout-2025.10.14.1 → webscout-2025.10.16}/setup.cfg +0 -0
  77. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/AIauto.py +0 -0
  78. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/AIbase.py +0 -0
  79. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/AIutel.py +0 -0
  80. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Bard.py +0 -0
  81. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/Act.md +0 -0
  82. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/GitToolkit/__init__.py +0 -0
  83. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/GitToolkit/gitapi/README.md +0 -0
  84. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/GitToolkit/gitapi/__init__.py +0 -0
  85. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/GitToolkit/gitapi/repository.py +0 -0
  86. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/GitToolkit/gitapi/user.py +0 -0
  87. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/GitToolkit/gitapi/utils.py +0 -0
  88. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/YTdownloader.py +0 -0
  89. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/__init__.py +0 -0
  90. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/transcriber.py +0 -0
  91. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/ytapi/README.md +0 -0
  92. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/ytapi/__init__.py +0 -0
  93. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/ytapi/channel.py +0 -0
  94. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/ytapi/errors.py +0 -0
  95. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/ytapi/extras.py +0 -0
  96. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/ytapi/https.py +0 -0
  97. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/ytapi/patterns.py +0 -0
  98. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/ytapi/playlist.py +0 -0
  99. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/ytapi/pool.py +0 -0
  100. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/ytapi/query.py +0 -0
  101. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/ytapi/stream.py +0 -0
  102. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/ytapi/utils.py +0 -0
  103. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/YTToolkit/ytapi/video.py +0 -0
  104. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/__init__.py +0 -0
  105. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/autocoder/__init__.py +0 -0
  106. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/autocoder/autocoder.py +0 -0
  107. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/autocoder/autocoder_utiles.py +0 -0
  108. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/gguf.md +0 -0
  109. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/gguf.py +0 -0
  110. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/tempmail/__init__.py +0 -0
  111. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/tempmail/async_utils.py +0 -0
  112. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/tempmail/base.py +0 -0
  113. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/tempmail/cli.py +0 -0
  114. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/tempmail/emailnator.py +0 -0
  115. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/tempmail/mail_tm.py +0 -0
  116. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/tempmail/temp_mail_io.py +0 -0
  117. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/weather.md +0 -0
  118. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/weather.py +0 -0
  119. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Extra/weather_ascii.py +0 -0
  120. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Litlogger/README.md +0 -0
  121. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Litlogger/__init__.py +0 -0
  122. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Litlogger/formats.py +0 -0
  123. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Litlogger/handlers.py +0 -0
  124. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Litlogger/levels.py +0 -0
  125. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Litlogger/logger.py +0 -0
  126. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/AISEARCH/PERPLEXED_search.py +0 -0
  127. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/AISEARCH/Perplexity.py +0 -0
  128. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/AISEARCH/README.md +0 -0
  129. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/AISEARCH/__init__.py +0 -0
  130. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/AISEARCH/felo_search.py +0 -0
  131. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/AISEARCH/genspark_search.py +0 -0
  132. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/AISEARCH/hika_search.py +0 -0
  133. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/AISEARCH/iask_search.py +0 -0
  134. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/AISEARCH/monica_search.py +0 -0
  135. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/AISEARCH/scira_search.py +0 -0
  136. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/AISEARCH/stellar_search.py +0 -0
  137. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/AISEARCH/webpilotai_search.py +0 -0
  138. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Aitopia.py +0 -0
  139. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Andi.py +0 -0
  140. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Apriel.py +0 -0
  141. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/ChatGPTClone.py +0 -0
  142. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/ChatSandbox.py +0 -0
  143. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Cloudflare.py +0 -0
  144. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Cohere.py +0 -0
  145. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Deepinfra.py +0 -0
  146. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/ExaAI.py +0 -0
  147. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/ExaChat.py +0 -0
  148. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Flowith.py +0 -0
  149. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/GMI.py +0 -0
  150. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Gemini.py +0 -0
  151. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/GeminiProxy.py +0 -0
  152. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/GithubChat.py +0 -0
  153. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Groq.py +0 -0
  154. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/HeckAI.py +0 -0
  155. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Jadve.py +0 -0
  156. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/K2Think.py +0 -0
  157. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Koboldai.py +0 -0
  158. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/LambdaChat.py +0 -0
  159. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Nemotron.py +0 -0
  160. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Netwrck.py +0 -0
  161. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OLLAMA.py +0 -0
  162. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/Cloudflare.py +0 -0
  163. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/FalconH1.py +0 -0
  164. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/FreeGemini.py +0 -0
  165. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/GeminiProxy.py +0 -0
  166. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/K2Think.py +0 -0
  167. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/NEMOTRON.py +0 -0
  168. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/PI.py +0 -0
  169. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/TogetherAI.py +0 -0
  170. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/TwoAI.py +0 -0
  171. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/__init__.py +0 -0
  172. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/ai4chat.py +0 -0
  173. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/base.py +0 -0
  174. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/chatglm.py +0 -0
  175. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/chatgpt.py +0 -0
  176. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/chatgptclone.py +0 -0
  177. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/chatsandbox.py +0 -0
  178. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/deepinfra.py +0 -0
  179. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/e2b.py +0 -0
  180. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/exaai.py +0 -0
  181. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/exachat.py +0 -0
  182. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/flowith.py +0 -0
  183. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/friendli.py +0 -0
  184. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/generate_api_key.py +0 -0
  185. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/gmi.py +0 -0
  186. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/groq.py +0 -0
  187. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/heckai.py +0 -0
  188. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/llmchatco.py +0 -0
  189. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/netwrck.py +0 -0
  190. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/oivscode.py +0 -0
  191. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/opkfc.py +0 -0
  192. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/pydantic_imports.py +0 -0
  193. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/scirachat.py +0 -0
  194. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/sonus.py +0 -0
  195. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/standardinput.py +0 -0
  196. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/textpollinations.py +0 -0
  197. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/toolbaz.py +0 -0
  198. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/typefully.py +0 -0
  199. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/utils.py +0 -0
  200. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/venice.py +0 -0
  201. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/wisecat.py +0 -0
  202. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/writecream.py +0 -0
  203. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/x0gpt.py +0 -0
  204. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OPENAI/yep.py +0 -0
  205. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/OpenGPT.py +0 -0
  206. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Openai.py +0 -0
  207. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/PI.py +0 -0
  208. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Perplexitylabs.py +0 -0
  209. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/QwenLM.py +0 -0
  210. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/STT/__init__.py +0 -0
  211. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/STT/base.py +0 -0
  212. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/STT/elevenlabs.py +0 -0
  213. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Sambanova.py +0 -0
  214. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/StandardInput.py +0 -0
  215. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/README.md +0 -0
  216. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/__init__.py +0 -0
  217. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/aiarta.py +0 -0
  218. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/base.py +0 -0
  219. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/gpt1image.py +0 -0
  220. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/imagen.py +0 -0
  221. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/infip.py +0 -0
  222. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/magicstudio.py +0 -0
  223. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/monochat.py +0 -0
  224. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/piclumen.py +0 -0
  225. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/pixelmuse.py +0 -0
  226. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/pollinations.py +0 -0
  227. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/together.py +0 -0
  228. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/utils.py +0 -0
  229. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTI/venice.py +0 -0
  230. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTS/README.md +0 -0
  231. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTS/__init__.py +0 -0
  232. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTS/base.py +0 -0
  233. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTS/deepgram.py +0 -0
  234. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTS/elevenlabs.py +0 -0
  235. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTS/freetts.py +0 -0
  236. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTS/gesserit.py +0 -0
  237. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTS/murfai.py +0 -0
  238. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTS/openai_fm.py +0 -0
  239. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTS/parler.py +0 -0
  240. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTS/speechma.py +0 -0
  241. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTS/streamElements.py +0 -0
  242. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TTS/utils.py +0 -0
  243. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TeachAnything.py +0 -0
  244. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TextPollinationsAI.py +0 -0
  245. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TogetherAI.py +0 -0
  246. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TwoAI.py +0 -0
  247. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/TypliAI.py +0 -0
  248. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/UNFINISHED/ChatHub.py +0 -0
  249. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/UNFINISHED/ChutesAI.py +0 -0
  250. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/UNFINISHED/GizAI.py +0 -0
  251. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/UNFINISHED/Marcus.py +0 -0
  252. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/UNFINISHED/Qodo.py +0 -0
  253. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/UNFINISHED/VercelAIGateway.py +0 -0
  254. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/UNFINISHED/XenAI.py +0 -0
  255. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/UNFINISHED/Youchat.py +0 -0
  256. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/UNFINISHED/liner.py +0 -0
  257. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/UNFINISHED/liner_api_request.py +0 -0
  258. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/UNFINISHED/puterjs.py +0 -0
  259. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/UNFINISHED/samurai.py +0 -0
  260. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/UNFINISHED/test_lmarena.py +0 -0
  261. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/Venice.py +0 -0
  262. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/VercelAI.py +0 -0
  263. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/WiseCat.py +0 -0
  264. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/WrDoChat.py +0 -0
  265. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/__init__.py +0 -0
  266. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/ai4chat.py +0 -0
  267. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/akashgpt.py +0 -0
  268. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/cerebras.py +0 -0
  269. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/chatglm.py +0 -0
  270. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/cleeai.py +0 -0
  271. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/deepseek_assistant.py +0 -0
  272. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/elmo.py +0 -0
  273. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/geminiapi.py +0 -0
  274. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/granite.py +0 -0
  275. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/hermes.py +0 -0
  276. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/julius.py +0 -0
  277. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/learnfastai.py +0 -0
  278. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/llama3mitril.py +0 -0
  279. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/llmchat.py +0 -0
  280. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/llmchatco.py +0 -0
  281. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/meta.py +0 -0
  282. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/oivscode.py +0 -0
  283. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/scira_chat.py +0 -0
  284. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/searchchat.py +0 -0
  285. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/sonus.py +0 -0
  286. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/toolbaz.py +0 -0
  287. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/turboseek.py +0 -0
  288. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/typefully.py +0 -0
  289. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/x0gpt.py +0 -0
  290. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/Provider/yep.py +0 -0
  291. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/__main__.py +0 -0
  292. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/conversation.py +0 -0
  293. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/exceptions.py +0 -0
  294. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/litagent/Readme.md +0 -0
  295. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/litagent/__init__.py +0 -0
  296. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/litagent/agent.py +0 -0
  297. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/litagent/constants.py +0 -0
  298. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/models.py +0 -0
  299. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/optimizers.py +0 -0
  300. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/prompt_manager.py +0 -0
  301. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/sanitize.py +0 -0
  302. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/__init__.py +0 -0
  303. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/core/__init__.py +0 -0
  304. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/core/crawler.py +0 -0
  305. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/core/search_result.py +0 -0
  306. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/core/text_analyzer.py +0 -0
  307. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/core/text_utils.py +0 -0
  308. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/core/web_analyzer.py +0 -0
  309. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/parsers/__init__.py +0 -0
  310. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/parsers/html5lib_parser.py +0 -0
  311. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/parsers/html_parser.py +0 -0
  312. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/parsers/lxml_parser.py +0 -0
  313. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/scout/utils.py +0 -0
  314. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/base.py +0 -0
  315. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/duckduckgo_main.py +0 -0
  316. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/__init__.py +0 -0
  317. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/brave.py +0 -0
  318. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/duckduckgo/__init__.py +0 -0
  319. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/duckduckgo/answers.py +0 -0
  320. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/duckduckgo/base.py +0 -0
  321. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/duckduckgo/images.py +0 -0
  322. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/duckduckgo/news.py +0 -0
  323. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/duckduckgo/suggestions.py +0 -0
  324. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/duckduckgo/text.py +0 -0
  325. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/duckduckgo/translate.py +0 -0
  326. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/duckduckgo/videos.py +0 -0
  327. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/duckduckgo/weather.py +0 -0
  328. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/mojeek.py +0 -0
  329. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/wikipedia.py +0 -0
  330. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/yandex.py +0 -0
  331. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/yep/__init__.py +0 -0
  332. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/yep/base.py +0 -0
  333. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/yep/images.py +0 -0
  334. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/yep/suggestions.py +0 -0
  335. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/engines/yep/text.py +0 -0
  336. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/results.py +0 -0
  337. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/search/yep_main.py +0 -0
  338. {webscout-2025.10.14.1/webscout/auth → webscout-2025.10.16/webscout/server}/exceptions.py +0 -0
  339. {webscout-2025.10.14.1/webscout/auth → webscout-2025.10.16/webscout/server}/providers.py +0 -0
  340. {webscout-2025.10.14.1/webscout/auth → webscout-2025.10.16/webscout/server}/request_models.py +0 -0
  341. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/Readme.md +0 -0
  342. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/__init__.py +0 -0
  343. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/core/__init__.py +0 -0
  344. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/core/cli.py +0 -0
  345. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/core/context.py +0 -0
  346. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/core/group.py +0 -0
  347. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/decorators/__init__.py +0 -0
  348. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/decorators/command.py +0 -0
  349. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/decorators/options.py +0 -0
  350. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/decorators/output.py +0 -0
  351. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/exceptions.py +0 -0
  352. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/plugins/__init__.py +0 -0
  353. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/plugins/base.py +0 -0
  354. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/plugins/manager.py +0 -0
  355. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/utils/__init__.py +0 -0
  356. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/utils/formatting.py +0 -0
  357. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/swiftcli/utils/parsing.py +0 -0
  358. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/update_checker.py +0 -0
  359. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/utils.py +0 -0
  360. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout/zeroart/base.py +0 -0
  361. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout.egg-info/dependency_links.txt +0 -0
  362. {webscout-2025.10.14.1 → webscout-2025.10.16}/webscout.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: webscout
3
- Version: 2025.10.14.1
3
+ Version: 2025.10.16
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
@@ -70,15 +70,13 @@ Requires-Dist: uvicorn[standard]; extra == "api"
70
70
  Requires-Dist: pydantic; extra == "api"
71
71
  Requires-Dist: python-multipart; extra == "api"
72
72
  Requires-Dist: tiktoken; extra == "api"
73
- Requires-Dist: motor; extra == "api"
74
73
  Requires-Dist: jinja2; extra == "api"
75
- Requires-Dist: supabase; extra == "api"
76
74
  Requires-Dist: websockets>=11.0; extra == "api"
77
75
  Requires-Dist: starlette; extra == "api"
78
76
  Dynamic: license-file
79
77
 
80
78
  <div align="center">
81
- <a href="https://github.com/OEvortex/Webscout">
79
+ <a href="https://github.com/pyscout/Webscout">
82
80
  <img src="https://img.shields.io/badge/WebScout-Ultimate%20Toolkit-blue?style=for-the-badge&logo=python&logoColor=white" alt="WebScout Logo">
83
81
  </a>
84
82
 
@@ -96,7 +94,7 @@ Dynamic: license-file
96
94
  <a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout/month?style=flat-square" alt="Monthly Downloads"></a>
97
95
  <a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout?style=flat-square" alt="Total Downloads"></a>
98
96
  <a href="#"><img src="https://img.shields.io/pypi/pyversions/webscout?style=flat-square&logo=python" alt="Python Version"></a>
99
- <a href="https://deepwiki.com/OEvortex/Webscout"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
97
+ <a href="https://deepwiki.com/pyscout/Webscout"><img src="https://deepwiki.com/badge.svg" alt="Ask DeepWiki"></a>
100
98
  </p>
101
99
  </div>
102
100
 
@@ -108,9 +106,7 @@ Dynamic: license-file
108
106
  - [⚙️ Installation](#️-installation)
109
107
  - [🖥️ Command Line Interface](#️-command-line-interface)
110
108
  - [🔄 OpenAI-Compatible API Server](docs/openai-api-server.md)
111
- - [🔍 Search Engines](#-search-engines)
112
- - [🦆 DuckDuckGo Search](#-duckduckgo-search-with-webs-and-asyncwebs)
113
- - [💻 WEBS API Reference](#-webs-api-reference)
109
+ - [🕸️ Scout: HTML Parser & Web Crawler](docs/scout.md)
114
110
  - [🤖 AI Models and Voices](#-ai-models-and-voices)
115
111
  - [💬 AI Chat Providers](#-ai-chat-providers)
116
112
  - [👨‍💻 Advanced AI Interfaces](#-advanced-ai-interfaces)
@@ -124,7 +120,7 @@ Dynamic: license-file
124
120
  >
125
121
  > - **Native Compatibility:** Webscout's own native API for maximum flexibility
126
122
  > - **OpenAI Compatibility:** Use providers with OpenAI-compatible interfaces
127
- > - **Local LLM Compatibility:** Run local models with [Inferno](https://github.com/HelpingAI/inferno), an OpenAI-compatible server (now a standalone package)
123
+ > - **Local LLM Compatibility:** Run local models with OpenAI-compatible servers
128
124
  >
129
125
  > 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.
130
126
 
@@ -151,11 +147,11 @@ Dynamic: license-file
151
147
  <summary><b>Search & AI</b></summary>
152
148
  <p>
153
149
 
154
- - **Comprehensive Search:** Leverage Google, DuckDuckGo, and Yep for diverse search results
150
+ - **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))
155
151
  - **AI Powerhouse:** Access and interact with various AI models through three compatibility options:
156
152
  - **Native API:** Use Webscout's native interfaces for providers like OpenAI, Cohere, Gemini, and many more
157
153
  - **[OpenAI-Compatible Providers](webscout/Provider/OPENAI/README.md):** Seamlessly integrate with various AI providers using standardized OpenAI-compatible interfaces
158
- - **[Local LLMs with Inferno](https://github.com/HelpingAI/inferno):** Run local models with an OpenAI-compatible server (now available as a standalone package)
154
+ - **Local LLMs:** Run local models with OpenAI-compatible servers (see [Inferno documentation](docs/inferno.md))
159
155
  - **[AI Search](webscout/Provider/AISEARCH/README.md):** AI-powered search engines with advanced capabilities
160
156
  </p>
161
157
  </details>
@@ -180,8 +176,7 @@ Dynamic: license-file
180
176
  - **[LitPrinter](webscout/litprinter/Readme.md):** Styled console output with rich formatting and colors
181
177
  - **[LitLogger](webscout/litlogger/README.md):** Simplified logging with customizable formats and color schemes
182
178
  - **[LitAgent](webscout/litagent/Readme.md):** Modern user agent generator that keeps your requests undetectable
183
- - **[Scout](webscout/scout/README.md):** Advanced web parsing and crawling library with intelligent HTML/XML parsing
184
- - **[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`)
179
+ - **[Scout](docs/scout.md):** Advanced web parsing and crawling library with intelligent HTML/XML parsing
185
180
  - **[GGUF Conversion](webscout/Extra/gguf.md):** Convert and quantize Hugging Face models to GGUF format
186
181
  - **[Utility Decorators](docs/decorators.md):** Easily measure function execution time (`timeIt`) and add retry logic (`retry`) to any function
187
182
  - **[Stream Sanitization Utilities](docs/sanitize.md):** Advanced tools for cleaning, decoding, and processing data streams
@@ -248,7 +243,7 @@ webscout-server
248
243
 
249
244
  ```bash
250
245
  # Clone the repository
251
- git clone https://github.com/OEvortex/Webscout.git
246
+ git clone https://github.com/pyscout/Webscout.git
252
247
  cd Webscout
253
248
 
254
249
  # Install in development mode with UV
@@ -265,8 +260,8 @@ uv pip install -e ".[dev,api]"
265
260
 
266
261
  ```bash
267
262
  # Pull and run the Docker image
268
- docker pull oevortex/webscout:latest
269
- docker run -it oevortex/webscout:latest
263
+ docker pull pyscout/webscout:latest
264
+ docker run -it pyscout/webscout:latest
270
265
  ```
271
266
 
272
267
  ### 📱 Quick Start Commands
@@ -325,328 +320,15 @@ python -m webscout-server
325
320
  <summary><b>🔍 Web Search Commands</b></summary>
326
321
  <p>
327
322
 
328
- | Command | Description | Example |
329
- | --------------------------------- | --------------------------- | ----------------------------------------- |
330
- | `webscout text -k "query"` | Perform a text search | `webscout text -k "python programming"` |
331
- | `webscout answers -k "query"` | Get instant answers | `webscout answers -k "what is AI"` |
332
- | `webscout images -k "query"` | Search for images | `webscout images -k "nature photography"` |
333
- | `webscout videos -k "query"` | Search for videos | `webscout videos -k "python tutorials"` |
334
- | `webscout news -k "query"` | Search for news articles | `webscout news -k "technology trends"` |
335
- | `webscout maps -k "query"` | Perform a maps search | `webscout maps -k "restaurants near me"` |
336
- | `webscout translate -k "text"` | Translate text | `webscout translate -k "hello world"` |
337
- | `webscout suggestions -k "query"` | Get search suggestions | `webscout suggestions -k "how to"` |
338
- | `webscout weather -l "location"` | Get weather information | `webscout weather -l "New York"` |
339
- | `webscout version` | Display the current version | `webscout version` |
340
-
341
- **Google Search Commands:**
342
- | Command | Description | Example |
343
- |---------|-------------|---------|
344
- | `webscout google_text -k "query"` | Google text search | `webscout google_text -k "machine learning"` |
345
- | `webscout google_news -k "query"` | Google news search | `webscout google_news -k "AI breakthrough"` |
346
- | `webscout google_suggestions -q "query"` | Google suggestions | `webscout google_suggestions -q "python"` |
347
-
348
- **Yep Search Commands:**
349
- | Command | Description | Example |
350
- |---------|-------------|---------|
351
- | `webscout yep_text -k "query"` | Yep text search | `webscout yep_text -k "web development"` |
352
- | `webscout yep_images -k "query"` | Yep image search | `webscout yep_images -k "landscapes"` |
353
- | `webscout yep_suggestions -q "query"` | Yep suggestions | `webscout yep_suggestions -q "javascript"` |
323
+ Webscout provides comprehensive CLI commands for all search engines. See the [Search Documentation](docs/search.md#command-line-interface) for detailed command reference.
354
324
 
355
325
  </p>
356
326
  </details>
357
327
 
358
- <details open>
359
- <summary><b>Inferno LLM Commands</b></summary>
360
- <p>
361
-
362
- Inferno is now a standalone package. Install it separately with:
363
-
364
- ```bash
365
- pip install inferno-llm
366
- ```
367
-
368
- After installation, you can use its CLI for managing and using local LLMs:
369
-
370
- ```bash
371
- inferno --help
372
- ```
373
-
374
- | Command | Description |
375
- | ------------------------ | ----------------------------------------------- |
376
- | `inferno pull <model>` | Download a model from Hugging Face |
377
- | `inferno list` | List downloaded models |
378
- | `inferno serve <model>` | Start a model server with OpenAI-compatible API |
379
- | `inferno run <model>` | Chat with a model interactively |
380
- | `inferno remove <model>` | Remove a downloaded model |
381
- | `inferno version` | Show version information |
382
-
383
- For more information, visit the [Inferno GitHub repository](https://github.com/HelpingAI/inferno) or [PyPI package page](https://pypi.org/project/inferno-llm/).
384
-
385
- </p>
386
- </details>
387
-
388
- > [!NOTE]
389
- > **Hardware requirements for running models with Inferno:**
390
- >
391
- > - Around 2 GB of RAM for 1B models
392
- > - Around 4 GB of RAM for 3B models
393
- > - At least 8 GB of RAM for 7B models
394
- > - 16 GB of RAM for 13B models
395
- > - 32 GB of RAM for 33B models
396
- > - GPU acceleration is recommended for better performance
397
-
398
328
  For detailed information about the OpenAI-compatible API server, including setup, configuration, and usage examples, see the [OpenAI API Server Documentation](docs/openai-api-server.md).
399
329
 
400
330
  <hr/>
401
331
 
402
- ## 🔍 Search Engines
403
-
404
- Webscout provides multiple search engine interfaces for diverse search capabilities.
405
-
406
- ### YepSearch - Yep.com Interface
407
-
408
- ```python
409
- from webscout import YepSearch
410
-
411
- # Initialize YepSearch
412
- yep = YepSearch(
413
- timeout=20, # Optional: Set custom timeout
414
- proxies=None, # Optional: Use proxies
415
- verify=True # Optional: SSL verification
416
- )
417
-
418
- # Text Search
419
- text_results = yep.text(
420
- keywords="artificial intelligence",
421
- region="all", # Optional: Region for results
422
- safesearch="moderate", # Optional: "on", "moderate", "off"
423
- max_results=10 # Optional: Limit number of results
424
- )
425
-
426
- # Image Search
427
- image_results = yep.images(
428
- keywords="nature photography",
429
- region="all",
430
- safesearch="moderate",
431
- max_results=10
432
- )
433
-
434
- # Get search suggestions
435
- suggestions = yep.suggestions("hist")
436
- ```
437
-
438
- ### GoogleSearch - Google Interface
439
-
440
- ```python
441
- from webscout import GoogleSearch
442
-
443
- # Initialize GoogleSearch
444
- google = GoogleSearch(
445
- timeout=10, # Optional: Set custom timeout
446
- proxies=None, # Optional: Use proxies
447
- verify=True # Optional: SSL verification
448
- )
449
-
450
- # Text Search
451
- text_results = google.text(
452
- keywords="artificial intelligence",
453
- region="us", # Optional: Region for results
454
- safesearch="moderate", # Optional: "on", "moderate", "off"
455
- max_results=10 # Optional: Limit number of results
456
- )
457
- for result in text_results:
458
- print(f"Title: {result.title}")
459
- print(f"URL: {result.url}")
460
- print(f"Description: {result.description}")
461
-
462
- # News Search
463
- news_results = google.news(
464
- keywords="technology trends",
465
- region="us",
466
- safesearch="moderate",
467
- max_results=5
468
- )
469
-
470
- # Get search suggestions
471
- suggestions = google.suggestions("how to")
472
-
473
- # Legacy usage is still supported
474
- from webscout import search
475
- results = search("Python programming", num_results=5)
476
- ```
477
-
478
- <hr/>
479
-
480
- ## 🦆 DuckDuckGo Search with WEBS
481
-
482
- Webscout provides powerful interfaces to DuckDuckGo's search capabilities through the `WEBS` and `AsyncWEBS` classes.
483
-
484
- <details open>
485
- <summary><b>Synchronous Usage with WEBS</b></summary>
486
- <p>
487
-
488
- ```python
489
- from webscout import WEBS
490
-
491
- # Use as a context manager for proper resource management
492
- with WEBS() as webs:
493
- # Simple text search
494
- results = webs.text("python programming", max_results=5)
495
- for result in results:
496
- print(f"Title: {result['title']}\nURL: {result['url']}")
497
- ```
498
-
499
- </p>
500
- </details>
501
-
502
- <details open>
503
- <summary><b>Asynchronous Usage with AsyncWEBS</b></summary>
504
- <p>
505
-
506
- ```python
507
- import asyncio
508
- from webscout import AsyncWEBS
509
-
510
- async def search_multiple_terms(search_terms):
511
- async with AsyncWEBS() as webs:
512
- # Create tasks for each search term
513
- tasks = [webs.text(term, max_results=5) for term in search_terms]
514
- # Run all searches concurrently
515
- results = await asyncio.gather(*tasks)
516
- return results
517
-
518
- async def main():
519
- terms = ["python", "javascript", "machine learning"]
520
- all_results = await search_multiple_terms(terms)
521
-
522
- # Process results
523
- for i, term_results in enumerate(all_results):
524
- print(f"Results for '{terms[i]}':\n")
525
- for result in term_results:
526
- print(f"- {result['title']}")
527
- print("\n")
528
-
529
- # Run the async function
530
- asyncio.run(main())
531
- ```
532
-
533
- </p>
534
- </details>
535
-
536
- > [!TIP]
537
- > Always use these classes with a context manager (`with` statement) to ensure proper resource management and cleanup.
538
-
539
- <hr/>
540
-
541
- ## 💻 WEBS API Reference
542
-
543
- The WEBS class provides comprehensive access to DuckDuckGo's search capabilities through a clean, intuitive API.
544
-
545
- ### Available Search Methods
546
-
547
- | Method | Description | Example |
548
- | --------------- | ------------------- | -------------------------------------------- |
549
- | `text()` | General web search | `webs.text('python programming')` |
550
- | `answers()` | Instant answers | `webs.answers('population of france')` |
551
- | `images()` | Image search | `webs.images('nature photography')` |
552
- | `videos()` | Video search | `webs.videos('documentary')` |
553
- | `news()` | News articles | `webs.news('technology')` |
554
- | `maps()` | Location search | `webs.maps('restaurants', place='new york')` |
555
- | `translate()` | Text translation | `webs.translate('hello', to='es')` |
556
- | `suggestions()` | Search suggestions | `webs.suggestions('how to')` |
557
- | `weather()` | Weather information | `webs.weather('london')` |
558
-
559
- <details>
560
- <summary><b>Example: Text Search</b></summary>
561
- <p>
562
-
563
- ```python
564
- from webscout import WEBS
565
-
566
- with WEBS() as webs:
567
- results = webs.text(
568
- 'artificial intelligence',
569
- region='wt-wt', # Optional: Region for results
570
- safesearch='off', # Optional: 'on', 'moderate', 'off'
571
- timelimit='y', # Optional: Time limit ('d'=day, 'w'=week, 'm'=month, 'y'=year)
572
- max_results=10 # Optional: Limit number of results
573
- )
574
-
575
- for result in results:
576
- print(f"Title: {result['title']}")
577
- print(f"URL: {result['url']}")
578
- print(f"Description: {result['body']}\n")
579
- ```
580
-
581
- </p>
582
- </details>
583
-
584
- <details>
585
- <summary><b>Example: News Search with Formatting</b></summary>
586
- <p>
587
-
588
- ```python
589
- from webscout.search import DuckDuckGoSearch
590
-
591
- def fetch_formatted_news(keywords, timelimit='d', max_results=20):
592
- """Fetch and format news articles"""
593
- with WEBS() as webs:
594
- # Get news results
595
- news_results = webs.news(
596
- keywords,
597
- region="wt-wt",
598
- safesearch="off",
599
- timelimit=timelimit, # 'd'=day, 'w'=week, 'm'=month
600
- max_results=max_results
601
- )
602
-
603
- # Format the results
604
- formatted_news = []
605
- for i, item in enumerate(news_results, 1):
606
- # Format the date
607
- date = datetime.datetime.fromisoformat(item['date']).strftime('%B %d, %Y')
608
-
609
- # Create formatted entry
610
- entry = f"{i}. {item['title']}\n"
611
- entry += f" Published: {date}\n"
612
- entry += f" {item['body']}\n"
613
- entry += f" URL: {item['url']}\n"
614
-
615
- formatted_news.append(entry)
616
-
617
- return formatted_news
618
-
619
- # Example usage
620
- news = fetch_formatted_news('artificial intelligence', timelimit='w', max_results=5)
621
- print('\n'.join(news))
622
- ```
623
-
624
- </p>
625
- </details>
626
-
627
- <details>
628
- <summary><b>Example: Weather Information</b></summary>
629
- <p>
630
-
631
- ```python
632
- from webscout import WEBS
633
-
634
- with WEBS() as webs:
635
- # Get weather for a location
636
- weather = webs.weather("New York")
637
-
638
- # Access weather data
639
- if weather:
640
- print(f"Location: {weather.get('location', 'Unknown')}")
641
- print(f"Temperature: {weather.get('temperature', 'N/A')}")
642
- print(f"Conditions: {weather.get('condition', 'N/A')}")
643
- ```
644
-
645
- </p>
646
- </details>
647
-
648
- <hr/>
649
-
650
332
  ## 🤖 AI Models and Voices
651
333
 
652
334
  Webscout provides easy access to a wide range of AI models and voice options.
@@ -781,7 +463,7 @@ for media in response.get("media", []):
781
463
  <p>
782
464
 
783
465
  ```python
784
- from webscout import GROQ, WEBS
466
+ from webscout import GROQ, DuckDuckGoSearch
785
467
  import json
786
468
 
787
469
  # Initialize GROQ client
@@ -799,7 +481,8 @@ def calculate(expression):
799
481
  def search(query):
800
482
  """Perform a web search"""
801
483
  try:
802
- results = WEBS().text(query, max_results=3)
484
+ ddg = DuckDuckGoSearch()
485
+ results = ddg.text(query, max_results=3)
803
486
  return json.dumps({"results": results})
804
487
  except Exception as e:
805
488
  return json.dumps({"error": str(e)})