webscout 7.9__tar.gz → 8.1__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 (294) hide show
  1. webscout-8.1/PKG-INFO +650 -0
  2. webscout-8.1/README.md +622 -0
  3. webscout-8.1/webscout/Extra/GitToolkit/__init__.py +10 -0
  4. webscout-8.1/webscout/Extra/GitToolkit/gitapi/__init__.py +12 -0
  5. webscout-8.1/webscout/Extra/GitToolkit/gitapi/repository.py +195 -0
  6. webscout-8.1/webscout/Extra/GitToolkit/gitapi/user.py +96 -0
  7. webscout-8.1/webscout/Extra/GitToolkit/gitapi/utils.py +62 -0
  8. webscout-8.1/webscout/Extra/YTToolkit/ytapi/video.py +232 -0
  9. {webscout-7.9 → webscout-8.1}/webscout/Provider/AISEARCH/DeepFind.py +1 -1
  10. {webscout-7.9 → webscout-8.1}/webscout/Provider/AISEARCH/ISou.py +1 -1
  11. webscout-8.1/webscout/Provider/AISEARCH/__init__.py +9 -0
  12. {webscout-7.9 → webscout-8.1}/webscout/Provider/AISEARCH/felo_search.py +1 -1
  13. {webscout-7.9 → webscout-8.1}/webscout/Provider/AISEARCH/genspark_search.py +1 -1
  14. webscout-8.1/webscout/Provider/AISEARCH/hika_search.py +194 -0
  15. webscout-8.1/webscout/Provider/AISEARCH/iask_search.py +436 -0
  16. webscout-8.1/webscout/Provider/AISEARCH/monica_search.py +246 -0
  17. webscout-8.1/webscout/Provider/AISEARCH/scira_search.py +320 -0
  18. webscout-8.1/webscout/Provider/AISEARCH/webpilotai_search.py +281 -0
  19. webscout-8.1/webscout/Provider/AllenAI.py +413 -0
  20. {webscout-7.9 → webscout-8.1}/webscout/Provider/DeepSeek.py +1 -2
  21. {webscout-7.9 → webscout-8.1}/webscout/Provider/Deepinfra.py +17 -9
  22. webscout-8.1/webscout/Provider/ExaAI.py +261 -0
  23. {webscout-7.9 → webscout-8.1}/webscout/Provider/ExaChat.py +8 -1
  24. {webscout-7.9 → webscout-8.1}/webscout/Provider/GithubChat.py +2 -1
  25. {webscout-7.9 → webscout-8.1}/webscout/Provider/Jadve.py +2 -2
  26. {webscout-7.9 → webscout-8.1}/webscout/Provider/Netwrck.py +3 -2
  27. webscout-8.1/webscout/Provider/OPENAI/__init__.py +17 -0
  28. webscout-8.1/webscout/Provider/OPENAI/base.py +46 -0
  29. webscout-8.1/webscout/Provider/OPENAI/c4ai.py +347 -0
  30. webscout-8.1/webscout/Provider/OPENAI/chatgptclone.py +460 -0
  31. webscout-8.1/webscout/Provider/OPENAI/deepinfra.py +284 -0
  32. webscout-8.1/webscout/Provider/OPENAI/exaai.py +419 -0
  33. webscout-8.1/webscout/Provider/OPENAI/exachat.py +421 -0
  34. webscout-8.1/webscout/Provider/OPENAI/freeaichat.py +355 -0
  35. webscout-8.1/webscout/Provider/OPENAI/glider.py +314 -0
  36. webscout-8.1/webscout/Provider/OPENAI/heckai.py +337 -0
  37. webscout-8.1/webscout/Provider/OPENAI/llmchatco.py +325 -0
  38. webscout-8.1/webscout/Provider/OPENAI/netwrck.py +348 -0
  39. webscout-8.1/webscout/Provider/OPENAI/scirachat.py +459 -0
  40. webscout-8.1/webscout/Provider/OPENAI/sonus.py +294 -0
  41. webscout-8.1/webscout/Provider/OPENAI/typegpt.py +361 -0
  42. webscout-8.1/webscout/Provider/OPENAI/utils.py +211 -0
  43. webscout-8.1/webscout/Provider/OPENAI/venice.py +428 -0
  44. webscout-8.1/webscout/Provider/OPENAI/wisecat.py +381 -0
  45. webscout-8.1/webscout/Provider/OPENAI/x0gpt.py +389 -0
  46. webscout-8.1/webscout/Provider/OPENAI/yep.py +329 -0
  47. webscout-8.1/webscout/Provider/OpenGPT.py +199 -0
  48. {webscout-7.9 → webscout-8.1}/webscout/Provider/PI.py +39 -24
  49. {webscout-7.9 → webscout-8.1}/webscout/Provider/Venice.py +1 -1
  50. {webscout-7.9 → webscout-8.1}/webscout/Provider/Youchat.py +326 -296
  51. {webscout-7.9 → webscout-8.1}/webscout/Provider/__init__.py +16 -6
  52. {webscout-7.9 → webscout-8.1}/webscout/Provider/ai4chat.py +58 -56
  53. {webscout-7.9 → webscout-8.1}/webscout/Provider/akashgpt.py +34 -22
  54. {webscout-7.9 → webscout-8.1}/webscout/Provider/freeaichat.py +1 -1
  55. {webscout-7.9 → webscout-8.1}/webscout/Provider/labyrinth.py +121 -20
  56. webscout-8.1/webscout/Provider/llmchatco.py +306 -0
  57. webscout-8.1/webscout/Provider/scira_chat.py +274 -0
  58. webscout-8.1/webscout/Provider/typefully.py +280 -0
  59. {webscout-7.9 → webscout-8.1}/webscout/Provider/typegpt.py +3 -184
  60. {webscout-7.9 → webscout-8.1}/webscout/prompt_manager.py +2 -1
  61. {webscout-7.9 → webscout-8.1}/webscout/version.py +1 -1
  62. {webscout-7.9 → webscout-8.1}/webscout/webscout_search.py +118 -54
  63. {webscout-7.9 → webscout-8.1}/webscout/webscout_search_async.py +109 -45
  64. webscout-8.1/webscout.egg-info/PKG-INFO +650 -0
  65. {webscout-7.9 → webscout-8.1}/webscout.egg-info/SOURCES.txt +35 -1
  66. webscout-7.9/PKG-INFO +0 -962
  67. webscout-7.9/README.md +0 -934
  68. webscout-7.9/webscout/Extra/YTToolkit/ytapi/video.py +0 -103
  69. webscout-7.9/webscout/Provider/AISEARCH/__init__.py +0 -4
  70. webscout-7.9/webscout/Provider/AllenAI.py +0 -280
  71. webscout-7.9/webscout/Provider/flowith.py +0 -207
  72. webscout-7.9/webscout.egg-info/PKG-INFO +0 -962
  73. {webscout-7.9 → webscout-8.1}/LICENSE.md +0 -0
  74. {webscout-7.9 → webscout-8.1}/setup.cfg +0 -0
  75. {webscout-7.9 → webscout-8.1}/setup.py +0 -0
  76. {webscout-7.9 → webscout-8.1}/webscout/AIauto.py +0 -0
  77. {webscout-7.9 → webscout-8.1}/webscout/AIbase.py +0 -0
  78. {webscout-7.9 → webscout-8.1}/webscout/AIutel.py +0 -0
  79. {webscout-7.9 → webscout-8.1}/webscout/Bard.py +0 -0
  80. {webscout-7.9 → webscout-8.1}/webscout/DWEBS.py +0 -0
  81. {webscout-7.9 → webscout-8.1}/webscout/Extra/YTToolkit/YTdownloader.py +0 -0
  82. {webscout-7.9 → webscout-8.1}/webscout/Extra/YTToolkit/__init__.py +0 -0
  83. {webscout-7.9 → webscout-8.1}/webscout/Extra/YTToolkit/transcriber.py +0 -0
  84. {webscout-7.9 → webscout-8.1}/webscout/Extra/YTToolkit/ytapi/__init__.py +0 -0
  85. {webscout-7.9 → webscout-8.1}/webscout/Extra/YTToolkit/ytapi/channel.py +0 -0
  86. {webscout-7.9 → webscout-8.1}/webscout/Extra/YTToolkit/ytapi/errors.py +0 -0
  87. {webscout-7.9 → webscout-8.1}/webscout/Extra/YTToolkit/ytapi/extras.py +0 -0
  88. {webscout-7.9 → webscout-8.1}/webscout/Extra/YTToolkit/ytapi/https.py +0 -0
  89. {webscout-7.9 → webscout-8.1}/webscout/Extra/YTToolkit/ytapi/patterns.py +0 -0
  90. {webscout-7.9 → webscout-8.1}/webscout/Extra/YTToolkit/ytapi/playlist.py +0 -0
  91. {webscout-7.9 → webscout-8.1}/webscout/Extra/YTToolkit/ytapi/pool.py +0 -0
  92. {webscout-7.9 → webscout-8.1}/webscout/Extra/YTToolkit/ytapi/query.py +0 -0
  93. {webscout-7.9 → webscout-8.1}/webscout/Extra/YTToolkit/ytapi/stream.py +0 -0
  94. {webscout-7.9 → webscout-8.1}/webscout/Extra/YTToolkit/ytapi/utils.py +0 -0
  95. {webscout-7.9 → webscout-8.1}/webscout/Extra/__init__.py +0 -0
  96. {webscout-7.9 → webscout-8.1}/webscout/Extra/autocoder/__init__.py +0 -0
  97. {webscout-7.9 → webscout-8.1}/webscout/Extra/autocoder/autocoder.py +0 -0
  98. {webscout-7.9 → webscout-8.1}/webscout/Extra/autocoder/autocoder_utiles.py +0 -0
  99. {webscout-7.9 → webscout-8.1}/webscout/Extra/gguf.py +0 -0
  100. {webscout-7.9 → webscout-8.1}/webscout/Extra/tempmail/__init__.py +0 -0
  101. {webscout-7.9 → webscout-8.1}/webscout/Extra/tempmail/async_utils.py +0 -0
  102. {webscout-7.9 → webscout-8.1}/webscout/Extra/tempmail/base.py +0 -0
  103. {webscout-7.9 → webscout-8.1}/webscout/Extra/tempmail/cli.py +0 -0
  104. {webscout-7.9 → webscout-8.1}/webscout/Extra/tempmail/mail_tm.py +0 -0
  105. {webscout-7.9 → webscout-8.1}/webscout/Extra/tempmail/temp_mail_io.py +0 -0
  106. {webscout-7.9 → webscout-8.1}/webscout/Extra/weather.py +0 -0
  107. {webscout-7.9 → webscout-8.1}/webscout/Extra/weather_ascii.py +0 -0
  108. {webscout-7.9 → webscout-8.1}/webscout/LLM.py +0 -0
  109. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/__init__.py +0 -0
  110. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/core/__init__.py +0 -0
  111. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/core/level.py +0 -0
  112. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/core/logger.py +0 -0
  113. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/handlers/__init__.py +0 -0
  114. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/handlers/console.py +0 -0
  115. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/handlers/file.py +0 -0
  116. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/handlers/network.py +0 -0
  117. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/styles/__init__.py +0 -0
  118. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/styles/colors.py +0 -0
  119. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/styles/formats.py +0 -0
  120. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/styles/text.py +0 -0
  121. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/utils/__init__.py +0 -0
  122. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/utils/detectors.py +0 -0
  123. {webscout-7.9 → webscout-8.1}/webscout/Litlogger/utils/formatters.py +0 -0
  124. {webscout-7.9 → webscout-8.1}/webscout/Provider/AI21.py +0 -0
  125. {webscout-7.9 → webscout-8.1}/webscout/Provider/Aitopia.py +0 -0
  126. {webscout-7.9 → webscout-8.1}/webscout/Provider/Andi.py +0 -0
  127. {webscout-7.9 → webscout-8.1}/webscout/Provider/Blackboxai.py +0 -0
  128. {webscout-7.9 → webscout-8.1}/webscout/Provider/C4ai.py +0 -0
  129. {webscout-7.9 → webscout-8.1}/webscout/Provider/ChatGPTClone.py +0 -0
  130. {webscout-7.9 → webscout-8.1}/webscout/Provider/ChatGPTES.py +0 -0
  131. {webscout-7.9 → webscout-8.1}/webscout/Provider/ChatGPTGratis.py +0 -0
  132. {webscout-7.9 → webscout-8.1}/webscout/Provider/Chatify.py +0 -0
  133. {webscout-7.9 → webscout-8.1}/webscout/Provider/Cloudflare.py +0 -0
  134. {webscout-7.9 → webscout-8.1}/webscout/Provider/Cohere.py +0 -0
  135. {webscout-7.9 → webscout-8.1}/webscout/Provider/ElectronHub.py +0 -0
  136. {webscout-7.9 → webscout-8.1}/webscout/Provider/Free2GPT.py +0 -0
  137. {webscout-7.9 → webscout-8.1}/webscout/Provider/GPTWeb.py +0 -0
  138. {webscout-7.9 → webscout-8.1}/webscout/Provider/Gemini.py +0 -0
  139. {webscout-7.9 → webscout-8.1}/webscout/Provider/Glider.py +0 -0
  140. {webscout-7.9 → webscout-8.1}/webscout/Provider/Groq.py +0 -0
  141. {webscout-7.9 → webscout-8.1}/webscout/Provider/HF_space/__init__.py +0 -0
  142. {webscout-7.9 → webscout-8.1}/webscout/Provider/HF_space/qwen_qwen2.py +0 -0
  143. {webscout-7.9 → webscout-8.1}/webscout/Provider/HeckAI.py +0 -0
  144. {webscout-7.9 → webscout-8.1}/webscout/Provider/HuggingFaceChat.py +0 -0
  145. {webscout-7.9 → webscout-8.1}/webscout/Provider/Hunyuan.py +0 -0
  146. {webscout-7.9 → webscout-8.1}/webscout/Provider/Koboldai.py +0 -0
  147. {webscout-7.9 → webscout-8.1}/webscout/Provider/LambdaChat.py +0 -0
  148. {webscout-7.9 → webscout-8.1}/webscout/Provider/Llama.py +0 -0
  149. {webscout-7.9 → webscout-8.1}/webscout/Provider/Llama3.py +0 -0
  150. {webscout-7.9 → webscout-8.1}/webscout/Provider/Marcus.py +0 -0
  151. {webscout-7.9 → webscout-8.1}/webscout/Provider/OLLAMA.py +0 -0
  152. {webscout-7.9 → webscout-8.1}/webscout/Provider/Openai.py +0 -0
  153. {webscout-7.9 → webscout-8.1}/webscout/Provider/Perplexitylabs.py +0 -0
  154. {webscout-7.9 → webscout-8.1}/webscout/Provider/Phind.py +0 -0
  155. {webscout-7.9 → webscout-8.1}/webscout/Provider/PizzaGPT.py +0 -0
  156. {webscout-7.9 → webscout-8.1}/webscout/Provider/QwenLM.py +0 -0
  157. {webscout-7.9 → webscout-8.1}/webscout/Provider/Reka.py +0 -0
  158. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/AiForce/__init__.py +0 -0
  159. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/AiForce/async_aiforce.py +0 -0
  160. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/AiForce/sync_aiforce.py +0 -0
  161. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/FreeAIPlayground/__init__.py +0 -0
  162. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/FreeAIPlayground/async_freeaiplayground.py +0 -0
  163. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/FreeAIPlayground/sync_freeaiplayground.py +0 -0
  164. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/ImgSys/__init__.py +0 -0
  165. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/ImgSys/async_imgsys.py +0 -0
  166. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/ImgSys/sync_imgsys.py +0 -0
  167. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/MagicStudio/__init__.py +0 -0
  168. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/MagicStudio/async_magicstudio.py +0 -0
  169. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/MagicStudio/sync_magicstudio.py +0 -0
  170. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/Nexra/__init__.py +0 -0
  171. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/Nexra/async_nexra.py +0 -0
  172. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/Nexra/sync_nexra.py +0 -0
  173. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/PollinationsAI/__init__.py +0 -0
  174. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/PollinationsAI/async_pollinations.py +0 -0
  175. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/PollinationsAI/sync_pollinations.py +0 -0
  176. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/__init__.py +0 -0
  177. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/aiarta/__init__.py +0 -0
  178. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/aiarta/async_aiarta.py +0 -0
  179. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/aiarta/sync_aiarta.py +0 -0
  180. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/artbit/__init__.py +0 -0
  181. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/artbit/async_artbit.py +0 -0
  182. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/artbit/sync_artbit.py +0 -0
  183. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/fastflux/__init__.py +0 -0
  184. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/fastflux/async_fastflux.py +0 -0
  185. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/fastflux/sync_fastflux.py +0 -0
  186. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/huggingface/__init__.py +0 -0
  187. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/huggingface/async_huggingface.py +0 -0
  188. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/huggingface/sync_huggingface.py +0 -0
  189. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/piclumen/__init__.py +0 -0
  190. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/piclumen/async_piclumen.py +0 -0
  191. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/piclumen/sync_piclumen.py +0 -0
  192. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/pixelmuse/__init__.py +0 -0
  193. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/pixelmuse/async_pixelmuse.py +0 -0
  194. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/pixelmuse/sync_pixelmuse.py +0 -0
  195. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/talkai/__init__.py +0 -0
  196. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/talkai/async_talkai.py +0 -0
  197. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTI/talkai/sync_talkai.py +0 -0
  198. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTS/__init__.py +0 -0
  199. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTS/deepgram.py +0 -0
  200. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTS/elevenlabs.py +0 -0
  201. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTS/gesserit.py +0 -0
  202. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTS/murfai.py +0 -0
  203. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTS/parler.py +0 -0
  204. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTS/speechma.py +0 -0
  205. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTS/streamElements.py +0 -0
  206. {webscout-7.9 → webscout-8.1}/webscout/Provider/TTS/utils.py +0 -0
  207. {webscout-7.9 → webscout-8.1}/webscout/Provider/TeachAnything.py +0 -0
  208. {webscout-7.9 → webscout-8.1}/webscout/Provider/TextPollinationsAI.py +0 -0
  209. {webscout-7.9 → webscout-8.1}/webscout/Provider/TwoAI.py +0 -0
  210. {webscout-7.9 → webscout-8.1}/webscout/Provider/VercelAI.py +0 -0
  211. {webscout-7.9 → webscout-8.1}/webscout/Provider/WebSim.py +0 -0
  212. {webscout-7.9 → webscout-8.1}/webscout/Provider/WiseCat.py +0 -0
  213. {webscout-7.9 → webscout-8.1}/webscout/Provider/aimathgpt.py +0 -0
  214. {webscout-7.9 → webscout-8.1}/webscout/Provider/askmyai.py +0 -0
  215. {webscout-7.9 → webscout-8.1}/webscout/Provider/asksteve.py +0 -0
  216. {webscout-7.9 → webscout-8.1}/webscout/Provider/bagoodex.py +0 -0
  217. {webscout-7.9 → webscout-8.1}/webscout/Provider/cerebras.py +0 -0
  218. {webscout-7.9 → webscout-8.1}/webscout/Provider/chatglm.py +0 -0
  219. {webscout-7.9 → webscout-8.1}/webscout/Provider/cleeai.py +0 -0
  220. {webscout-7.9 → webscout-8.1}/webscout/Provider/copilot.py +0 -0
  221. {webscout-7.9 → webscout-8.1}/webscout/Provider/elmo.py +0 -0
  222. {webscout-7.9 → webscout-8.1}/webscout/Provider/gaurish.py +0 -0
  223. {webscout-7.9 → webscout-8.1}/webscout/Provider/geminiapi.py +0 -0
  224. {webscout-7.9 → webscout-8.1}/webscout/Provider/geminiprorealtime.py +0 -0
  225. {webscout-7.9 → webscout-8.1}/webscout/Provider/granite.py +0 -0
  226. {webscout-7.9 → webscout-8.1}/webscout/Provider/hermes.py +0 -0
  227. {webscout-7.9 → webscout-8.1}/webscout/Provider/julius.py +0 -0
  228. {webscout-7.9 → webscout-8.1}/webscout/Provider/koala.py +0 -0
  229. {webscout-7.9 → webscout-8.1}/webscout/Provider/learnfastai.py +0 -0
  230. {webscout-7.9 → webscout-8.1}/webscout/Provider/lepton.py +0 -0
  231. {webscout-7.9 → webscout-8.1}/webscout/Provider/llama3mitril.py +0 -0
  232. {webscout-7.9 → webscout-8.1}/webscout/Provider/llamatutor.py +0 -0
  233. {webscout-7.9 → webscout-8.1}/webscout/Provider/llmchat.py +0 -0
  234. {webscout-7.9 → webscout-8.1}/webscout/Provider/meta.py +0 -0
  235. {webscout-7.9 → webscout-8.1}/webscout/Provider/multichat.py +0 -0
  236. {webscout-7.9 → webscout-8.1}/webscout/Provider/promptrefine.py +0 -0
  237. {webscout-7.9 → webscout-8.1}/webscout/Provider/searchchat.py +0 -0
  238. {webscout-7.9 → webscout-8.1}/webscout/Provider/sonus.py +0 -0
  239. {webscout-7.9 → webscout-8.1}/webscout/Provider/talkai.py +0 -0
  240. {webscout-7.9 → webscout-8.1}/webscout/Provider/turboseek.py +0 -0
  241. {webscout-7.9 → webscout-8.1}/webscout/Provider/tutorai.py +0 -0
  242. {webscout-7.9 → webscout-8.1}/webscout/Provider/uncovr.py +0 -0
  243. {webscout-7.9 → webscout-8.1}/webscout/Provider/x0gpt.py +0 -0
  244. {webscout-7.9 → webscout-8.1}/webscout/Provider/yep.py +0 -0
  245. {webscout-7.9 → webscout-8.1}/webscout/__init__.py +0 -0
  246. {webscout-7.9 → webscout-8.1}/webscout/__main__.py +0 -0
  247. {webscout-7.9 → webscout-8.1}/webscout/cli.py +0 -0
  248. {webscout-7.9 → webscout-8.1}/webscout/conversation.py +0 -0
  249. {webscout-7.9 → webscout-8.1}/webscout/exceptions.py +0 -0
  250. {webscout-7.9 → webscout-8.1}/webscout/litagent/__init__.py +0 -0
  251. {webscout-7.9 → webscout-8.1}/webscout/litagent/agent.py +0 -0
  252. {webscout-7.9 → webscout-8.1}/webscout/litagent/constants.py +0 -0
  253. {webscout-7.9 → webscout-8.1}/webscout/litprinter/__init__.py +0 -0
  254. {webscout-7.9 → webscout-8.1}/webscout/models.py +0 -0
  255. {webscout-7.9 → webscout-8.1}/webscout/optimizers.py +0 -0
  256. {webscout-7.9 → webscout-8.1}/webscout/scout/__init__.py +0 -0
  257. {webscout-7.9 → webscout-8.1}/webscout/scout/core/__init__.py +0 -0
  258. {webscout-7.9 → webscout-8.1}/webscout/scout/core/crawler.py +0 -0
  259. {webscout-7.9 → webscout-8.1}/webscout/scout/core/scout.py +0 -0
  260. {webscout-7.9 → webscout-8.1}/webscout/scout/core/search_result.py +0 -0
  261. {webscout-7.9 → webscout-8.1}/webscout/scout/core/text_analyzer.py +0 -0
  262. {webscout-7.9 → webscout-8.1}/webscout/scout/core/text_utils.py +0 -0
  263. {webscout-7.9 → webscout-8.1}/webscout/scout/core/web_analyzer.py +0 -0
  264. {webscout-7.9 → webscout-8.1}/webscout/scout/core.py +0 -0
  265. {webscout-7.9 → webscout-8.1}/webscout/scout/element.py +0 -0
  266. {webscout-7.9 → webscout-8.1}/webscout/scout/parsers/__init__.py +0 -0
  267. {webscout-7.9 → webscout-8.1}/webscout/scout/parsers/html5lib_parser.py +0 -0
  268. {webscout-7.9 → webscout-8.1}/webscout/scout/parsers/html_parser.py +0 -0
  269. {webscout-7.9 → webscout-8.1}/webscout/scout/parsers/lxml_parser.py +0 -0
  270. {webscout-7.9 → webscout-8.1}/webscout/scout/utils.py +0 -0
  271. {webscout-7.9 → webscout-8.1}/webscout/swiftcli/__init__.py +0 -0
  272. {webscout-7.9 → webscout-8.1}/webscout/tempid.py +0 -0
  273. {webscout-7.9 → webscout-8.1}/webscout/update_checker.py +0 -0
  274. {webscout-7.9 → webscout-8.1}/webscout/utils.py +0 -0
  275. {webscout-7.9 → webscout-8.1}/webscout/yep_search.py +0 -0
  276. {webscout-7.9 → webscout-8.1}/webscout/zeroart/__init__.py +0 -0
  277. {webscout-7.9 → webscout-8.1}/webscout/zeroart/base.py +0 -0
  278. {webscout-7.9 → webscout-8.1}/webscout/zeroart/effects.py +0 -0
  279. {webscout-7.9 → webscout-8.1}/webscout/zeroart/fonts.py +0 -0
  280. {webscout-7.9 → webscout-8.1}/webscout.egg-info/dependency_links.txt +0 -0
  281. {webscout-7.9 → webscout-8.1}/webscout.egg-info/entry_points.txt +0 -0
  282. {webscout-7.9 → webscout-8.1}/webscout.egg-info/requires.txt +0 -0
  283. {webscout-7.9 → webscout-8.1}/webscout.egg-info/top_level.txt +0 -0
  284. {webscout-7.9 → webscout-8.1}/webstoken/__init__.py +0 -0
  285. {webscout-7.9 → webscout-8.1}/webstoken/classifier.py +0 -0
  286. {webscout-7.9 → webscout-8.1}/webstoken/keywords.py +0 -0
  287. {webscout-7.9 → webscout-8.1}/webstoken/language.py +0 -0
  288. {webscout-7.9 → webscout-8.1}/webstoken/ner.py +0 -0
  289. {webscout-7.9 → webscout-8.1}/webstoken/normalizer.py +0 -0
  290. {webscout-7.9 → webscout-8.1}/webstoken/processor.py +0 -0
  291. {webscout-7.9 → webscout-8.1}/webstoken/sentiment.py +0 -0
  292. {webscout-7.9 → webscout-8.1}/webstoken/stemmer.py +0 -0
  293. {webscout-7.9 → webscout-8.1}/webstoken/tagger.py +0 -0
  294. {webscout-7.9 → webscout-8.1}/webstoken/tokenizer.py +0 -0
