webscout 7.7__tar.gz → 7.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.

Files changed (261) hide show
  1. {webscout-7.7/webscout.egg-info → webscout-7.9}/PKG-INFO +92 -64
  2. {webscout-7.7 → webscout-7.9}/README.md +90 -61
  3. {webscout-7.7 → webscout-7.9}/setup.py +1 -5
  4. {webscout-7.7 → webscout-7.9}/webscout/AIutel.py +2 -1
  5. {webscout-7.7 → webscout-7.9}/webscout/Bard.py +12 -29
  6. webscout-7.9/webscout/DWEBS.py +477 -0
  7. {webscout-7.7 → webscout-7.9}/webscout/Extra/__init__.py +2 -0
  8. {webscout-7.7 → webscout-7.9}/webscout/Extra/autocoder/__init__.py +9 -9
  9. webscout-7.7/webscout/Extra/autocoder/rawdog.py → webscout-7.9/webscout/Extra/autocoder/autocoder.py +849 -790
  10. webscout-7.9/webscout/Extra/autocoder/autocoder_utiles.py +332 -0
  11. {webscout-7.7 → webscout-7.9}/webscout/Extra/gguf.py +682 -682
  12. webscout-7.9/webscout/Extra/tempmail/__init__.py +26 -0
  13. webscout-7.9/webscout/Extra/tempmail/async_utils.py +141 -0
  14. webscout-7.9/webscout/Extra/tempmail/base.py +156 -0
  15. webscout-7.9/webscout/Extra/tempmail/cli.py +187 -0
  16. webscout-7.9/webscout/Extra/tempmail/mail_tm.py +361 -0
  17. webscout-7.9/webscout/Extra/tempmail/temp_mail_io.py +292 -0
  18. {webscout-7.7 → webscout-7.9}/webscout/Provider/AI21.py +1 -1
  19. {webscout-7.7 → webscout-7.9}/webscout/Provider/AISEARCH/DeepFind.py +2 -2
  20. {webscout-7.7 → webscout-7.9}/webscout/Provider/AISEARCH/ISou.py +2 -2
  21. {webscout-7.7 → webscout-7.9}/webscout/Provider/AISEARCH/felo_search.py +6 -6
  22. {webscout-7.7 → webscout-7.9}/webscout/Provider/AISEARCH/genspark_search.py +1 -1
  23. webscout-7.9/webscout/Provider/Aitopia.py +292 -0
  24. {webscout-7.7 → webscout-7.9}/webscout/Provider/AllenAI.py +1 -1
  25. {webscout-7.7 → webscout-7.9}/webscout/Provider/Andi.py +3 -3
  26. {webscout-7.7 → webscout-7.9}/webscout/Provider/C4ai.py +1 -1
  27. {webscout-7.7 → webscout-7.9}/webscout/Provider/ChatGPTES.py +3 -5
  28. {webscout-7.7 → webscout-7.9}/webscout/Provider/ChatGPTGratis.py +4 -4
  29. {webscout-7.7 → webscout-7.9}/webscout/Provider/Chatify.py +2 -2
  30. {webscout-7.7 → webscout-7.9}/webscout/Provider/Cloudflare.py +3 -2
  31. {webscout-7.7 → webscout-7.9}/webscout/Provider/DeepSeek.py +2 -2
  32. {webscout-7.7 → webscout-7.9}/webscout/Provider/Deepinfra.py +288 -286
  33. webscout-7.9/webscout/Provider/ElectronHub.py +709 -0
  34. webscout-7.9/webscout/Provider/ExaChat.py +325 -0
  35. {webscout-7.7 → webscout-7.9}/webscout/Provider/Free2GPT.py +2 -2
  36. {webscout-7.7 → webscout-7.9}/webscout/Provider/Gemini.py +167 -179
  37. {webscout-7.7 → webscout-7.9}/webscout/Provider/GithubChat.py +1 -1
  38. {webscout-7.7 → webscout-7.9}/webscout/Provider/Glider.py +4 -4
  39. {webscout-7.7 → webscout-7.9}/webscout/Provider/Groq.py +41 -27
  40. {webscout-7.7 → webscout-7.9}/webscout/Provider/HF_space/qwen_qwen2.py +1 -1
  41. {webscout-7.7 → webscout-7.9}/webscout/Provider/HeckAI.py +1 -1
  42. {webscout-7.7 → webscout-7.9}/webscout/Provider/HuggingFaceChat.py +1 -1
  43. {webscout-7.7 → webscout-7.9}/webscout/Provider/Hunyuan.py +1 -1
  44. {webscout-7.7 → webscout-7.9}/webscout/Provider/Jadve.py +3 -3
  45. {webscout-7.7 → webscout-7.9}/webscout/Provider/Koboldai.py +3 -3
  46. {webscout-7.7 → webscout-7.9}/webscout/Provider/LambdaChat.py +3 -2
  47. {webscout-7.7 → webscout-7.9}/webscout/Provider/Llama.py +3 -5
  48. {webscout-7.7 → webscout-7.9}/webscout/Provider/Llama3.py +4 -12
  49. {webscout-7.7 → webscout-7.9}/webscout/Provider/Marcus.py +3 -3
  50. {webscout-7.7 → webscout-7.9}/webscout/Provider/OLLAMA.py +8 -8
  51. {webscout-7.7 → webscout-7.9}/webscout/Provider/Openai.py +7 -3
  52. {webscout-7.7 → webscout-7.9}/webscout/Provider/PI.py +1 -1
  53. {webscout-7.7 → webscout-7.9}/webscout/Provider/Perplexitylabs.py +1 -1
  54. {webscout-7.7 → webscout-7.9}/webscout/Provider/Phind.py +1 -1
  55. {webscout-7.7 → webscout-7.9}/webscout/Provider/PizzaGPT.py +1 -1
  56. {webscout-7.7 → webscout-7.9}/webscout/Provider/QwenLM.py +4 -7
  57. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/FreeAIPlayground/async_freeaiplayground.py +3 -1
  58. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/FreeAIPlayground/sync_freeaiplayground.py +3 -3
  59. webscout-7.9/webscout/Provider/TTI/ImgSys/__init__.py +23 -0
  60. webscout-7.9/webscout/Provider/TTI/ImgSys/async_imgsys.py +202 -0
  61. webscout-7.9/webscout/Provider/TTI/ImgSys/sync_imgsys.py +195 -0
  62. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/__init__.py +3 -1
  63. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/artbit/async_artbit.py +1 -1
  64. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/artbit/sync_artbit.py +1 -1
  65. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/huggingface/async_huggingface.py +1 -1
  66. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/huggingface/sync_huggingface.py +1 -1
  67. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/piclumen/__init__.py +22 -22
  68. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/piclumen/sync_piclumen.py +232 -232
  69. webscout-7.9/webscout/Provider/TTI/pixelmuse/__init__.py +4 -0
  70. webscout-7.9/webscout/Provider/TTI/pixelmuse/async_pixelmuse.py +249 -0
  71. webscout-7.9/webscout/Provider/TTI/pixelmuse/sync_pixelmuse.py +182 -0
  72. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/talkai/sync_talkai.py +1 -1
  73. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTS/utils.py +1 -1
  74. {webscout-7.7 → webscout-7.9}/webscout/Provider/TeachAnything.py +1 -1
  75. {webscout-7.7 → webscout-7.9}/webscout/Provider/TextPollinationsAI.py +232 -230
  76. {webscout-7.7 → webscout-7.9}/webscout/Provider/TwoAI.py +1 -2
  77. {webscout-7.7 → webscout-7.9}/webscout/Provider/Venice.py +4 -2
  78. webscout-7.9/webscout/Provider/VercelAI.py +234 -0
  79. {webscout-7.7 → webscout-7.9}/webscout/Provider/WebSim.py +3 -2
  80. {webscout-7.7 → webscout-7.9}/webscout/Provider/WiseCat.py +10 -12
  81. {webscout-7.7 → webscout-7.9}/webscout/Provider/Youchat.py +1 -1
  82. {webscout-7.7 → webscout-7.9}/webscout/Provider/__init__.py +10 -4
  83. {webscout-7.7 → webscout-7.9}/webscout/Provider/ai4chat.py +1 -1
  84. {webscout-7.7 → webscout-7.9}/webscout/Provider/aimathgpt.py +2 -6
  85. {webscout-7.7 → webscout-7.9}/webscout/Provider/akashgpt.py +1 -1
  86. {webscout-7.7 → webscout-7.9}/webscout/Provider/askmyai.py +4 -4
  87. webscout-7.9/webscout/Provider/asksteve.py +203 -0
  88. {webscout-7.7 → webscout-7.9}/webscout/Provider/bagoodex.py +2 -2
  89. {webscout-7.7 → webscout-7.9}/webscout/Provider/cerebras.py +1 -1
  90. {webscout-7.7 → webscout-7.9}/webscout/Provider/chatglm.py +4 -4
  91. {webscout-7.7 → webscout-7.9}/webscout/Provider/cleeai.py +1 -0
  92. {webscout-7.7 → webscout-7.9}/webscout/Provider/copilot.py +21 -9
  93. {webscout-7.7 → webscout-7.9}/webscout/Provider/elmo.py +1 -1
  94. {webscout-7.7 → webscout-7.9}/webscout/Provider/flowith.py +1 -1
  95. {webscout-7.7 → webscout-7.9}/webscout/Provider/freeaichat.py +64 -31
  96. {webscout-7.7 → webscout-7.9}/webscout/Provider/gaurish.py +3 -5
  97. {webscout-7.7 → webscout-7.9}/webscout/Provider/geminiprorealtime.py +1 -1
  98. {webscout-7.7 → webscout-7.9}/webscout/Provider/granite.py +4 -4
  99. {webscout-7.7 → webscout-7.9}/webscout/Provider/hermes.py +5 -5
  100. {webscout-7.7 → webscout-7.9}/webscout/Provider/julius.py +1 -1
  101. {webscout-7.7 → webscout-7.9}/webscout/Provider/koala.py +1 -1
  102. {webscout-7.7 → webscout-7.9}/webscout/Provider/lepton.py +1 -1
  103. {webscout-7.7 → webscout-7.9}/webscout/Provider/llama3mitril.py +4 -4
  104. {webscout-7.7 → webscout-7.9}/webscout/Provider/llamatutor.py +1 -1
  105. {webscout-7.7 → webscout-7.9}/webscout/Provider/llmchat.py +3 -3
  106. {webscout-7.7 → webscout-7.9}/webscout/Provider/meta.py +1 -1
  107. {webscout-7.7 → webscout-7.9}/webscout/Provider/multichat.py +10 -10
  108. {webscout-7.7 → webscout-7.9}/webscout/Provider/promptrefine.py +1 -1
  109. webscout-7.9/webscout/Provider/searchchat.py +293 -0
  110. {webscout-7.7 → webscout-7.9}/webscout/Provider/sonus.py +2 -2
  111. {webscout-7.7 → webscout-7.9}/webscout/Provider/talkai.py +2 -2
  112. {webscout-7.7 → webscout-7.9}/webscout/Provider/turboseek.py +1 -1
  113. {webscout-7.7 → webscout-7.9}/webscout/Provider/tutorai.py +1 -1
  114. {webscout-7.7 → webscout-7.9}/webscout/Provider/typegpt.py +5 -42
  115. {webscout-7.7 → webscout-7.9}/webscout/Provider/uncovr.py +312 -297
  116. {webscout-7.7 → webscout-7.9}/webscout/Provider/x0gpt.py +1 -1
  117. {webscout-7.7 → webscout-7.9}/webscout/Provider/yep.py +64 -12
  118. {webscout-7.7 → webscout-7.9}/webscout/__init__.py +3 -1
  119. {webscout-7.7 → webscout-7.9}/webscout/cli.py +59 -98
  120. webscout-7.9/webscout/conversation.py +565 -0
  121. webscout-7.9/webscout/litprinter/__init__.py +59 -0
  122. {webscout-7.7 → webscout-7.9}/webscout/optimizers.py +419 -419
  123. {webscout-7.7 → webscout-7.9}/webscout/tempid.py +11 -11
  124. {webscout-7.7 → webscout-7.9}/webscout/update_checker.py +14 -12
  125. {webscout-7.7 → webscout-7.9}/webscout/utils.py +2 -2
  126. {webscout-7.7 → webscout-7.9}/webscout/version.py +1 -1
  127. {webscout-7.7 → webscout-7.9}/webscout/webscout_search.py +146 -87
  128. {webscout-7.7 → webscout-7.9}/webscout/webscout_search_async.py +148 -27
  129. {webscout-7.7 → webscout-7.9/webscout.egg-info}/PKG-INFO +92 -64
  130. {webscout-7.7 → webscout-7.9}/webscout.egg-info/SOURCES.txt +18 -4
  131. {webscout-7.7 → webscout-7.9}/webscout.egg-info/requires.txt +0 -2
  132. webscout-7.7/webscout/DWEBS.py +0 -461
  133. webscout-7.7/webscout/Extra/autocoder/autocoder_utiles.py +0 -194
  134. webscout-7.7/webscout/Provider/DARKAI.py +0 -224
  135. webscout-7.7/webscout/Provider/EDITEE.py +0 -192
  136. webscout-7.7/webscout/Provider/ElectronHub.py +0 -634
  137. webscout-7.7/webscout/conversation.py +0 -232
  138. webscout-7.7/webscout/litprinter/__init__.py +0 -667
  139. webscout-7.7/webscout/litprinter/colors.py +0 -54
  140. {webscout-7.7 → webscout-7.9}/LICENSE.md +0 -0
  141. {webscout-7.7 → webscout-7.9}/setup.cfg +0 -0
  142. {webscout-7.7 → webscout-7.9}/webscout/AIauto.py +0 -0
  143. {webscout-7.7 → webscout-7.9}/webscout/AIbase.py +0 -0
  144. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/YTdownloader.py +0 -0
  145. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/__init__.py +0 -0
  146. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/transcriber.py +0 -0
  147. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/ytapi/__init__.py +0 -0
  148. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/ytapi/channel.py +0 -0
  149. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/ytapi/errors.py +0 -0
  150. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/ytapi/extras.py +0 -0
  151. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/ytapi/https.py +0 -0
  152. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/ytapi/patterns.py +0 -0
  153. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/ytapi/playlist.py +0 -0
  154. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/ytapi/pool.py +0 -0
  155. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/ytapi/query.py +0 -0
  156. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/ytapi/stream.py +0 -0
  157. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/ytapi/utils.py +0 -0
  158. {webscout-7.7 → webscout-7.9}/webscout/Extra/YTToolkit/ytapi/video.py +0 -0
  159. {webscout-7.7 → webscout-7.9}/webscout/Extra/weather.py +0 -0
  160. {webscout-7.7 → webscout-7.9}/webscout/Extra/weather_ascii.py +0 -0
  161. {webscout-7.7 → webscout-7.9}/webscout/LLM.py +0 -0
  162. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/__init__.py +0 -0
  163. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/core/__init__.py +0 -0
  164. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/core/level.py +0 -0
  165. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/core/logger.py +0 -0
  166. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/handlers/__init__.py +0 -0
  167. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/handlers/console.py +0 -0
  168. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/handlers/file.py +0 -0
  169. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/handlers/network.py +0 -0
  170. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/styles/__init__.py +0 -0
  171. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/styles/colors.py +0 -0
  172. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/styles/formats.py +0 -0
  173. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/styles/text.py +0 -0
  174. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/utils/__init__.py +0 -0
  175. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/utils/detectors.py +0 -0
  176. {webscout-7.7 → webscout-7.9}/webscout/Litlogger/utils/formatters.py +0 -0
  177. {webscout-7.7 → webscout-7.9}/webscout/Provider/AISEARCH/__init__.py +0 -0
  178. {webscout-7.7 → webscout-7.9}/webscout/Provider/Blackboxai.py +0 -0
  179. {webscout-7.7 → webscout-7.9}/webscout/Provider/ChatGPTClone.py +0 -0
  180. {webscout-7.7 → webscout-7.9}/webscout/Provider/Cohere.py +0 -0
  181. {webscout-7.7 → webscout-7.9}/webscout/Provider/GPTWeb.py +0 -0
  182. {webscout-7.7 → webscout-7.9}/webscout/Provider/HF_space/__init__.py +0 -0
  183. {webscout-7.7 → webscout-7.9}/webscout/Provider/Netwrck.py +0 -0
  184. {webscout-7.7 → webscout-7.9}/webscout/Provider/Reka.py +0 -0
  185. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/AiForce/__init__.py +0 -0
  186. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/AiForce/async_aiforce.py +0 -0
  187. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/AiForce/sync_aiforce.py +0 -0
  188. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/FreeAIPlayground/__init__.py +0 -0
  189. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/MagicStudio/__init__.py +0 -0
  190. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/MagicStudio/async_magicstudio.py +0 -0
  191. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/MagicStudio/sync_magicstudio.py +0 -0
  192. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/Nexra/__init__.py +0 -0
  193. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/Nexra/async_nexra.py +0 -0
  194. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/Nexra/sync_nexra.py +0 -0
  195. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/PollinationsAI/__init__.py +0 -0
  196. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/PollinationsAI/async_pollinations.py +0 -0
  197. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/PollinationsAI/sync_pollinations.py +0 -0
  198. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/aiarta/__init__.py +0 -0
  199. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/aiarta/async_aiarta.py +0 -0
  200. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/aiarta/sync_aiarta.py +0 -0
  201. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/artbit/__init__.py +0 -0
  202. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/fastflux/__init__.py +0 -0
  203. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/fastflux/async_fastflux.py +0 -0
  204. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/fastflux/sync_fastflux.py +0 -0
  205. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/huggingface/__init__.py +0 -0
  206. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/piclumen/async_piclumen.py +0 -0
  207. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/talkai/__init__.py +0 -0
  208. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTI/talkai/async_talkai.py +0 -0
  209. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTS/__init__.py +0 -0
  210. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTS/deepgram.py +0 -0
  211. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTS/elevenlabs.py +0 -0
  212. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTS/gesserit.py +0 -0
  213. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTS/murfai.py +0 -0
  214. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTS/parler.py +0 -0
  215. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTS/speechma.py +0 -0
  216. {webscout-7.7 → webscout-7.9}/webscout/Provider/TTS/streamElements.py +0 -0
  217. {webscout-7.7 → webscout-7.9}/webscout/Provider/geminiapi.py +0 -0
  218. {webscout-7.7 → webscout-7.9}/webscout/Provider/labyrinth.py +0 -0
  219. {webscout-7.7 → webscout-7.9}/webscout/Provider/learnfastai.py +0 -0
  220. {webscout-7.7 → webscout-7.9}/webscout/__main__.py +0 -0
  221. {webscout-7.7 → webscout-7.9}/webscout/exceptions.py +0 -0
  222. {webscout-7.7 → webscout-7.9}/webscout/litagent/__init__.py +0 -0
  223. {webscout-7.7 → webscout-7.9}/webscout/litagent/agent.py +0 -0
  224. {webscout-7.7 → webscout-7.9}/webscout/litagent/constants.py +0 -0
  225. {webscout-7.7 → webscout-7.9}/webscout/models.py +0 -0
  226. {webscout-7.7 → webscout-7.9}/webscout/prompt_manager.py +0 -0
  227. {webscout-7.7 → webscout-7.9}/webscout/scout/__init__.py +0 -0
  228. {webscout-7.7 → webscout-7.9}/webscout/scout/core/__init__.py +0 -0
  229. {webscout-7.7 → webscout-7.9}/webscout/scout/core/crawler.py +0 -0
  230. {webscout-7.7 → webscout-7.9}/webscout/scout/core/scout.py +0 -0
  231. {webscout-7.7 → webscout-7.9}/webscout/scout/core/search_result.py +0 -0
  232. {webscout-7.7 → webscout-7.9}/webscout/scout/core/text_analyzer.py +0 -0
  233. {webscout-7.7 → webscout-7.9}/webscout/scout/core/text_utils.py +0 -0
  234. {webscout-7.7 → webscout-7.9}/webscout/scout/core/web_analyzer.py +0 -0
  235. {webscout-7.7 → webscout-7.9}/webscout/scout/core.py +0 -0
  236. {webscout-7.7 → webscout-7.9}/webscout/scout/element.py +0 -0
  237. {webscout-7.7 → webscout-7.9}/webscout/scout/parsers/__init__.py +0 -0
  238. {webscout-7.7 → webscout-7.9}/webscout/scout/parsers/html5lib_parser.py +0 -0
  239. {webscout-7.7 → webscout-7.9}/webscout/scout/parsers/html_parser.py +0 -0
  240. {webscout-7.7 → webscout-7.9}/webscout/scout/parsers/lxml_parser.py +0 -0
  241. {webscout-7.7 → webscout-7.9}/webscout/scout/utils.py +0 -0
  242. {webscout-7.7 → webscout-7.9}/webscout/swiftcli/__init__.py +0 -0
  243. {webscout-7.7 → webscout-7.9}/webscout/yep_search.py +0 -0
  244. {webscout-7.7 → webscout-7.9}/webscout/zeroart/__init__.py +0 -0
  245. {webscout-7.7 → webscout-7.9}/webscout/zeroart/base.py +0 -0
  246. {webscout-7.7 → webscout-7.9}/webscout/zeroart/effects.py +0 -0
  247. {webscout-7.7 → webscout-7.9}/webscout/zeroart/fonts.py +0 -0
  248. {webscout-7.7 → webscout-7.9}/webscout.egg-info/dependency_links.txt +0 -0
  249. {webscout-7.7 → webscout-7.9}/webscout.egg-info/entry_points.txt +0 -0
  250. {webscout-7.7 → webscout-7.9}/webscout.egg-info/top_level.txt +0 -0
  251. {webscout-7.7 → webscout-7.9}/webstoken/__init__.py +0 -0
  252. {webscout-7.7 → webscout-7.9}/webstoken/classifier.py +0 -0
  253. {webscout-7.7 → webscout-7.9}/webstoken/keywords.py +0 -0
  254. {webscout-7.7 → webscout-7.9}/webstoken/language.py +0 -0
  255. {webscout-7.7 → webscout-7.9}/webstoken/ner.py +0 -0
  256. {webscout-7.7 → webscout-7.9}/webstoken/normalizer.py +0 -0
  257. {webscout-7.7 → webscout-7.9}/webstoken/processor.py +0 -0
  258. {webscout-7.7 → webscout-7.9}/webstoken/sentiment.py +0 -0
  259. {webscout-7.7 → webscout-7.9}/webstoken/stemmer.py +0 -0
  260. {webscout-7.7 → webscout-7.9}/webstoken/tagger.py +0 -0
  261. {webscout-7.7 → webscout-7.9}/webstoken/tokenizer.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: webscout