webscout-8.1/PKG-INFO ADDED
@@ -0,0 +1,650 @@
1
+ Metadata-Version: 2.1
2
+ Name: webscout
3
+ Version: 8.1
4
+ Summary: Search for anything using Google, DuckDuckGo, phind.com, Contains AI models, can transcribe yt videos, temporary email and phone number generation, has TTS support, webai (terminal gpt and open interpreter) and offline LLMs and more
5
+ Author: OEvortex
6
+ Author-email: helpingai5@gmail.com
7
+ License: HelpingAI
8
+ Project-URL: Source, https://github.com/OE-LUCIFER/Webscout
9
+ Project-URL: Tracker, https://github.com/OE-LUCIFER/Webscout/issues
10
+ Project-URL: YouTube, https://youtube.com/@OEvortex
11
+ Classifier: Development Status :: 5 - Production/Stable
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: License :: Other/Proprietary License
14
+ Classifier: Operating System :: OS Independent
15
+ Classifier: Programming Language :: Python :: 3
16
+ Classifier: Programming Language :: Python :: 3.9
17
+ Classifier: Programming Language :: Python :: 3.10
18
+ Classifier: Programming Language :: Python :: 3.11
19
+ Classifier: Programming Language :: Python :: 3.12
20
+ Classifier: Programming Language :: Python :: 3.13
21
+ Classifier: Programming Language :: Python :: Implementation :: CPython
22
+ Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
23
+ Classifier: Topic :: Software Development :: Libraries :: Python Modules
24
+ Requires-Python: >=3.9
25
+ Description-Content-Type: text/markdown
26
+ Provides-Extra: dev
27
+ License-File: LICENSE.md
28
+
29
+ <div align="center">
30
+ <a href="https://github.com/OEvortex/Webscout">
31
+ <img src="https://img.shields.io/badge/WebScout-Ultimate%20Toolkit-blue?style=for-the-badge&logo=python&logoColor=white" alt="WebScout Logo">
32
+ </a>
33
+
34
+ <h1>Webscout</h1>
35
+
36
+ <p><strong>Your All-in-One Python Toolkit for Web Search, AI Interaction, Digital Utilities, and More</strong></p>
37
+
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
+ </p>
49
+ </div>
50
+
51
+ > [!IMPORTANT]
52
+ > Webscout supports two types of compatibility:
53
+ > - **Native Compatibility:** Webscout's own native API for maximum flexibility
54
+ > - **OpenAI Compatibility:** Use providers with OpenAI-compatible interfaces
55
+ >
56
+ > Choose the approach that best fits your needs! For OpenAI compatibility, check the [OpenAI Providers README](webscout/Provider/OPENAI/README.md).
57
+
58
+ > [!NOTE]
59
+ > Webscout supports over 90 AI providers including: LLAMA, C4ai, Venice, Copilot, HuggingFaceChat, PerplexityLabs, DeepSeek, WiseCat, GROQ, OPENAI, GEMINI, DeepInfra, Meta, YEPCHAT, TypeGPT, ChatGPTClone, ExaAI, Claude, Anthropic, Cloudflare, AI21, Cerebras, and many more. All providers follow similar usage patterns with consistent interfaces.
60
+
61
+ <div align="center">
62
+ <!-- Social/Support Links -->
63
+ <p>
64
+ <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>
65
+ <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>
66
+ <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>
67
+ <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>
68
+ <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>
69
+ <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>
70
+ </p>
71
+ </div>
72
+
73
+
74
+ ## 🚀 Features
75
+
76
+ ### Search & AI
77
+ * **Comprehensive Search:** Leverage Google, DuckDuckGo, and Yep for diverse search results
78
+ * **AI Powerhouse:** Access and interact with various AI models through two compatibility options:
79
+ * **Native API:** Use Webscout's native interfaces for providers like OpenAI, Cohere, Gemini, and many more
80
+ * **[OpenAI-Compatible Providers](webscout/Provider/OPENAI/README.md):** Seamlessly integrate with various AI providers using standardized OpenAI-compatible interfaces
81
+ * **[AI Search](webscout/Provider/AISEARCH/README.md):** AI-powered search engines with advanced capabilities
82
+
83
+ ### Media & Content Tools
84
+ * **[YouTube Toolkit](webscout/Extra/YTToolkit/README.md):** Advanced YouTube video and transcript management with multi-language support
85
+ * **[Text-to-Speech (TTS)](webscout/Provider/TTS/README.md):** Convert text into natural-sounding speech using multiple AI-powered providers
86
+ * **[Text-to-Image](webscout/Provider/TTI/README.md):** Generate high-quality images using a wide range of AI art providers
87
+ * **[Weather Tools](webscout/Extra/weather.md):** Retrieve detailed weather information for any location
88
+
89
+ ### Developer Tools
90
+ * **[GitAPI](webscout/Extra/GitToolkit/gitapi):** Powerful GitHub data extraction toolkit without authentication requirements for public data
91
+ * **[SwiftCLI](webscout/swiftcli/Readme.md):** A powerful and elegant CLI framework for beautiful command-line interfaces
92
+ * **[LitPrinter](webscout/litprinter/Readme.md):** Styled console output with rich formatting and colors
93
+ * **[LitLogger](webscout/litlogger/Readme.md):** Simplified logging with customizable formats and color schemes
94
+ * **[LitAgent](webscout/litagent/Readme.md):** Modern user agent generator that keeps your requests undetectable
95
+ * **[Scout](webscout/scout/README.md):** Advanced web parsing and crawling library with intelligent HTML/XML parsing
96
+ * **GGUF Conversion:** Convert and quantize Hugging Face models to GGUF format
97
+
98
+ ### Privacy & Utilities
99
+ * **[Tempmail](webscout/Extra/tempmail/README.md) & Temp Number:** Generate temporary email addresses and phone numbers
100
+ * **[Awesome Prompts](webscout/Extra/Act.md):** Curated collection of system prompts for specialized AI personas
101
+
102
+ ## ⚙️ Installation
103
+
104
+ Install Webscout using pip:
105
+
106
+ ```bash
107
+ pip install -U webscout
108
+ ```
109
+
110
+ ## 🖥️ Command Line Interface
111
+
112
+ Webscout provides a powerful command-line interface for quick access to its features:
113
+
114
+ ```bash
115
+ python -m webscout --help
116
+ ```
117
+
118
+ | Command | Description |
119
+ |---------|-------------|
120
+ | `python -m webscout answers -k "query"` | Perform an answers search |
121
+ | `python -m webscout chat` | Start an interactive AI chat session |
122
+ | `python -m webscout images -k "query"` | Search for images |
123
+ | `python -m webscout maps -k "query"` | Perform a maps search |
124
+ | `python -m webscout news -k "query"` | Search for news articles |
125
+ | `python -m webscout suggestions -k "query"` | Get search suggestions |
126
+ | `python -m webscout text -k "query"` | Perform a text search |
127
+ | `python -m webscout translate -k "text"` | Translate text |
128
+ | `python -m webscout version` | Display the current version |
129
+ | `python -m webscout videos -k "query"` | Search for videos |
130
+ | `python -m webscout weather -l "location"` | Get weather information |
131
+
132
+
133
+
134
+ ## 🔍 Search Engines
135
+
136
+ Webscout provides multiple search engine interfaces for diverse search capabilities.
137
+
138
+ ### YepSearch - Yep.com Interface
139
+
140
+ ```python
141
+ from webscout import YepSearch
142
+
143
+ # Initialize YepSearch
144
+ yep = YepSearch(
145
+ timeout=20, # Optional: Set custom timeout
146
+ proxies=None, # Optional: Use proxies
147
+ verify=True # Optional: SSL verification
148
+ )
149
+
150
+ # Text Search
151
+ text_results = yep.text(
152
+ keywords="artificial intelligence",
153
+ region="all", # Optional: Region for results
154
+ safesearch="moderate", # Optional: "on", "moderate", "off"
155
+ max_results=10 # Optional: Limit number of results
156
+ )
157
+
158
+ # Image Search
159
+ image_results = yep.images(
160
+ keywords="nature photography",
161
+ region="all",
162
+ safesearch="moderate",
163
+ max_results=10
164
+ )
165
+
166
+ # Get search suggestions
167
+ suggestions = yep.suggestions("hist")
168
+ ```
169
+
170
+ ### GoogleSearch - Google Interface
171
+
172
+ ```python
173
+ from webscout import GoogleSearch
174
+
175
+ # Initialize GoogleSearch
176
+ google = GoogleSearch(
177
+ timeout=10, # Optional: Set custom timeout
178
+ proxies=None, # Optional: Use proxies
179
+ verify=True # Optional: SSL verification
180
+ )
181
+
182
+ # Text Search
183
+ text_results = google.text(
184
+ keywords="artificial intelligence",
185
+ region="us", # Optional: Region for results
186
+ safesearch="moderate", # Optional: "on", "moderate", "off"
187
+ max_results=10 # Optional: Limit number of results
188
+ )
189
+ for result in text_results:
190
+ print(f"Title: {result.title}")
191
+ print(f"URL: {result.url}")
192
+ print(f"Description: {result.description}")
193
+
194
+ # News Search
195
+ news_results = google.news(
196
+ keywords="technology trends",
197
+ region="us",
198
+ safesearch="moderate",
199
+ max_results=5
200
+ )
201
+
202
+ # Get search suggestions
203
+ suggestions = google.suggestions("how to")
204
+
205
+ # Legacy usage is still supported
206
+ from webscout import search
207
+ results = search("Python programming", num_results=5)
208
+ ```
209
+
210
+ ## 🦆 DuckDuckGo Search with WEBS and AsyncWEBS
211
+
212
+ Webscout provides powerful interfaces to DuckDuckGo's search capabilities through the `WEBS` and `AsyncWEBS` classes.
213
+
214
+ ### Synchronous Usage with WEBS
215
+
216
+ ```python
217
+ from webscout import WEBS
218
+
219
+ # Use as a context manager for proper resource management
220
+ with WEBS() as webs:
221
+ # Simple text search
222
+ results = webs.text("python programming", max_results=5)
223
+ for result in results:
224
+ print(f"Title: {result['title']}\nURL: {result['url']}")
225
+ ```
226
+
227
+ ### Asynchronous Usage with AsyncWEBS
228
+
229
+ ```python
230
+ import asyncio
231
+ from webscout import AsyncWEBS
232
+
233
+ async def search_multiple_terms(search_terms):
234
+ async with AsyncWEBS() as webs:
235
+ # Create tasks for each search term
236
+ tasks = [webs.text(term, max_results=5) for term in search_terms]
237
+ # Run all searches concurrently
238
+ results = await asyncio.gather(*tasks)
239
+ return results
240
+
241
+ async def main():
242
+ terms = ["python", "javascript", "machine learning"]
243
+ all_results = await search_multiple_terms(terms)
244
+
245
+ # Process results
246
+ for i, term_results in enumerate(all_results):
247
+ print(f"Results for '{terms[i]}':\n")
248
+ for result in term_results:
249
+ print(f"- {result['title']}")
250
+ print("\n")
251
+
252
+ # Run the async function
253
+ asyncio.run(main())
254
+ ```
255
+
256
+ > [!NOTE]
257
+ > Always use these classes with a context manager (`with` statement) to ensure proper resource management and cleanup.
258
+
259
+ ## 💻 WEBS API Reference
260
+
261
+ The WEBS class provides comprehensive access to DuckDuckGo's search capabilities through a clean, intuitive API.
262
+
263
+ ### Available Search Methods
264
+
265
+ | Method | Description | Example |
266
+ |--------|-------------|--------|
267
+ | `text()` | General web search | `webs.text('python programming')` |
268
+ | `answers()` | Instant answers | `webs.answers('population of france')` |
269
+ | `images()` | Image search | `webs.images('nature photography')` |
270
+ | `videos()` | Video search | `webs.videos('documentary')` |
271
+ | `news()` | News articles | `webs.news('technology')` |
272
+ | `maps()` | Location search | `webs.maps('restaurants', place='new york')` |
273
+ | `translate()` | Text translation | `webs.translate('hello', to='es')` |
274
+ | `suggestions()` | Search suggestions | `webs.suggestions('how to')` |
275
+ | `weather()` | Weather information | `webs.weather('london')` |
276
+
277
+ ### Example: Text Search
278
+
279
+ ```python
280
+ from webscout import WEBS
281
+
282
+ with WEBS() as webs:
283
+ results = webs.text(
284
+ 'artificial intelligence',
285
+ region='wt-wt', # Optional: Region for results
286
+ safesearch='off', # Optional: 'on', 'moderate', 'off'
287
+ timelimit='y', # Optional: Time limit ('d'=day, 'w'=week, 'm'=month, 'y'=year)
288
+ max_results=10 # Optional: Limit number of results
289
+ )
290
+
291
+ for result in results:
292
+ print(f"Title: {result['title']}")
293
+ print(f"URL: {result['url']}")
294
+ print(f"Description: {result['body']}\n")
295
+ ```
296
+
297
+ ### Example: News Search with Formatting
298
+
299
+ ```python
300
+ from webscout import WEBS
301
+ import datetime
302
+
303
+ def fetch_formatted_news(keywords, timelimit='d', max_results=20):
304
+ """Fetch and format news articles"""
305
+ with WEBS() as webs:
306
+ # Get news results
307
+ news_results = webs.news(
308
+ keywords,
309
+ region="wt-wt",
310
+ safesearch="off",
311
+ timelimit=timelimit, # 'd'=day, 'w'=week, 'm'=month
312
+ max_results=max_results
313
+ )
314
+
315
+ # Format the results
316
+ formatted_news = []
317
+ for i, item in enumerate(news_results, 1):
318
+ # Format the date
319
+ date = datetime.datetime.fromisoformat(item['date']).strftime('%B %d, %Y')
320
+
321
+ # Create formatted entry
322
+ entry = f"{i}. {item['title']}\n"
323
+ entry += f" Published: {date}\n"
324
+ entry += f" {item['body']}\n"
325
+ entry += f" URL: {item['url']}\n"
326
+
327
+ formatted_news.append(entry)
328
+
329
+ return formatted_news
330
+
331
+ # Example usage
332
+ news = fetch_formatted_news('artificial intelligence', timelimit='w', max_results=5)
333
+ print('\n'.join(news))
334
+ ```
335
+
336
+ ### Example: Weather Information
337
+
338
+ ```python
339
+ from webscout import WEBS
340
+
341
+ with WEBS() as webs:
342
+ # Get weather for a location
343
+ weather = webs.weather("New York")
344
+
345
+ # Access weather data
346
+ if weather:
347
+ print(f"Location: {weather.get('location', 'Unknown')}")
348
+ print(f"Temperature: {weather.get('temperature', 'N/A')}")
349
+ print(f"Conditions: {weather.get('condition', 'N/A')}")
350
+ ```
351
+
352
+ ## 🤖 AI Models and Voices
353
+
354
+ Webscout provides easy access to a wide range of AI models and voice options.
355
+
356
+ ### LLM Models
357
+
358
+ Access and manage Large Language Models with Webscout's model utilities.
359
+
360
+ ```python
361
+ from webscout import model
362
+ from rich import print
363
+
364
+ # List all available LLM models
365
+ all_models = model.llm.list()
366
+ print(f"Total available models: {len(all_models)}")
367
+
368
+ # Get a summary of models by provider
369
+ summary = model.llm.summary()
370
+ print("Models by provider:")
371
+ for provider, count in summary.items():
372
+ print(f" {provider}: {count} models")
373
+
374
+ # Get models for a specific provider
375
+ provider_name = "PerplexityLabs"
376
+ available_models = model.llm.get(provider_name)
377
+ print(f"\n{provider_name} models:")
378
+ if isinstance(available_models, list):
379
+ for i, model_name in enumerate(available_models, 1):
380
+ print(f" {i}. {model_name}")
381
+ else:
382
+ print(f" {available_models}")
383
+ ```
384
+
385
+ ### TTS Voices
386
+
387
+ Access and manage Text-to-Speech voices across multiple providers.
388
+
389
+ ```python
390
+ from webscout import model
391
+ from rich import print
392
+
393
+ # List all available TTS voices
394
+ all_voices = model.tts.list()
395
+ print(f"Total available voices: {len(all_voices)}")
396
+
397
+ # Get a summary of voices by provider
398
+ summary = model.tts.summary()
399
+ print("\nVoices by provider:")
400
+ for provider, count in summary.items():
401
+ print(f" {provider}: {count} voices")
402
+
403
+ # Get voices for a specific provider
404
+ provider_name = "ElevenlabsTTS"
405
+ available_voices = model.tts.get(provider_name)
406
+ print(f"\n{provider_name} voices:")
407
+ if isinstance(available_voices, dict):
408
+ for voice_name, voice_id in list(available_voices.items())[:5]: # Show first 5 voices
409
+ print(f" - {voice_name}: {voice_id}")
410
+ if len(available_voices) > 5:
411
+ print(f" ... and {len(available_voices) - 5} more")
412
+ ```
413
+
414
+ ## 💬 AI Chat Providers
415
+
416
+ Webscout offers a comprehensive collection of AI chat providers, giving you access to various language models through a consistent interface.
417
+
418
+ ### Popular AI Providers
419
+
420
+ | Provider | Description | Key Features |
421
+ |----------|-------------|-------------|
422
+ | `OPENAI` | OpenAI's models | GPT-3.5, GPT-4, tool calling |
423
+ | `GEMINI` | Google's Gemini models | Web search capabilities |
424
+ | `Meta` | Meta's AI assistant | Image generation, web search |
425
+ | `GROQ` | Fast inference platform | High-speed inference, tool calling |
426
+ | `LLAMA` | Meta's Llama models | Open weights models |
427
+ | `DeepInfra` | Various open models | Multiple model options |
428
+ | `Cohere` | Cohere's language models | Command models |
429
+ | `PerplexityLabs` | Perplexity AI | Web search integration |
430
+ | `Anthropic` | Claude models | Long context windows |
431
+ | `YEPCHAT` | Yep.com's AI | Streaming responses |
432
+ | `ChatGPTClone` | ChatGPT-like interface | Multiple model options |
433
+ | `TypeGPT` | TypeChat models | Code generation focus |
434
+
435
+ ### Example: Using Duckchat
436
+
437
+ ```python
438
+ from webscout import WEBS
439
+
440
+ # Initialize and use Duckchat
441
+ with WEBS() as webs:
442
+ response = webs.chat(
443
+ "Explain quantum computing in simple terms",
444
+ model='gpt-4o-mini' # Options: mixtral-8x7b, llama-3.1-70b, claude-3-haiku, etc.
445
+ )
446
+ print(response)
447
+ ```
448
+
449
+ ### Example: Using Meta AI
450
+
451
+ ```python
452
+ from webscout import Meta
453
+
454
+ # For basic usage (no authentication required)
455
+ meta_ai = Meta()
456
+
457
+ # Simple text prompt
458
+ response = meta_ai.chat("What is the capital of France?")
459
+ print(response)
460
+
461
+ # For authenticated usage with web search and image generation
462
+ meta_ai = Meta(fb_email="your_email@example.com", fb_password="your_password")
463
+
464
+ # Text prompt with web search
465
+ response = meta_ai.ask("What are the latest developments in quantum computing?")
466
+ print(response["message"])
467
+ print("Sources:", response["sources"])
468
+
469
+ # Image generation
470
+ response = meta_ai.ask("Create an image of a futuristic city")
471
+ for media in response.get("media", []):
472
+ print(media["url"])
473
+ ```
474
+
475
+ ### Example: GROQ with Tool Calling
476
+
477
+ ```python
478
+ from webscout import GROQ, WEBS
479
+ import json
480
+
481
+ # Initialize GROQ client
482
+ client = GROQ(api_key="your_api_key")
483
+
484
+ # Define helper functions
485
+ def calculate(expression):
486
+ """Evaluate a mathematical expression"""
487
+ try:
488
+ result = eval(expression)
489
+ return json.dumps({"result": result})
490
+ except Exception as e:
491
+ return json.dumps({"error": str(e)})
492
+
493
+ def search(query):
494
+ """Perform a web search"""
495
+ try:
496
+ results = WEBS().text(query, max_results=3)
497
+ return json.dumps({"results": results})
498
+ except Exception as e:
499
+ return json.dumps({"error": str(e)})
500
+
501
+ # Register functions with GROQ
502
+ client.add_function("calculate", calculate)
503
+ client.add_function("search", search)
504
+
505
+ # Define tool specifications
506
+ tools = [
507
+ {
508
+ "type": "function",
509
+ "function": {
510
+ "name": "calculate",
511
+ "description": "Evaluate a mathematical expression",
512
+ "parameters": {
513
+ "type": "object",
514
+ "properties": {
515
+ "expression": {
516
+ "type": "string",
517
+ "description": "The mathematical expression to evaluate"
518
+ }
519
+ },
520
+ "required": ["expression"]
521
+ }
522
+ }
523
+ },
524
+ {
525
+ "type": "function",
526
+ "function": {
527
+ "name": "search",
528
+ "description": "Perform a web search",
529
+ "parameters": {
530
+ "type": "object",
531
+ "properties": {
532
+ "query": {
533
+ "type": "string",
534
+ "description": "The search query"
535
+ }
536
+ },
537
+ "required": ["query"]
538
+ }
539
+ }
540
+ }
541
+ ]
542
+
543
+ # Use the tools
544
+ response = client.chat("What is 25 * 4 + 10?", tools=tools)
545
+ print(response)
546
+
547
+ response = client.chat("Find information about quantum computing", tools=tools)
548
+ print(response)
549
+ ```
550
+
551
+ ## 👨‍💻 Advanced AI Interfaces
552
+
553
+ ### Direct Model Access with LLM and VLM
554
+
555
+ Webscout provides direct interfaces to language and vision-language models through the `LLM` and `VLM` classes.
556
+
557
+ ```python
558
+ from webscout.LLM import LLM, VLM
559
+
560
+ # Text-only model interaction
561
+ llm = LLM("meta-llama/Meta-Llama-3-70B-Instruct")
562
+ response = llm.chat([
563
+ {"role": "user", "content": "Explain the concept of neural networks"}
564
+ ])
565
+ print(response)
566
+
567
+ # Vision-language model interaction
568
+ vlm = VLM("cogvlm-grounding-generalist")
569
+ response = vlm.chat([
570
+ {
571
+ "role": "user",
572
+ "content": [
573
+ {"type": "image", "image_url": "path/to/image.jpg"},
574
+ {"type": "text", "text": "Describe what you see in this image"}
575
+ ]
576
+ }
577
+ ])
578
+ print(response)
579
+ ```
580
+
581
+ ### GGUF Model Conversion
582
+
583
+ Webscout provides tools to convert and quantize Hugging Face models into the GGUF format for offline use.
584
+
585
+ ```python
586
+ from webscout.Extra.gguf import ModelConverter
587
+
588
+ # Create a converter instance
589
+ converter = ModelConverter(
590
+ model_id="mistralai/Mistral-7B-Instruct-v0.2", # Hugging Face model ID
591
+ quantization_methods="q4_k_m" # Quantization method
592
+ )
593
+
594
+ # Run the conversion
595
+ converter.convert()
596
+ ```
597
+
598
+ #### Available Quantization Methods
599
+
600
+ | Method | Description |
601
+ |--------|-------------|
602
+ | `fp16` | 16-bit floating point - maximum accuracy, largest size |
603
+ | `q2_k` | 2-bit quantization (smallest size, lowest accuracy) |
604
+ | `q3_k_l` | 3-bit quantization (large) - balanced for size/accuracy |
605
+ | `q3_k_m` | 3-bit quantization (medium) - good balance for most use cases |
606
+ | `q3_k_s` | 3-bit quantization (small) - optimized for speed |
607
+ | `q4_0` | 4-bit quantization (version 0) - standard 4-bit compression |
608
+ | `q4_1` | 4-bit quantization (version 1) - improved accuracy over q4_0 |
609
+ | `q4_k_m` | 4-bit quantization (medium) - balanced for most models |
610
+ | `q4_k_s` | 4-bit quantization (small) - optimized for speed |
611
+ | `q5_0` | 5-bit quantization (version 0) - high accuracy, larger size |
612
+ | `q5_1` | 5-bit quantization (version 1) - improved accuracy over q5_0 |
613
+ | `q5_k_m` | 5-bit quantization (medium) - best balance for quality/size |
614
+ | `q5_k_s` | 5-bit quantization (small) - optimized for speed |
615
+ | `q6_k` | 6-bit quantization - highest accuracy, largest size |
616
+ | `q8_0` | 8-bit quantization - maximum accuracy, largest size |
617
+
618
+ #### Command Line Usage
619
+
620
+ ```bash
621
+ python -m webscout.Extra.gguf convert -m "mistralai/Mistral-7B-Instruct-v0.2" -q "q4_k_m"
622
+ ```
623
+
624
+ <div align="center">
625
+ <p>
626
+ <a href="https://youtube.com/@OEvortex">▶️ Vortex's YouTube Channel</a> |
627
+ <a href="https://t.me/ANONYMOUS_56788">📢 Anonymous Coder's Telegram</a>
628
+ </p>
629
+ </div>
630
+
631
+ ## 🤝 Contributing
632
+
633
+ Contributions are welcome! If you'd like to contribute to Webscout, please follow these steps:
634
+
635
+ 1. Fork the repository
636
+ 2. Create a new branch for your feature or bug fix
637
+ 3. Make your changes and commit them with descriptive messages
638
+ 4. Push your branch to your forked repository
639
+ 5. Submit a pull request to the main repository
640
+
641
+ ## 🙏 Acknowledgments
642
+
643
+ * All the amazing developers who have contributed to the project
644
+ * The open-source community for their support and inspiration
645
+
646
+ ---
647
+
648
+ <div align="center">
649
+ <p>Made with ❤️ by the Webscout team</p>
650
+ </div>