3
- Version: 7.7
3
+ Version: 7.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: OEvortex
6
6
  Author-email: helpingai5@gmail.com
@@ -13,7 +13,6 @@ Classifier: Intended Audience :: Developers
13
13
  Classifier: License :: Other/Proprietary License
14
14
  Classifier: Operating System :: OS Independent
15
15
  Classifier: Programming Language :: Python :: 3
16
- Classifier: Programming Language :: Python :: 3.8
17
16
  Classifier: Programming Language :: Python :: 3.9
18
17
  Classifier: Programming Language :: Python :: 3.10
19
18
  Classifier: Programming Language :: Python :: 3.11
@@ -22,43 +21,45 @@ Classifier: Programming Language :: Python :: 3.13
22
21
  Classifier: Programming Language :: Python :: Implementation :: CPython
23
22
  Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
24
23
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
25
- Requires-Python: >=3.7
24
+ Requires-Python: >=3.9
26
25
  Description-Content-Type: text/markdown
27
26
  Provides-Extra: dev
28
27
  License-File: LICENSE.md
29
28
 
30
- <div align="center">
31
- <!-- Replace `#` with your actual links -->
32
- <a href="https://t.me/PyscoutAI"><img alt="Telegram" src="https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white"></a>
33
- <a href="https://www.instagram.com/oevortex/"><img alt="Instagram" src="https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge&logo=instagram&logoColor=white"></a>
34
- <a href="https://www.linkedin.com/in/oe-vortex-29a407265/"><img alt="LinkedIn" src="https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white"></a>
35
- <a href="https://buymeacoffee.com/oevortex"><img alt="Buy Me A Coffee" src="https://img.shields.io/badge/Buy%20Me%20A%20Coffee-FFDD00?style=for-the-badge&logo=buymeacoffee&logoColor=black"></a>
36
- </div>
37
-
38
- <div align="center">
39
- <!-- Replace `#` with your actual links -->
40
- <a href="https://youtube.com/@OEvortex">▶️ Vortex's YouTube Channel</a>
41
- </div>
42
- <div align="center">
43
- <a href="https://youtube.com/@devsdocode">▶️ Devs Do Code's YouTube Channel</a>
44
- </div>
45
- <div align="center">
46
- <a href="https://t.me/ANONYMOUS_56788">📢 Anonymous Coder's Telegram</a>
47
- </div>
48
-
49
- <p align="center">
50
- <strong>Webscout</strong> is the all-in-one search and AI toolkit you need.
51
- <br>
52
- Discover insights with Yep.com, DuckDuckGo, and Phind; access cutting-edge AI models; transcribe YouTube videos; generate temporary emails and phone numbers; perform text-to-speech conversions; and much more!
53
- </p>
54
29
 
55
30
  <div align="center">
56
- <img src="https://img.shields.io/badge/WebScout-API-blue?style=for-the-badge&logo=WebScout" alt="WebScout API Badge">
57
- <a href="#"><img src="https://img.shields.io/pypi/pyversions/webscout" alt="Python Version"></a>
58
- <a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout" alt="Downloads"></a>
31
+ <a href="https://github.com/OEvortex/Webscout">
32
+ <!-- Consider adding a dedicated Webscout logo here if you have one -->
33
+ <img src="https://img.shields.io/badge/WebScout-Ultimate%20Toolkit-blue?style=for-the-badge&logo=python&logoColor=white" alt="WebScout Logo">
34
+ </a>
35
+ <br/>
36
+ <h1>Webscout</h1>
37
+ <p><strong>Your All-in-One Python Toolkit for Web Search, AI Interaction, Digital Utilities, and More.</strong></p>
38
+ <p>
39
+ Access diverse search engines, cutting-edge AI models, temporary communication tools, media utilities, developer helpers, and powerful CLI interfaces – all through one unified library.
40
+ </p>
41
+
42
+ <!-- Badges -->
43
+ <p>
44
+ <a href="https://pypi.org/project/webscout/"><img src="https://img.shields.io/pypi/v/webscout.svg?style=flat-square&logo=pypi&label=PyPI" alt="PyPI Version"></a>
45
+ <a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout/month?style=flat-square" alt="Monthly Downloads"></a>
46
+ <a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout?style=flat-square" alt="Total Downloads"></a>
47
+ <a href="#"><img src="https://img.shields.io/pypi/pyversions/webscout?style=flat-square&logo=python" alt="Python Version"></a>
48
+ <!-- Add License Badge if applicable: <a href="LICENSE"><img src="https://img.shields.io/pypi/l/webscout?style=flat-square" alt="License"></a> -->
49
+ <!-- Add Build Status Badge if applicable -->
50
+ </p>
51
+
52
+ <!-- Social/Support Links -->
53
+ <div>
54
+ <a href="https://t.me/PyscoutAI"><img alt="Telegram Group" src="https://img.shields.io/badge/Telegram%20Group-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white"></a>
55
+ <a href="https://t.me/ANONYMOUS_56788"><img alt="Developer Telegram" src="https://img.shields.io/badge/Developer%20Contact-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white"></a>
56
+ <a href="https://youtube.com/@OEvortex"><img alt="YouTube" src="https://img.shields.io/badge/YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white"></a>
57
+ <a href="https://www.linkedin.com/in/oe-vortex-29a407265/"><img alt="LinkedIn" src="https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white"></a>
58
+ <a href="https://www.instagram.com/oevortex/"><img alt="Instagram" src="https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge&logo=instagram&logoColor=white"></a>
59
+ <a href="https://buymeacoffee.com/oevortex"><img alt="Buy Me A Coffee" src="https://img.shields.io/badge/Buy%20Me%20A%20Coffee-FFDD00?style=for-the-badge&logo=buymeacoffee&logoColor=black"></a>
60
+ </div>
59
61
  </div>
60
62
 
61
- ---
62
63
 
63
64
  ## 🚀 Features
64
65
 
@@ -66,7 +67,7 @@ License-File: LICENSE.md
66
67
  * **AI Powerhouse:** Access and interact with various AI models, including OpenAI, Cohere, and more.
67
68
  * **[YouTube Toolkit](webscout/Extra/YTToolkit):** Advanced YouTube video and transcript management with multi-language support, versatile downloading, and intelligent data extraction
68
69
  * **[GitAPI](webscout/Extra/GitToolkit/gitapi):** Powerful GitHub data extraction toolkit for seamless repository and user information retrieval, featuring commit tracking, issue management, and comprehensive user analytics - all without authentication requirements for public data
69
- * **Tempmail & Temp Number:** Generate temporary email addresses and phone numbers for enhanced privacy.
70
+ * **[Tempmail](webscout/Extra/tempmail/README.md) & Temp Number:** Generate temporary email addresses and phone numbers for enhanced privacy.
70
71
  * **[Text-to-Speech (TTS)](webscout/Provider/TTS/README.md):** Convert text into natural-sounding speech using multiple AI-powered providers like ElevenLabs, StreamElements, and Voicepods.
71
72
  * **GGUF Conversion & Quantization:** Convert and quantize Hugging Face models to GGUF format.
72
73
  * **[SwiftCLI](webscout/swiftcli/Readme.md):** A powerful and elegant CLI framework that makes it easy to create beautiful command-line interfaces.
@@ -94,6 +95,7 @@ python -m webscout --help
94
95
  | Command | Description |
95
96
  |-------------------------------------------|-------------------------------------------------------------------------------------------------------|
96
97
  | python -m webscout answers -k Text | CLI function to perform an answers search using Webscout. |
98
+ | python -m webscout chat | Interactive AI chat using DuckDuckGo's AI. |
97
99
  | python -m webscout images -k Text | CLI function to perform an images search using Webscout. |
98
100
  | python -m webscout maps -k Text | CLI function to perform a maps search using Webscout. |
99
101
  | python -m webscout news -k Text | CLI function to perform a news search using Webscout. |
@@ -102,9 +104,7 @@ python -m webscout --help
102
104
  | python -m webscout translate -k Text | CLI function to perform translate using Webscout. |
103
105
  | python -m webscout version | A command-line interface command that prints and returns the version of the program. |
104
106
  | python -m webscout videos -k Text | CLI function to perform a videos search using DuckDuckGo API. |
105
- | python -m webscout weather -k Text | CLI function to get weather information for a location using Webscout. |
106
-
107
-
107
+ | python -m webscout weather -l qazigund | CLI function to get weather information for a location using Webscout. |
108
108
 
109
109
  ## ✉️ TempMail and VNEngine
110
110
 
@@ -123,13 +123,13 @@ async def main():
123
123
  if numbers:
124
124
  number = numbers[0]['full_number']
125
125
  inbox = vn.get_number_inbox(country, number)
126
-
126
+
127
127
  # Serialize inbox data to JSON string
128
128
  json_data = json.dumps(inbox, ensure_ascii=False, indent=4)
129
-
129
+
130
130
  # Print with UTF-8 encoding
131
131
  print(json_data)
132
-
132
+
133
133
  async with TempMail() as client:
134
134
  domains = await client.get_domains()
135
135
  print("Available Domains:", domains)
@@ -182,15 +182,53 @@ suggestions = yep.suggestions("hist")
182
182
  print(suggestions)
183
183
  ```
184
184
 
185
- ## 🔍 GoogleS (formerly DWEBS)
185
+ ## 🔍 GoogleSearch (formerly DWEBS)
186
186
 
187
187
  ```python
188
- from webscout import GoogleS
189
- from rich import print
190
- searcher = GoogleS()
191
- results = searcher.search("HelpingAI-9B", max_results=20, extract_text=False, max_text_length=200)
192
- for result in results:
193
- print(result)
188
+ from webscout import GoogleSearch
189
+
190
+ # Initialize GoogleSearch
191
+ google = GoogleSearch(
192
+ timeout=10, # Optional: Set custom timeout
193
+ proxies=None, # Optional: Use proxies
194
+ verify=True # Optional: SSL verification
195
+ )
196
+
197
+ # Text Search
198
+ text_results = google.text(
199
+ keywords="artificial intelligence",
200
+ region="us", # Optional: Region for results
201
+ safesearch="moderate", # Optional: "on", "moderate", "off"
202
+ max_results=10 # Optional: Limit number of results
203
+ )
204
+ for result in text_results:
205
+ print(f"Title: {result.title}")
206
+ print(f"URL: {result.url}")
207
+ print(f"Description: {result.description}")
208
+ print("---")
209
+
210
+ # News Search
211
+ news_results = google.news(
212
+ keywords="technology trends",
213
+ region="us",
214
+ safesearch="moderate",
215
+ max_results=5
216
+ )
217
+ for result in news_results:
218
+ print(f"Title: {result.title}")
219
+ print(f"URL: {result.url}")
220
+ print(f"Description: {result.description}")
221
+ print("---")
222
+
223
+ # Get search suggestions
224
+ suggestions = google.suggestions("how to")
225
+ print(suggestions)
226
+
227
+ # Legacy usage is still supported
228
+ from webscout import search
229
+ results = search("Python programming", num_results=5)
230
+ for url in results:
231
+ print(url)
194
232
  ```
195
233
 
196
234
  ## 🦆 WEBS and AsyncWEBS
@@ -267,7 +305,7 @@ await main()
267
305
  ```python
268
306
  from webscout import WEBS
269
307
 
270
- # Text search for 'live free or die' using DuckDuckGo.com
308
+ # Text search for 'live free or die' using DuckDuckGo.com
271
309
  with WEBS() as WEBS:
272
310
  for r in WEBS.text('live free or die', region='wt-wt', safesearch='off', timelimit='y', max_results=10):
273
311
  print(r)
@@ -281,7 +319,7 @@ with WEBS() as WEBS:
281
319
  ```python
282
320
  from webscout import WEBS
283
321
 
284
- # Instant answers for the query "sun" using DuckDuckGo.com
322
+ # Instant answers for the query "sun" using DuckDuckGo.com
285
323
  with WEBS() as WEBS:
286
324
  for r in WEBS.answers("sun"):
287
325
  print(r)
@@ -292,7 +330,7 @@ with WEBS() as WEBS:
292
330
  ```python
293
331
  from webscout import WEBS
294
332
 
295
- # Image search for the keyword 'butterfly' using DuckDuckGo.com
333
+ # Image search for the keyword 'butterfly' using DuckDuckGo.com
296
334
  with WEBS() as WEBS:
297
335
  keywords = 'butterfly'
298
336
  WEBS_images_gen = WEBS.images(
@@ -314,7 +352,7 @@ with WEBS() as WEBS:
314
352
  ```python
315
353
  from webscout import WEBS
316
354
 
317
- # Video search for the keyword 'tesla' using DuckDuckGo.com
355
+ # Video search for the keyword 'tesla' using DuckDuckGo.com
318
356
  with WEBS() as WEBS:
319
357
  keywords = 'tesla'
320
358
  WEBS_videos_gen = WEBS.videos(
@@ -423,7 +461,6 @@ with WEBS() as webs:
423
461
 
424
462
  ```
425
463
 
426
-
427
464
  #### 📜 List Available LLM Models
428
465
 
429
466
  Retrieve a comprehensive list of all supported LLMs.
@@ -516,9 +553,6 @@ else:
516
553
  print(f"Available voices for {provider_name}: {available_voices}")
517
554
  ```
518
555
 
519
-
520
-
521
-
522
556
  ### 💬 `Duckchat` - Chat with LLM
523
557
 
524
558
  ```python
@@ -649,7 +683,7 @@ print(response["message"]) # Access the text message
649
683
  print("Sources:", response["sources"]) # Access sources (if any)
650
684
 
651
685
  # Image generation
652
- response = meta_ai.ask("Create an image of a cat wearing a hat.")
686
+ response = meta_ai.ask("Create an image of a cat wearing a hat.")
653
687
  print(response["message"]) # Print the text message from the response
654
688
  for media in response["media"]:
655
689
  print(media["url"]) # Access image URLs
@@ -834,7 +868,7 @@ a = AndiSearch()
834
868
  print(a.chat("HelpingAI-9B"))
835
869
  ```
836
870
 
837
- ### `LLAMA`, `C4ai`, `Venice`, `Copilot`, `HuggingFaceChat`, `TwoAI`, `HeckAI`, `AllenAI`, `PerplexityLabs`, `AkashGPT`, `DeepSeek`, `WiseCat`, `IBMGranite`, `QwenLM`, `ChatGPTGratis`, `TextPollinationsAI`, `GliderAI`, `Cohere`, `REKA`, `GROQ`, `AsyncGROQ`, `OPENAI`, `AsyncOPENAI`, `KOBOLDAI`, `AsyncKOBOLDAI`, `BLACKBOXAI`, `PhindSearch`, `GEMINI`, `DeepInfra`, `AI4Chat`, `Phindv2`, `OLLAMA`, `AndiSearch`, `PIZZAGPT`, `Sambanova`, `DARKAI`, `KOALA`, `Meta`, `AskMyAI`, `PiAI`, `Julius`, `YouChat`, `YEPCHAT`, `Cloudflare`, `TurboSeek`, `Editee`, `TeachAnything`, `AI21`, `Chatify`, `X0GPT`, `Cerebras`, `Lepton`, `GEMINIAPI`, `Cleeai`, `Elmo`, `Free2GPT`, `GPTWeb`, `Netwrck`, `LlamaTutor`, `PromptRefine`, `TutorAI`, `ChatGPTES`, `Bagoodex`, `AIMathGPT`, `GaurishCerebras`, `GeminiPro`, `LLMChat`, `Talkai`, `Llama3Mitril`, `Marcus`, `TypeGPT`, `Netwrck`, `MultiChatAI`, `JadveOpenAI`, `ChatGLM`, `NousHermes`, `FreeAIChat`, `ElectronHub`, `GithubChat`, `Flowith`, `SonusAI`, `UncovrAI`, `LabyrinthAI`, `WebSim`, `LambdaChat`, `ChatGPTClone`
871
+ ### `LLAMA`, `C4ai`, `Venice`, `Copilot`, `HuggingFaceChat`, `TwoAI`, `HeckAI`, `AllenAI`, `PerplexityLabs`, `AkashGPT`, `DeepSeek`, `WiseCat`, `IBMGranite`, `QwenLM`, `ChatGPTGratis`, `TextPollinationsAI`, `GliderAI`, `Cohere`, `REKA`, `GROQ`, `AsyncGROQ`, `OPENAI`, `AsyncOPENAI`, `KOBOLDAI`, `AsyncKOBOLDAI`, `BLACKBOXAI`, `PhindSearch`, `GEMINI`, `DeepInfra`, `AI4Chat`, `Phindv2`, `OLLAMA`, `AndiSearch`, `PIZZAGPT`, `Sambanova`, `KOALA`, `Meta`, `AskMyAI`, `PiAI`, `Julius`, `YouChat`, `YEPCHAT`, `Cloudflare`, `TurboSeek`, `TeachAnything`, `AI21`, `Chatify`, `X0GPT`, `Cerebras`, `Lepton`, `GEMINIAPI`, `Cleeai`, `Elmo`, `Free2GPT`, `GPTWeb`, `Netwrck`, `LlamaTutor`, `PromptRefine`, `TutorAI`, `ChatGPTES`, `Bagoodex`, `AIMathGPT`, `GaurishCerebras`, `GeminiPro`, `LLMChat`, `Talkai`, `Llama3Mitril`, `Marcus`, `TypeGPT`, `Netwrck`, `MultiChatAI`, `JadveOpenAI`, `ChatGLM`, `NousHermes`, `FreeAIChat`, `ElectronHub`, `GithubChat`, `Flowith`, `SonusAI`, `UncovrAI`, `LabyrinthAI`, `WebSim`, `LambdaChat`, `ChatGPTClone`, `VercelAI`, `ExaChat`, `AskSteve`, `Aitopia`, `SearchChatAI`
838
872
 
839
873
  Code is similar to other providers.
840
874
 
@@ -868,9 +902,9 @@ Webscout provides tools to convert and quantize Hugging Face models into the GGU
868
902
  from webscout.Extra.gguf import ModelConverter
869
903
  """
870
904
  Valid quantization methods:
871
- "q2_k", "q3_k_l", "q3_k_m", "q3_k_s",
872
- "q4_0", "q4_1", "q4_k_m", "q4_k_s",
873
- "q5_0", "q5_1", "q5_k_m", "q5_k_s",
905
+ "q2_k", "q3_k_l", "q3_k_m", "q3_k_s",
906
+ "q4_0", "q4_1", "q4_k_m", "q4_k_s",
907
+ "q5_0", "q5_1", "q5_k_m", "q5_k_s",
874
908
  "q6_k", "q8_0"
875
909
  """
876
910
  # Create a converter instance
@@ -883,7 +917,6 @@ converter = ModelConverter(
883
917
  converter.convert()
884
918
  ```
885
919
 
886
-
887
920
  **Command Line Usage:**
888
921
 
889
922
  * **GGUF Conversion:**
@@ -892,7 +925,6 @@ converter.convert()
892
925
  python -m webscout.Extra.gguf convert -m "prithivMLmods/QWQ-500M" -q "q2_k"
893
926
  ```
894
927
 
895
-
896
928
  **Note:**
897
929
 
898
930
  * Replace `"your_username"` and `"your_hf_token"` with your actual Hugging Face credentials.
@@ -910,9 +942,6 @@ converter.convert()
910
942
  <!-- Replace `#` with your actual links -->
911
943
  <a href="https://youtube.com/@OEvortex">▶️ Vortex's YouTube Channel</a>
912
944
  </div>
913
- <div align="center">
914
- <a href="https://youtube.com/@devsdocode">▶️ Devs Do Code's YouTube Channel</a>
915
- </div>
916
945
  <div align="center">
917
946
  <a href="https://t.me/ANONYMOUS_56788">📢 Anonymous Coder's Telegram</a>
918
947
  </div>
@@ -931,4 +960,3 @@ Contributions are welcome! If you'd like to contribute to Webscout, please follo
931
960
 
932
961
  * All the amazing developers who have contributed to the project!
933
962
  * The open-source community for their support and inspiration.
934
-
@@ -1,35 +1,37 @@
1
- <div align="center">
2
- <!-- Replace `#` with your actual links -->
3
- <a href="https://t.me/PyscoutAI"><img alt="Telegram" src="https://img.shields.io/badge/Telegram-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white"></a>
4
- <a href="https://www.instagram.com/oevortex/"><img alt="Instagram" src="https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge&logo=instagram&logoColor=white"></a>
5
- <a href="https://www.linkedin.com/in/oe-vortex-29a407265/"><img alt="LinkedIn" src="https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white"></a>
6
- <a href="https://buymeacoffee.com/oevortex"><img alt="Buy Me A Coffee" src="https://img.shields.io/badge/Buy%20Me%20A%20Coffee-FFDD00?style=for-the-badge&logo=buymeacoffee&logoColor=black"></a>
7
- </div>
8
-
9
- <div align="center">
10
- <!-- Replace `#` with your actual links -->
11
- <a href="https://youtube.com/@OEvortex">▶️ Vortex's YouTube Channel</a>
12
- </div>
13
- <div align="center">
14
- <a href="https://youtube.com/@devsdocode">▶️ Devs Do Code's YouTube Channel</a>
15
- </div>
16
- <div align="center">
17
- <a href="https://t.me/ANONYMOUS_56788">📢 Anonymous Coder's Telegram</a>
18
- </div>
19
-
20
- <p align="center">
21
- <strong>Webscout</strong> is the all-in-one search and AI toolkit you need.
22
- <br>
23
- Discover insights with Yep.com, DuckDuckGo, and Phind; access cutting-edge AI models; transcribe YouTube videos; generate temporary emails and phone numbers; perform text-to-speech conversions; and much more!
24
- </p>
25
1
 
26
2
  <div align="center">
27
- <img src="https://img.shields.io/badge/WebScout-API-blue?style=for-the-badge&logo=WebScout" alt="WebScout API Badge">
28
- <a href="#"><img src="https://img.shields.io/pypi/pyversions/webscout" alt="Python Version"></a>
29
- <a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout" alt="Downloads"></a>
3
+ <a href="https://github.com/OEvortex/Webscout">
4
+ <!-- Consider adding a dedicated Webscout logo here if you have one -->
5
+ <img src="https://img.shields.io/badge/WebScout-Ultimate%20Toolkit-blue?style=for-the-badge&logo=python&logoColor=white" alt="WebScout Logo">
6
+ </a>
7
+ <br/>
8
+ <h1>Webscout</h1>
9
+ <p><strong>Your All-in-One Python Toolkit for Web Search, AI Interaction, Digital Utilities, and More.</strong></p>
10
+ <p>
11
+ Access diverse search engines, cutting-edge AI models, temporary communication tools, media utilities, developer helpers, and powerful CLI interfaces – all through one unified library.
12
+ </p>
13
+
14
+ <!-- Badges -->
15
+ <p>
16
+ <a href="https://pypi.org/project/webscout/"><img src="https://img.shields.io/pypi/v/webscout.svg?style=flat-square&logo=pypi&label=PyPI" alt="PyPI Version"></a>
17
+ <a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout/month?style=flat-square" alt="Monthly Downloads"></a>
18
+ <a href="https://pepy.tech/project/webscout"><img src="https://static.pepy.tech/badge/webscout?style=flat-square" alt="Total Downloads"></a>
19
+ <a href="#"><img src="https://img.shields.io/pypi/pyversions/webscout?style=flat-square&logo=python" alt="Python Version"></a>
20
+ <!-- Add License Badge if applicable: <a href="LICENSE"><img src="https://img.shields.io/pypi/l/webscout?style=flat-square" alt="License"></a> -->
21
+ <!-- Add Build Status Badge if applicable -->
22
+ </p>
23
+
24
+ <!-- Social/Support Links -->
25
+ <div>
26
+ <a href="https://t.me/PyscoutAI"><img alt="Telegram Group" src="https://img.shields.io/badge/Telegram%20Group-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white"></a>
27
+ <a href="https://t.me/ANONYMOUS_56788"><img alt="Developer Telegram" src="https://img.shields.io/badge/Developer%20Contact-2CA5E0?style=for-the-badge&logo=telegram&logoColor=white"></a>
28
+ <a href="https://youtube.com/@OEvortex"><img alt="YouTube" src="https://img.shields.io/badge/YouTube-FF0000?style=for-the-badge&logo=youtube&logoColor=white"></a>
29
+ <a href="https://www.linkedin.com/in/oe-vortex-29a407265/"><img alt="LinkedIn" src="https://img.shields.io/badge/LinkedIn-0077B5?style=for-the-badge&logo=linkedin&logoColor=white"></a>
30
+ <a href="https://www.instagram.com/oevortex/"><img alt="Instagram" src="https://img.shields.io/badge/Instagram-E4405F?style=for-the-badge&logo=instagram&logoColor=white"></a>
31
+ <a href="https://buymeacoffee.com/oevortex"><img alt="Buy Me A Coffee" src="https://img.shields.io/badge/Buy%20Me%20A%20Coffee-FFDD00?style=for-the-badge&logo=buymeacoffee&logoColor=black"></a>
32
+ </div>
30
33
  </div>
31
34
 
32
- ---
33
35
 
34
36
  ## 🚀 Features
35
37
 
@@ -37,7 +39,7 @@
37
39
  * **AI Powerhouse:** Access and interact with various AI models, including OpenAI, Cohere, and more.
38
40
  * **[YouTube Toolkit](webscout/Extra/YTToolkit):** Advanced YouTube video and transcript management with multi-language support, versatile downloading, and intelligent data extraction
39
41
  * **[GitAPI](webscout/Extra/GitToolkit/gitapi):** Powerful GitHub data extraction toolkit for seamless repository and user information retrieval, featuring commit tracking, issue management, and comprehensive user analytics - all without authentication requirements for public data
40
- * **Tempmail & Temp Number:** Generate temporary email addresses and phone numbers for enhanced privacy.
42
+ * **[Tempmail](webscout/Extra/tempmail/README.md) & Temp Number:** Generate temporary email addresses and phone numbers for enhanced privacy.
41
43
  * **[Text-to-Speech (TTS)](webscout/Provider/TTS/README.md):** Convert text into natural-sounding speech using multiple AI-powered providers like ElevenLabs, StreamElements, and Voicepods.
42
44
  * **GGUF Conversion & Quantization:** Convert and quantize Hugging Face models to GGUF format.
43
45
  * **[SwiftCLI](webscout/swiftcli/Readme.md):** A powerful and elegant CLI framework that makes it easy to create beautiful command-line interfaces.
@@ -65,6 +67,7 @@ python -m webscout --help
65
67
  | Command | Description |
66
68
  |-------------------------------------------|-------------------------------------------------------------------------------------------------------|
67
69
  | python -m webscout answers -k Text | CLI function to perform an answers search using Webscout. |
70
+ | python -m webscout chat | Interactive AI chat using DuckDuckGo's AI. |
68
71
  | python -m webscout images -k Text | CLI function to perform an images search using Webscout. |
69
72
  | python -m webscout maps -k Text | CLI function to perform a maps search using Webscout. |
70
73
  | python -m webscout news -k Text | CLI function to perform a news search using Webscout. |
@@ -73,9 +76,7 @@ python -m webscout --help
73
76
  | python -m webscout translate -k Text | CLI function to perform translate using Webscout. |
74
77
  | python -m webscout version | A command-line interface command that prints and returns the version of the program. |
75
78
  | python -m webscout videos -k Text | CLI function to perform a videos search using DuckDuckGo API. |
76
- | python -m webscout weather -k Text | CLI function to get weather information for a location using Webscout. |
77
-
78
-
79
+ | python -m webscout weather -l qazigund | CLI function to get weather information for a location using Webscout. |
79
80
 
80
81
  ## ✉️ TempMail and VNEngine
81
82
 
@@ -94,13 +95,13 @@ async def main():
94
95
  if numbers:
95
96
  number = numbers[0]['full_number']
96
97
  inbox = vn.get_number_inbox(country, number)
97
-
98
+
98
99
  # Serialize inbox data to JSON string
99
100
  json_data = json.dumps(inbox, ensure_ascii=False, indent=4)
100
-
101
+
101
102
  # Print with UTF-8 encoding
102
103
  print(json_data)
103
-
104
+
104
105
  async with TempMail() as client:
105
106
  domains = await client.get_domains()
106
107
  print("Available Domains:", domains)
@@ -153,15 +154,53 @@ suggestions = yep.suggestions("hist")
153
154
  print(suggestions)
154
155
  ```
155
156
 
156
- ## 🔍 GoogleS (formerly DWEBS)
157
+ ## 🔍 GoogleSearch (formerly DWEBS)
157
158
 
158
159
  ```python
159
- from webscout import GoogleS
160
- from rich import print
161
- searcher = GoogleS()
162
- results = searcher.search("HelpingAI-9B", max_results=20, extract_text=False, max_text_length=200)
163
- for result in results:
164
- print(result)
160
+ from webscout import GoogleSearch
161
+
162
+ # Initialize GoogleSearch
163
+ google = GoogleSearch(
164
+ timeout=10, # Optional: Set custom timeout
165
+ proxies=None, # Optional: Use proxies
166
+ verify=True # Optional: SSL verification
167
+ )
168
+
169
+ # Text Search
170
+ text_results = google.text(
171
+ keywords="artificial intelligence",
172
+ region="us", # Optional: Region for results
173
+ safesearch="moderate", # Optional: "on", "moderate", "off"
174
+ max_results=10 # Optional: Limit number of results
175
+ )
176
+ for result in text_results:
177
+ print(f"Title: {result.title}")
178
+ print(f"URL: {result.url}")
179
+ print(f"Description: {result.description}")
180
+ print("---")
181
+
182
+ # News Search
183
+ news_results = google.news(
184
+ keywords="technology trends",
185
+ region="us",
186
+ safesearch="moderate",
187
+ max_results=5
188
+ )
189
+ for result in news_results:
190
+ print(f"Title: {result.title}")
191
+ print(f"URL: {result.url}")
192
+ print(f"Description: {result.description}")
193
+ print("---")
194
+
195
+ # Get search suggestions
196
+ suggestions = google.suggestions("how to")
197
+ print(suggestions)
198
+
199
+ # Legacy usage is still supported
200
+ from webscout import search
201
+ results = search("Python programming", num_results=5)
202
+ for url in results:
203
+ print(url)
165
204
  ```
166
205
 
167
206
  ## 🦆 WEBS and AsyncWEBS
@@ -238,7 +277,7 @@ await main()
238
277
  ```python
239
278
  from webscout import WEBS
240
279
 
241
- # Text search for 'live free or die' using DuckDuckGo.com
280
+ # Text search for 'live free or die' using DuckDuckGo.com
242
281
  with WEBS() as WEBS:
243
282
  for r in WEBS.text('live free or die', region='wt-wt', safesearch='off', timelimit='y', max_results=10):
244
283
  print(r)
@@ -252,7 +291,7 @@ with WEBS() as WEBS:
252
291
  ```python
253
292
  from webscout import WEBS
254
293
 
255
- # Instant answers for the query "sun" using DuckDuckGo.com
294
+ # Instant answers for the query "sun" using DuckDuckGo.com
256
295
  with WEBS() as WEBS:
257
296
  for r in WEBS.answers("sun"):
258
297
  print(r)
@@ -263,7 +302,7 @@ with WEBS() as WEBS:
263
302
  ```python
264
303
  from webscout import WEBS
265
304
 
266
- # Image search for the keyword 'butterfly' using DuckDuckGo.com
305
+ # Image search for the keyword 'butterfly' using DuckDuckGo.com
267
306
  with WEBS() as WEBS:
268
307
  keywords = 'butterfly'
269
308
  WEBS_images_gen = WEBS.images(
@@ -285,7 +324,7 @@ with WEBS() as WEBS:
285
324
  ```python
286
325
  from webscout import WEBS
287
326
 
288
- # Video search for the keyword 'tesla' using DuckDuckGo.com
327
+ # Video search for the keyword 'tesla' using DuckDuckGo.com
289
328
  with WEBS() as WEBS:
290
329
  keywords = 'tesla'
291
330
  WEBS_videos_gen = WEBS.videos(
@@ -394,7 +433,6 @@ with WEBS() as webs:
394
433
 
395
434
  ```
396
435
 
397
-
398
436
  #### 📜 List Available LLM Models
399
437
 
400
438
  Retrieve a comprehensive list of all supported LLMs.
@@ -487,9 +525,6 @@ else:
487
525
  print(f"Available voices for {provider_name}: {available_voices}")
488
526
  ```
489
527
 
490
-
491
-
492
-
493
528
  ### 💬 `Duckchat` - Chat with LLM
494
529
 
495
530
  ```python
@@ -620,7 +655,7 @@ print(response["message"]) # Access the text message
620
655
  print("Sources:", response["sources"]) # Access sources (if any)
621
656
 
622
657
  # Image generation
623
- response = meta_ai.ask("Create an image of a cat wearing a hat.")
658
+ response = meta_ai.ask("Create an image of a cat wearing a hat.")
624
659
  print(response["message"]) # Print the text message from the response
625
660
  for media in response["media"]:
626
661
  print(media["url"]) # Access image URLs
@@ -805,7 +840,7 @@ a = AndiSearch()
805
840
  print(a.chat("HelpingAI-9B"))
806
841
  ```
807
842
 
808
- ### `LLAMA`, `C4ai`, `Venice`, `Copilot`, `HuggingFaceChat`, `TwoAI`, `HeckAI`, `AllenAI`, `PerplexityLabs`, `AkashGPT`, `DeepSeek`, `WiseCat`, `IBMGranite`, `QwenLM`, `ChatGPTGratis`, `TextPollinationsAI`, `GliderAI`, `Cohere`, `REKA`, `GROQ`, `AsyncGROQ`, `OPENAI`, `AsyncOPENAI`, `KOBOLDAI`, `AsyncKOBOLDAI`, `BLACKBOXAI`, `PhindSearch`, `GEMINI`, `DeepInfra`, `AI4Chat`, `Phindv2`, `OLLAMA`, `AndiSearch`, `PIZZAGPT`, `Sambanova`, `DARKAI`, `KOALA`, `Meta`, `AskMyAI`, `PiAI`, `Julius`, `YouChat`, `YEPCHAT`, `Cloudflare`, `TurboSeek`, `Editee`, `TeachAnything`, `AI21`, `Chatify`, `X0GPT`, `Cerebras`, `Lepton`, `GEMINIAPI`, `Cleeai`, `Elmo`, `Free2GPT`, `GPTWeb`, `Netwrck`, `LlamaTutor`, `PromptRefine`, `TutorAI`, `ChatGPTES`, `Bagoodex`, `AIMathGPT`, `GaurishCerebras`, `GeminiPro`, `LLMChat`, `Talkai`, `Llama3Mitril`, `Marcus`, `TypeGPT`, `Netwrck`, `MultiChatAI`, `JadveOpenAI`, `ChatGLM`, `NousHermes`, `FreeAIChat`, `ElectronHub`, `GithubChat`, `Flowith`, `SonusAI`, `UncovrAI`, `LabyrinthAI`, `WebSim`, `LambdaChat`, `ChatGPTClone`
843
+ ### `LLAMA`, `C4ai`, `Venice`, `Copilot`, `HuggingFaceChat`, `TwoAI`, `HeckAI`, `AllenAI`, `PerplexityLabs`, `AkashGPT`, `DeepSeek`, `WiseCat`, `IBMGranite`, `QwenLM`, `ChatGPTGratis`, `TextPollinationsAI`, `GliderAI`, `Cohere`, `REKA`, `GROQ`, `AsyncGROQ`, `OPENAI`, `AsyncOPENAI`, `KOBOLDAI`, `AsyncKOBOLDAI`, `BLACKBOXAI`, `PhindSearch`, `GEMINI`, `DeepInfra`, `AI4Chat`, `Phindv2`, `OLLAMA`, `AndiSearch`, `PIZZAGPT`, `Sambanova`, `KOALA`, `Meta`, `AskMyAI`, `PiAI`, `Julius`, `YouChat`, `YEPCHAT`, `Cloudflare`, `TurboSeek`, `TeachAnything`, `AI21`, `Chatify`, `X0GPT`, `Cerebras`, `Lepton`, `GEMINIAPI`, `Cleeai`, `Elmo`, `Free2GPT`, `GPTWeb`, `Netwrck`, `LlamaTutor`, `PromptRefine`, `TutorAI`, `ChatGPTES`, `Bagoodex`, `AIMathGPT`, `GaurishCerebras`, `GeminiPro`, `LLMChat`, `Talkai`, `Llama3Mitril`, `Marcus`, `TypeGPT`, `Netwrck`, `MultiChatAI`, `JadveOpenAI`, `ChatGLM`, `NousHermes`, `FreeAIChat`, `ElectronHub`, `GithubChat`, `Flowith`, `SonusAI`, `UncovrAI`, `LabyrinthAI`, `WebSim`, `LambdaChat`, `ChatGPTClone`, `VercelAI`, `ExaChat`, `AskSteve`, `Aitopia`, `SearchChatAI`
809
844
 
810
845
  Code is similar to other providers.
811
846
 
@@ -839,9 +874,9 @@ Webscout provides tools to convert and quantize Hugging Face models into the GGU
839
874
  from webscout.Extra.gguf import ModelConverter
840
875
  """
841
876
  Valid quantization methods:
842
- "q2_k", "q3_k_l", "q3_k_m", "q3_k_s",
843
- "q4_0", "q4_1", "q4_k_m", "q4_k_s",
844
- "q5_0", "q5_1", "q5_k_m", "q5_k_s",
877
+ "q2_k", "q3_k_l", "q3_k_m", "q3_k_s",
878
+ "q4_0", "q4_1", "q4_k_m", "q4_k_s",
879
+ "q5_0", "q5_1", "q5_k_m", "q5_k_s",
845
880
  "q6_k", "q8_0"
846
881
  """
847
882
  # Create a converter instance
@@ -854,7 +889,6 @@ converter = ModelConverter(
854
889
  converter.convert()
855
890
  ```
856
891
 
857
-
858
892
  **Command Line Usage:**
859
893
 
860
894
  * **GGUF Conversion:**
@@ -863,7 +897,6 @@ converter.convert()
863
897
  python -m webscout.Extra.gguf convert -m "prithivMLmods/QWQ-500M" -q "q2_k"
864
898
  ```
865
899
 
866
-
867
900
  **Note:**
868
901
 
869
902
  * Replace `"your_username"` and `"your_hf_token"` with your actual Hugging Face credentials.
@@ -881,9 +914,6 @@ converter.convert()
881
914
  <!-- Replace `#` with your actual links -->
882
915
  <a href="https://youtube.com/@OEvortex">▶️ Vortex's YouTube Channel</a>
883
916
  </div>
884
- <div align="center">
885
- <a href="https://youtube.com/@devsdocode">▶️ Devs Do Code's YouTube Channel</a>
886
- </div>
887
917
  <div align="center">
888
918
  <a href="https://t.me/ANONYMOUS_56788">📢 Anonymous Coder's Telegram</a>
889
919
  </div>
@@ -902,4 +932,3 @@ Contributions are welcome! If you'd like to contribute to Webscout, please follo
902
932
 
903
933
  * All the amazing developers who have contributed to the project!
904
934
  * The open-source community for their support and inspiration.
905
-
@@ -13,14 +13,13 @@ setup(
13
13
  author="OEvortex",
14
14
  author_email="helpingai5@gmail.com",
15
15
  packages=find_packages(),
16
- python_requires=">=3.7",
16
+ python_requires=">=3.9",
17
17
  classifiers=[
18
18
  "Development Status :: 5 - Production/Stable",
19
19
  "Intended Audience :: Developers",
20
20
  "License :: Other/Proprietary License",
21
21
  "Operating System :: OS Independent",
22
22
  "Programming Language :: Python :: 3",
23
- "Programming Language :: Python :: 3.8",
24
23
  "Programming Language :: Python :: 3.9",
25
24
  "Programming Language :: Python :: 3.10",
26
25
  "Programming Language :: Python :: 3.11",
@@ -49,21 +48,18 @@ setup(
49
48
  "termcolor",
50
49
  "orjson",
51
50
  "PyYAML",
52
- "tls_client",
53
51
  "ollama",
54
52
  "pillow",
55
53
  "bson",
56
54
  "cloudscraper",
57
55
  "html5lib",
58
56
  "aiofiles",
59
- "emoji",
60
57
  "openai",
61
58
  "prompt-toolkit",
62
59
  "primp",
63
60
  "pyreqwest_impersonate",
64
61
  "gradio_client",
65
62
  "psutil",
66
- # "pygetwindow",
67
63
  "aiohttp",
68
64
  ],
69
65
 
@@ -1,12 +1,13 @@
1
1
  import json
2
2
  import platform
3
3
  import subprocess
4
+ from typing import Union
4
5
 
5
6
 
6
7
 
7
8
  def sanitize_stream(
8
9
  chunk: str, intro_value: str = "data:", to_json: bool = True
9
- ) -> str | dict:
10
+ ) -> Union[str, dict]:
10
11
  """Remove streaming flags
11
12
 
12
13
  Args: