webscout 6.1__py3-none-any.whl → 6.2b0__py3-none-any.whl

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.

Potentially problematic release.


This version of webscout might be problematic. Click here for more details.

Files changed (44) hide show
  1. webscout/AIauto.py +77 -259
  2. webscout/Agents/functioncall.py +2 -2
  3. webscout/Extra/autollama.py +37 -20
  4. webscout/Local/utils.py +37 -12
  5. webscout/Provider/Amigo.py +50 -37
  6. webscout/Provider/Deepseek.py +7 -6
  7. webscout/Provider/EDITEE.py +2 -2
  8. webscout/Provider/GPTWeb.py +1 -1
  9. webscout/Provider/NinjaChat.py +2 -2
  10. webscout/Provider/OLLAMA.py +1 -1
  11. webscout/Provider/Perplexity.py +1 -1
  12. webscout/Provider/Reka.py +12 -5
  13. webscout/Provider/TTI/AIuncensored.py +103 -0
  14. webscout/Provider/TTI/__init__.py +2 -2
  15. webscout/Provider/TeachAnything.py +0 -3
  16. webscout/Provider/__init__.py +4 -10
  17. webscout/Provider/cerebras.py +125 -118
  18. webscout/Provider/cleeai.py +1 -1
  19. webscout/Provider/felo_search.py +1 -1
  20. webscout/Provider/gaurish.py +41 -2
  21. webscout/Provider/geminiprorealtime.py +1 -1
  22. webscout/Provider/genspark.py +1 -1
  23. webscout/Provider/julius.py +4 -3
  24. webscout/Provider/learnfastai.py +1 -1
  25. webscout/Provider/promptrefine.py +3 -1
  26. webscout/Provider/turboseek.py +3 -8
  27. webscout/Provider/tutorai.py +1 -1
  28. webscout/__init__.py +2 -43
  29. webscout/tempid.py +4 -73
  30. webscout/version.py +1 -1
  31. webscout/webai.py +1 -1
  32. {webscout-6.1.dist-info → webscout-6.2b0.dist-info}/METADATA +36 -119
  33. {webscout-6.1.dist-info → webscout-6.2b0.dist-info}/RECORD +37 -43
  34. webscout/Provider/BasedGPT.py +0 -214
  35. webscout/Provider/ChatHub.py +0 -209
  36. webscout/Provider/TTI/amigo.py +0 -148
  37. webscout/Provider/aigames.py +0 -213
  38. webscout/Provider/bixin.py +0 -264
  39. webscout/Provider/xdash.py +0 -182
  40. webscout/websx_search.py +0 -19
  41. {webscout-6.1.dist-info → webscout-6.2b0.dist-info}/LICENSE.md +0 -0
  42. {webscout-6.1.dist-info → webscout-6.2b0.dist-info}/WHEEL +0 -0
  43. {webscout-6.1.dist-info → webscout-6.2b0.dist-info}/entry_points.txt +0 -0
  44. {webscout-6.1.dist-info → webscout-6.2b0.dist-info}/top_level.txt +0 -0
webscout/tempid.py CHANGED
@@ -1,3 +1,4 @@
1
+ import json
1
2
  import aiohttp
2
3
  from dataclasses import dataclass
3
4
  from bs4 import BeautifulSoup
@@ -33,7 +34,7 @@ class MessageResponseModel:
33
34
  email_to: str | None
34
35
 
35
36
 
36
- class Client:
37
+ class TempMail:
37
38
  def __init__(self):
38
39
  self._session = aiohttp.ClientSession(
39
40
  base_url="https://api.internal.temp-mail.io",
@@ -51,7 +52,7 @@ class Client:
51
52
  async def __aenter__(self):
52
53
  return self
53
54
 
54
- async def __aexit__(self) -> None:
55
+ async def __aexit__(self, exc_type, exc_val, exc_tb):
55
56
  await self.close()
56
57
  return None
57
58
 
@@ -80,76 +81,6 @@ class Client:
80
81
  return [MessageResponseModel(message['attachments'], message['body_html'], message['body_text'], message['cc'], message['created_at'], message['from'], message['id'], message['subject'], message['to']) for message in response_json]
81
82
 
82
83
 
83
- class TemporaryPhoneNumber:
84
- def __init__(self):
85
- self.maxpages = {"UK": 59, "US": 3, "France": 73, "Netherlands": 60, "Finland": 47}
86
- self.minpages = {"UK": 20, "US": 1, "France": 20, "Netherlands": 20, "Finland": 20}
87
- self.plist = {"UK": "+44", "US": "+1", "France": "+33", "Netherlands": "+31", "Finland": "+358"}
88
- self.countries = {"44": "UK", "1": "US", "33": "France", "31": "Netherlands", "358": "Finland"}
89
-
90
- def get_number(self, country="UK"):
91
- if country == "Random":
92
- country = random.choice(list(self.countries.values()))
93
- if country not in self.countries.values():
94
- raise ValueError("Unsupported Country")
95
-
96
- session = tls_client.Session(client_identifier="chrome112", random_tls_extension_order=True)
97
- maxpage = self.maxpages[country]
98
- minpage = self.minpages[country]
99
- page = random.randint(minpage, maxpage)
100
-
101
- if page == 1:
102
- res = session.get(f"https://temporary-phone-number.com/{country}-Phone-Number")
103
- else:
104
- res = session.get(f"https://temporary-phone-number.com/{country}-Phone-Number/page{page}")
105
-
106
- soup = BeautifulSoup(res.content, "lxml")
107
- numbers = []
108
- p = self.plist[country]
109
- for a in soup.find_all("a"):
110
- a = a.get("title", "none")
111
- if f"{country} Phone Number {p}" in a:
112
- a = a.replace(f"{country} Phone Number ", "").replace(" ", "")
113
- numbers.append(a)
114
- return random.choice(numbers)
115
-
116
- def get_messages(self, number: str):
117
- number = number.replace("+", "")
118
- try:
119
- i = int(number)
120
- except:
121
- raise ValueError("Wrong Number")
122
-
123
- country = None
124
- for key, value in self.countries.items():
125
- if number.startswith(key):
126
- country = value
127
-
128
- if country == None:
129
- raise ValueError("Unsupported Country")
130
-
131
- session = tls_client.Session(client_identifier="chrome112", random_tls_extension_order=True)
132
- res = session.get(f"https://temporary-phone-number.com/{country}-Phone-Number/{number}")
133
-
134
- if res.status_code == 404:
135
- raise ValueError("Number doesn't exist")
136
-
137
- soup = BeautifulSoup(res.content, "lxml")
138
- messages = []
139
- message = {"content": None, "frm": "", "time": ""}
140
-
141
- for div in soup.find_all("div"):
142
- divclass = div.get("class", "None")[0]
143
- if divclass == "direct-chat-info":
144
- message["frm"] = div.text.split("\n")[1].replace("From ", "")
145
- message["time"] = div.text.split("\n")[2]
146
- if divclass == "direct-chat-text":
147
- message["content"] = div.text
148
- messages.append(sms_message(content=message["content"], frm=message["frm"], time=message["time"]))
149
- message = {"content": None, "frm": "", "time": ""}
150
-
151
- return messages
152
-
153
84
  class VNEngine:
154
85
  def __init__(self) -> NoReturn:
155
86
  self.lang: str = "?lang=en"
@@ -198,4 +129,4 @@ class sms_message:
198
129
  def __init__(self, content, frm, time):
199
130
  self.content = content
200
131
  self.frm = frm
201
- self.time = time
132
+ self.time = time
webscout/version.py CHANGED
@@ -1,2 +1,2 @@
1
- __version__ = "6.1"
1
+ __version__ = "6.2b"
2
2
  __prog__ = "webscout"
webscout/webai.py CHANGED
@@ -30,7 +30,7 @@ from .AIutel import default_path
30
30
  from .AIutel import AwesomePrompts
31
31
  from .AIutel import RawDog
32
32
  from .AIutel import Audio
33
- from webscout import available_providers
33
+ from .AIutel import available_providers
34
34
  from colorama import Fore
35
35
  from colorama import init as init_colorama
36
36
  from dotenv import load_dotenv
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: webscout
3
- Version: 6.1
3
+ Version: 6.2b0
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
@@ -22,6 +22,7 @@ Classifier: Programming Language :: Python :: 3.12
22
22
  Classifier: Programming Language :: Python :: Implementation :: CPython
23
23
  Classifier: Topic :: Internet :: WWW/HTTP :: Indexing/Search
24
24
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
25
+ Requires-Python: >=3.7
25
26
  Description-Content-Type: text/markdown
26
27
  License-File: LICENSE.md
27
28
  Requires-Dist: docstring-inheritance
@@ -60,6 +61,7 @@ Requires-Dist: gradio-client
60
61
  Requires-Dist: psutil
61
62
  Requires-Dist: colorlog
62
63
  Requires-Dist: yaspin
64
+ Requires-Dist: cerebras-cloud-sdk
63
65
  Provides-Extra: dev
64
66
  Requires-Dist: ruff>=0.1.6; extra == "dev"
65
67
  Requires-Dist: pytest>=7.4.2; extra == "dev"
@@ -265,90 +267,41 @@ weather = w.get("Qazigund")
265
267
  print(weather)
266
268
  ```
267
269
 
268
- ## ✉️ Tempmail and 📞 Temp Number
270
+ ## ✉️ TempMail and VNEngine
269
271
 
270
- ### Temp Number
271
- ```python
272
- from rich.console import Console
273
- from webscout import tempid
274
-
275
- def main():
276
- console = Console()
277
- phone = tempid.TemporaryPhoneNumber()
278
-
279
- try:
280
- # Get a temporary phone number for a specific country (or random)
281
- number = phone.get_number(country="Finland")
282
- console.print(f"Your temporary phone number: [bold cyan]{number}[/bold cyan]")
283
-
284
- # Pause execution briefly (replace with your actual logic)
285
- # import time module
286
- import time
287
- time.sleep(30) # Adjust the waiting time as needed
288
-
289
- # Retrieve and print messages
290
- messages = phone.get_messages(number)
291
- if messages:
292
- # Access individual messages using indexing:
293
- console.print(f"[bold green]{messages[0].frm}:[/] {messages[0].content}")
294
- # (Add more lines if you expect multiple messages)
295
- else:
296
- console.print("No messages received.")
297
-
298
- except Exception as e:
299
- console.print(f"[bold red]An error occurred: {e}")
300
-
301
- if __name__ == "__main__":
302
- main()
303
-
304
- ```
305
-
306
- ### Tempmail
307
272
  ```python
273
+ import json
308
274
  import asyncio
309
- from rich.console import Console
310
- from rich.table import Table
311
- from rich.text import Text
312
- from webscout import tempid
313
-
314
- async def main() -> None:
315
- console = Console()
316
- client = tempid.Client()
275
+ from webscout import VNEngine
276
+ from webscout import TempMail
277
+
278
+ async def main():
279
+ vn = VNEngine()
280
+ countries = vn.get_online_countries()
281
+ if countries:
282
+ country = countries[0]['country']
283
+ numbers = vn.get_country_numbers(country)
284
+ if numbers:
285
+ number = numbers[0]['full_number']
286
+ inbox = vn.get_number_inbox(country, number)
287
+
288
+ # Serialize inbox data to JSON string
289
+ json_data = json.dumps(inbox, ensure_ascii=False, indent=4)
290
+
291
+ # Print with UTF-8 encoding
292
+ print(json_data)
317
293
 
318
- try:
294
+ async with TempMail() as client:
319
295
  domains = await client.get_domains()
320
- if not domains:
321
- console.print("[bold red]No domains available. Please try again later.")
322
- return
323
-
324
- email = await client.create_email(domain=domains[0].name)
325
- console.print(f"Your temporary email: [bold cyan]{email.email}[/bold cyan]")
326
- console.print(f"Token for accessing the email: [bold cyan]{email.token}[/bold cyan]")
327
-
328
- while True:
329
- messages = await client.get_messages(email.email)
330
- if messages is not None:
331
- break
332
-
333
- if messages:
334
- table = Table(show_header=True, header_style="bold magenta")
335
- table.add_column("From", style="bold cyan")
336
- table.add_column("Subject", style="bold yellow")
337
- table.add_column("Body", style="bold green")
338
- for message in messages:
339
- body_preview = Text(message.body_text if message.body_text else "No body")
340
- table.add_row(message.email_from or "Unknown", message.subject or "No Subject", body_preview)
341
- console.print(table)
342
- else:
343
- console.print("No messages found.")
344
-
345
- except Exception as e:
346
- console.print(f"[bold red]An error occurred: {e}")
347
-
348
- finally:
349
- await client.close()
296
+ print("Available Domains:", domains)
297
+ email_response = await client.create_email(alias="testuser")
298
+ print("Created Email:", email_response)
299
+ messages = await client.get_messages(email_response.email)
300
+ print("Messages:", messages)
301
+ await client.delete_email(email_response.email, email_response.token)
302
+ print("Email Deleted")
350
303
 
351
- if __name__ == '__main__':
304
+ if __name__ == "__main__":
352
305
  asyncio.run(main())
353
306
  ```
354
307
 
@@ -607,16 +560,6 @@ with WEBS() as WEBS:
607
560
  print(r)
608
561
  ```
609
562
 
610
- ## 🌐 WEBSX - Another Web Search Tool
611
-
612
- ```python
613
- from webscout import WEBSX
614
- s = "Python development tools"
615
-
616
- result = WEBSX(s)
617
-
618
- print(result)
619
- ```
620
563
 
621
564
  ## 🎭 ALL Acts
622
565
 
@@ -876,7 +819,7 @@ print(result)
876
819
  ___
877
820
  </details>
878
821
 
879
- ### 🖼️ Text to Images - DeepInfraImager, PollinationsAI, BlackboxAIImager, AiForceimager, NexraImager, HFimager, ArtbitImager, NinjaImager, WebSimAI, AmigoImager
822
+ ### 🖼️ Text to Images - DeepInfraImager, PollinationsAI, BlackboxAIImager, AiForceimager, NexraImager, HFimager, ArtbitImager, NinjaImager, WebSimAI, AIUncensoredImager
880
823
 
881
824
  **Every TTI provider has the same usage code, you just need to change the import.**
882
825
 
@@ -1133,29 +1076,6 @@ response_str = a.chat(prompt)
1133
1076
  print(response_str)
1134
1077
  ```
1135
1078
 
1136
- ### `BasedGPT` - Chat with GPT
1137
-
1138
- ```python
1139
- from webscout import BasedGPT
1140
-
1141
- # Initialize the BasedGPT provider
1142
- basedgpt = BasedGPT(
1143
- is_conversation=True, # Chat conversationally
1144
- max_tokens=600, # Maximum tokens to generate
1145
- timeout=30, # HTTP request timeout
1146
- intro="You are a helpful and friendly AI.", # Introductory prompt
1147
- filepath="chat_history.txt", # File to store conversation history
1148
- update_file=True, # Update the chat history file
1149
- )
1150
-
1151
- # Send a prompt to the AI
1152
- prompt = "What is the meaning of life?"
1153
- response = basedgpt.chat(prompt)
1154
-
1155
- # Print the AI's response
1156
- print(response)
1157
- ```
1158
-
1159
1079
  ### `DeepSeek` - Chat with DeepSeek
1160
1080
 
1161
1081
  ```python
@@ -1437,7 +1357,7 @@ if __name__ == "__main__":
1437
1357
  main()
1438
1358
  ```
1439
1359
 
1440
- ### LLAMA3, pizzagpt, RUBIKSAI, Koala, Darkai, AI4Chat, Farfalle, PIAI, Felo, XDASH, Julius, YouChat, YEPCHAT, Cloudflare, TurboSeek, Editee, AI21, Chatify, Cerebras, X0GPT, Lepton, GEMINIAPI, Cleeai, Elmo, Genspark, Upstage, Free2GPT, Bing, DiscordRocks, GPTWeb, AIGameIO, LlamaTutor, PromptRefine, AIUncensored, TutorAI, Bixin, ChatGPTES, Bagoodex, ChatHub, AmigoChat, AIMathGPT, GaurishCerebras, NinjaChat, GeminiPro
1360
+ ### LLAMA3, pizzagpt, RUBIKSAI, Koala, Darkai, AI4Chat, Farfalle, PIAI, Felo, Julius, YouChat, YEPCHAT, Cloudflare, TurboSeek, Editee, AI21, Chatify, Cerebras, X0GPT, Lepton, GEMINIAPI, Cleeai, Elmo, Genspark, Upstage, Free2GPT, Bing, DiscordRocks, GPTWeb, LlamaTutor, PromptRefine, AIUncensored, TutorAI, ChatGPTES, Bagoodex, ChatHub, AmigoChat, AIMathGPT, GaurishCerebras, NinjaChat, GeminiPro
1441
1361
 
1442
1362
  Code is similar to other providers.
1443
1363
 
@@ -1588,7 +1508,7 @@ Webscout provides tools to convert and quantize Hugging Face models into the GGU
1588
1508
  **Example:**
1589
1509
 
1590
1510
  ```python
1591
- from webscout import gguf
1511
+ from webscout.Extra import gguf
1592
1512
  """
1593
1513
  Valid quantization methods:
1594
1514
  "q2_k", "q3_k_l", "q3_k_m", "q3_k_s",
@@ -1609,7 +1529,7 @@ gguf.convert(
1609
1529
  Webscout's `autollama` utility downloads a model from Hugging Face and then automatically makes it Ollama-ready.
1610
1530
 
1611
1531
  ```python
1612
- from webscout import autollama
1532
+ from webscout.Extra import autollama
1613
1533
 
1614
1534
  model_path = "Vortex4ai/Jarvis-0.5B"
1615
1535
  gguf_file = "test2-q4_k_m.gguf"
@@ -1670,9 +1590,6 @@ Contributions are welcome! If you'd like to contribute to Webscout, please follo
1670
1590
  4. Push your branch to your forked repository.
1671
1591
  5. Submit a pull request to the main repository.
1672
1592
 
1673
- ## 📜 License
1674
-
1675
- This project is licensed under the MIT License - see the [LICENSE](LICENSE) file for details.
1676
1593
 
1677
1594
  ## 🙏 Acknowledgments
1678
1595
 
@@ -1,4 +1,4 @@
1
- webscout/AIauto.py,sha256=C92j0QtSmxG978fELezsgzxjq75VjQ5ld6Ybp4go1SU,11765
1
+ webscout/AIauto.py,sha256=omI2EGPwve3SR81BqNKo1W6Fg8t9yBJZiiZH0WmQnKE,6317
2
2
  webscout/AIbase.py,sha256=vv0N8sDYaZKkKD9fkLpK1CA51ksZl0_PQ82tB431c-4,9215
3
3
  webscout/AIutel.py,sha256=JLA3wqfSZJC_DMmI5Kjj8AxvQTMvs3F9MgqSn3koiZ4,38580
4
4
  webscout/Bard.py,sha256=CmDhKC67Ki2xA8Rkme6EC-gLmq3PhAAAGd5tcpJ0KJo,13234
@@ -6,26 +6,25 @@ webscout/Bing_search.py,sha256=8pW3ZxFDfVsrtayEoAsAAoXoOCAGv2Jk_-HvOBNfCV4,6228
6
6
  webscout/DWEBS.py,sha256=xB3L_u47vu9KZCFNUb_H6WX5OLeL068Er9t9Mbss9YU,7895
7
7
  webscout/LLM.py,sha256=LbGCZdJf8A5dwfoGS4tyy39tAh5BDdhMZP0ScKaaQfU,4184
8
8
  webscout/YTdownloader.py,sha256=qVROwMmRpHy95NsbzZvpidEKuqMwFTCi7bW4jJgbl44,39152
9
- webscout/__init__.py,sha256=scVR3GK70Ds0x5fDB_PxbZUH3cUBG4Pgw1Tac5bvKro,1328
9
+ webscout/__init__.py,sha256=RDVKYo6AygPaJDYS2yuzTC8rGP1iCHDpPEaMXH_hR58,603
10
10
  webscout/__main__.py,sha256=ZtTRgsRjUi2JOvYFLF1ZCh55Sdoz94I-BS-TlJC7WDU,126
11
11
  webscout/cli.py,sha256=RlBKeS9CSIsiBMqlzxevWtKjbY9htkZvA7J0bM_hHE8,14999
12
12
  webscout/exceptions.py,sha256=b9P7Sp3CEFigHAeTQli2DPLBZ-3sh8L-UWUd2-2RcVY,793
13
13
  webscout/g4f.py,sha256=NNcnlOtIWV9R93UsBN4jBGBEJ9sJ-Np1WbgjkGVDcYc,24487
14
14
  webscout/models.py,sha256=5iQIdtedT18YuTZ3npoG7kLMwcrKwhQ7928dl_7qZW0,692
15
15
  webscout/requestsHTMLfix.py,sha256=LZ9uynkwpGqVS2uFB5bMjdh6gLjSMerHPEqzVCvICIs,27961
16
- webscout/tempid.py,sha256=2a_YDFUCZy3TJVfqEPSLyMvHBjDk9gp5FiFCvJwsOaw,7984
16
+ webscout/tempid.py,sha256=7ZTN2eAYqUO2deSdzzhZfgDRxE65OOhGuTBD7f8bTCM,5004
17
17
  webscout/transcriber.py,sha256=kRymTd69zCjXdduCf7Gabt93Kz1l5ubsCwfwqs-pHl8,22334
18
18
  webscout/utils.py,sha256=LVW7U0XcGYqigqxV6D5YXeGMrc_mt7PnNG_YnKf9bBM,3059
19
- webscout/version.py,sha256=2nDWOp3vhJrfUeqqJJsf8o0xLdjDq_72L5_WdV-5CWY,44
20
- webscout/webai.py,sha256=MzDWMFv8oI3wmeL3SwvxUrZdBRyh9MMn97kNTvgL5T4,87744
19
+ webscout/version.py,sha256=wXS8KvPl0xX1N0A3v6NbIKmg31nMv8Zi_t2xcbfkHYY,45
20
+ webscout/webai.py,sha256=Yxm2vb03ZF-WGy25Q4OQjtZgbQnsN2f38wWvOkHdrbY,87743
21
21
  webscout/webscout_search.py,sha256=HHdO9XLToC_9nIMM_SaTOKKfzdhrKjb7o8Zi3ZD1O7Y,44744
22
22
  webscout/webscout_search_async.py,sha256=2-RCa9Deahhw3Bti78kXfVaX8y3Aygy4L7HeCaITk9M,14519
23
- webscout/websx_search.py,sha256=5hfkkmGFhyQzojUpvMzIOJ3DBZIBNS90UReaacsfu6s,521
24
23
  webscout/Agents/Onlinesearcher.py,sha256=dzb08Bz9QMMeP1mQTxIK2mkpwthhNJJND7TIRmM3dwA,7942
25
24
  webscout/Agents/__init__.py,sha256=qJXx2Q1yAupE0FJabXvs49Nxwm3IsREyuMWp8Q1VYiE,60
26
- webscout/Agents/functioncall.py,sha256=n9KOv0mWcCew5WI_xbI-zGe8hgTj-zNb73bAkZxrJfA,7609
25
+ webscout/Agents/functioncall.py,sha256=wEr9cpys0ckkrHULfos-mOdwjVdRwPZlJPIe37ftW2M,7641
27
26
  webscout/Extra/__init__.py,sha256=GG1qUwS-HspT4TeeAIT4qFpM8PaO1ZdQhpelctaM7Rs,99
28
- webscout/Extra/autollama.py,sha256=qM8alxlWzg10BGIYKZBUtIEAXrkvEOWBwSxdPp3zq9I,6226
27
+ webscout/Extra/autollama.py,sha256=75iEf2EYgMUZdcP1lB4doDHLSHoh6HsP4K0oxkLMEsU,6465
29
28
  webscout/Extra/gguf.py,sha256=RvSp7xuaD6epAA9iAzthUnAQ3HA5N-svMyKUadAVnw8,7009
30
29
  webscout/Extra/weather.py,sha256=wdSrQxZRpbNfyaux0BeLdaDWyde5KwxZjSUM13820X0,2460
31
30
  webscout/Extra/weather_ascii.py,sha256=Aed-_EUzvTEjBXbOpNRxkJBLa6fXsclknXP06HnQD18,808
@@ -36,77 +35,72 @@ webscout/Local/model.py,sha256=49k61kfzGhBbA38ul2yqdrmFd6YPOipJ37vCXOWIxaM,50987
36
35
  webscout/Local/samplers.py,sha256=6khEmMiMqIRO-qssjv8PEVomNG2yoLhDM6Wa9YBRbuI,6769
37
36
  webscout/Local/thread.py,sha256=ctnoJtkOpKbpdlqCjsnyM2sI-3_AKg9PzNwS3QAIifQ,23603
38
37
  webscout/Local/ui.py,sha256=FhqBcC7SVHwRfvrnTduoa7gpQNWYzrSc7OGm89ErNPY,15064
39
- webscout/Local/utils.py,sha256=SpSs8tGUClnrSVNr7hp9NoaT1bl8V28c0vZ9m6R5d0k,12417
38
+ webscout/Local/utils.py,sha256=kYXfR9h4JFojkiKQhF1XHclqX0vB0qPKOkfYKjrgwuc,13216
40
39
  webscout/Provider/AI21.py,sha256=JBh-xnspxTZNMcl-Gd0Cgseqht9gTM64TUv9I4Imc9k,6218
41
- webscout/Provider/Amigo.py,sha256=rGzprs37Bdbg-wj2clan1YYjfjyCWiZxDv25lpjk16U,11613
40
+ webscout/Provider/Amigo.py,sha256=S5p2T5ujKCscYeQ1FJwtv5YOS2cRDkG7XsTe2GbALW4,11775
42
41
  webscout/Provider/Andi.py,sha256=mKhrnN_TR3rVEBy-oZosEcujF83hISiFeBVM1mHYz2k,10107
43
- webscout/Provider/BasedGPT.py,sha256=u1s72bQ33iuBqf5u7SWdez8_Eu7MTCM_iZoEW91t9CI,8309
44
42
  webscout/Provider/Bing.py,sha256=zxIzq7dlqaLskx9LsYppbMJuwfGtYid3Uh0gIhZ0hps,9001
45
43
  webscout/Provider/Blackboxai.py,sha256=ioEhw03eiM65tPvgyZKOCGFzqOT8la59W7HydNGILIw,16815
46
44
  webscout/Provider/ChatGPTES.py,sha256=t_Qjn1ShNX0uYp5dJzv6Y7DPQM8HUTgvcBauhFz0-Io,8815
47
- webscout/Provider/ChatHub.py,sha256=lM82-FH5fMQcNmKAaQUGfwwX2kMaBZtkCdMALMYYa6w,7343
48
45
  webscout/Provider/Chatify.py,sha256=QYgZAEmhLkEnR7oyr-qUs6OSHoNJm2BgMr41f84Ntbg,6370
49
46
  webscout/Provider/Cloudflare.py,sha256=KZ2aZj-K5se_Xn8GPozJ3xRx2lJhf36uIu0Tyx-jH54,10801
50
47
  webscout/Provider/Cohere.py,sha256=oL9kAv--RSkEQxwkPTq1Wi57Wkgg0WNvL82CpTj22YY,8264
51
48
  webscout/Provider/DARKAI.py,sha256=bogR9SikV0MuYBkyWWvbqV2oeJVSV5oiMrpwiG0HBcw,9061
52
49
  webscout/Provider/Deepinfra.py,sha256=djm8LSDj6aummNSym4HrJHZD2CCVJ_er1oxiFLiq1N4,6389
53
- webscout/Provider/Deepseek.py,sha256=B3ph24Xmv__o3eyyUonFsVQgouO0i4ydIqp5oTe5aXc,9113
50
+ webscout/Provider/Deepseek.py,sha256=axBNDR_5N_Ge9iDopLHhR0kCAD0meq787UNh8oLqqGI,9142
54
51
  webscout/Provider/DiscordRocks.py,sha256=fRkVBCyDMZf0SoaNPK7KXAsh8mQj0JWDb7ifYpL9PQQ,11372
55
- webscout/Provider/EDITEE.py,sha256=cGMTQiMROo7ohSBTOzs2vZneUs1Usjh_7ZFQ61JtD-k,7734
52
+ webscout/Provider/EDITEE.py,sha256=8oFcuyoUPZUY78MXNPEt9gL9wifhHunxgI2xlKF82Bs,7749
56
53
  webscout/Provider/Farfalle.py,sha256=eVmSB4Dq6P2epo8dd6CyCtyxvOMFwvk6f0Ikb9nZ2d0,9017
57
54
  webscout/Provider/Free2GPT.py,sha256=Lf8dd9iacry_GRr6CT86Cjcp-oNzLyw1O_TWIPDFDxk,9037
58
- webscout/Provider/GPTWeb.py,sha256=egVGQ8cptr4wlCfrCNA2DM0oXYqhRcje9zxYK5txb2s,7429
55
+ webscout/Provider/GPTWeb.py,sha256=xh_mnBko6RDyz2v3KhMux-yIipipkZfVVVoUJWkbzcQ,7466
59
56
  webscout/Provider/Gemini.py,sha256=Vg2MLqQ_qxHkcN7Zikife1dyVK-y94ik8y6MAu-VzUI,7801
60
57
  webscout/Provider/Groq.py,sha256=iqyewnxWwN7fMG-dqAR_SyUqImfyZS880lO5iaXso9c,28636
61
58
  webscout/Provider/Koboldai.py,sha256=gpRgyDe4OQWwNqT7MWnNrJx4dnFmCW23KUx0Ezjgchk,15185
62
59
  webscout/Provider/Llama.py,sha256=N01p3ZVD1HgRnNNxhjRhBVD4m_qiextdyF1KDfJlqbE,7703
63
60
  webscout/Provider/Llama3.py,sha256=9jXo8k4ReFGkF01InzaBgUCKUJ0O5Zix3A0pHWRGtJU,7617
64
- webscout/Provider/NinjaChat.py,sha256=hxffMI9VShu91raY4k7eq9JtU0ReNHoPFVoxc0yq17M,8633
65
- webscout/Provider/OLLAMA.py,sha256=NO23OqRcVj0RhU5bnd4y21m_Yfh6JYxc3azxHgzKvmg,7017
61
+ webscout/Provider/NinjaChat.py,sha256=XCFVmg1e0zgnuzDo8GeAAS5JmjtokpztushOqcxiP2c,8622
62
+ webscout/Provider/OLLAMA.py,sha256=RQXJt-PJYnA15_IXhUy4mM9qwm4PcBMfINaZm2KG6zE,7018
66
63
  webscout/Provider/Openai.py,sha256=32uxZmZOovzshMQmqDcJ39If7N_UW4B3EeYmaxP_GwE,19983
67
64
  webscout/Provider/PI.py,sha256=IodVvGR_RIZpGJ0ypFF4U6NBMZAZ5O1BlRFMelot8so,8364
68
- webscout/Provider/Perplexity.py,sha256=vcTjwFPi2WC-ck91V3QE_EtmCwFcWaQHku4aAzMoPPM,21461
65
+ webscout/Provider/Perplexity.py,sha256=0WF8OLI_-Q_-toUPcMvUv35spr-oItjHT9v9OblOsEU,21469
69
66
  webscout/Provider/Phind.py,sha256=NA_b3B4h-kutX6wdoEg4THPfZggl2UeXPbramzZ6oiU,19297
70
67
  webscout/Provider/PizzaGPT.py,sha256=tEuEJAGbv-mTd479i3EgaqHd4NwgkrmMW0fpSsGm_N0,7207
71
68
  webscout/Provider/RUBIKSAI.py,sha256=fHCOAFWGXIESA05Bmuqtx6ZChnWomHOMwndfTLv1Hg8,8517
72
- webscout/Provider/Reka.py,sha256=RZG1YZ5rd7WWmOTGoM_2IpEAKn1MzemHWYad4US4Q8s,8258
73
- webscout/Provider/TeachAnything.py,sha256=0pQfktjnzM_7UElYVxWTIiHU2WvgNs57CxEuu89F5aw,6776
69
+ webscout/Provider/Reka.py,sha256=nL0PJ96iQcaWWkCP0M30AAoeIRV7IJQAph7MkwkwRVI,8533
70
+ webscout/Provider/TeachAnything.py,sha256=u5HxlVdOnRWXzA-cRSRhhdnvdsfafJ_4wr9qKIuW45s,6743
74
71
  webscout/Provider/Youchat.py,sha256=G6I4TqjZuX3refFF3SkOgl_YXY57hjsMg_wRjPgqWIE,9014
75
- webscout/Provider/__init__.py,sha256=BhRT9si6wgPvwxm-yTBG9hR3mFudHwVpTm4zzT_-6No,2939
72
+ webscout/Provider/__init__.py,sha256=syqCj2o1L5KFKJmVhuz9k9iLcKW1y5Wn1qVZX5bR9H0,2848
76
73
  webscout/Provider/ai4chat.py,sha256=av96iS4QPt9IzhcswowmDY2F8IUSLl1YVHZ4bAbfO-s,8140
77
- webscout/Provider/aigames.py,sha256=vGiGYNLvVBfwwsBSWwDKZbvJsFy8SYsFWRKqx7U7ALY,8083
78
74
  webscout/Provider/aimathgpt.py,sha256=BdXNxEHQP11p6m0wl2Q-uben46A6lMKOg89utV1S7aI,7320
79
75
  webscout/Provider/bagoodex.py,sha256=OdYIyvypX-Vkok9zAr6F5NwFQx_z0bKhiw8U4tTFw5o,5023
80
- webscout/Provider/bixin.py,sha256=tBelpS34RYFwXwe2XSnlnlskEw6o2sPOFWoN-MJN6hE,10577
81
- webscout/Provider/cerebras.py,sha256=N9Z7wY9pQRhh7chMSDirgHd1GV8Jwjeb3RmYB1pcww4,7302
82
- webscout/Provider/cleeai.py,sha256=NCivTCZU_BU3umuF-rHweNhdlnJE9Hwsd5A3611bFTM,8050
76
+ webscout/Provider/cerebras.py,sha256=7yXLW4EmAwmt3-aOt62WM-rfPkxEMETp7W0NlzGn-80,7708
77
+ webscout/Provider/cleeai.py,sha256=tXs_XuYZ2ZGmSOSTS0yJ59qbvFCJusE7yZkIqALwUbE,8064
83
78
  webscout/Provider/elmo.py,sha256=6C-j8xLfgyMjmv8jdjey0BPzl_UwEFpMEbBtYobfPd0,9387
84
- webscout/Provider/felo_search.py,sha256=cGuSVTwLiCleUWs4OEQhEYUjL2D8z87Km47cRogI7aQ,6879
85
- webscout/Provider/gaurish.py,sha256=OUiMlTlrPqRqokckR2WyxDljWLN-DhvsoMhi3LKijAo,6244
79
+ webscout/Provider/felo_search.py,sha256=q_Mc4SgSnkCm5vu-CMmn9kVO3k0YCZqq_uMUrVUXInU,6888
80
+ webscout/Provider/gaurish.py,sha256=yKV4MvOvjMEsXY2fQXDc0YHyFBtW2sh-pA4YNdY--wE,8472
86
81
  webscout/Provider/geminiapi.py,sha256=sGg7AncRShMacLTBwn39CzG4zsRz9JSBwVO4LlUdt6g,7869
87
- webscout/Provider/geminiprorealtime.py,sha256=OrpUtmmv__7bgoLfyY3IUosTWW_3MDw5eUP-iMKLYr0,5867
88
- webscout/Provider/genspark.py,sha256=h1dTcs50EsDH2-aioYKcPggh28kaJnwHOM7gG4s0FTY,8727
89
- webscout/Provider/julius.py,sha256=1JANcowWAn2zI7wCpAJWg5KW3cQNcMTfnWXwk9oblNM,8563
82
+ webscout/Provider/geminiprorealtime.py,sha256=unQRqHkDt_gkZ_Ls0qBb73d6YTtqYwd1uhYW0RrXKI0,5845
83
+ webscout/Provider/genspark.py,sha256=zKg0nWNzi38Mai_ShBISnmRSpfrBXAIZcTYyf8iX9h8,8764
84
+ webscout/Provider/julius.py,sha256=unD3UUnW8-Bie4o0__Vn7cXfqnaVvlE3MWI-LYGb5VE,8576
90
85
  webscout/Provider/koala.py,sha256=qBtqjTvhoMQdDE8qUH0XuNa_x2bic77d7CUjIVboask,10106
91
- webscout/Provider/learnfastai.py,sha256=j2hYwCVNpWZM4rN_4my9R0IfStNoAsIXjkvr_CRYcA0,9790
86
+ webscout/Provider/learnfastai.py,sha256=xANWSHF3e6kTKgwbAHYdjNWIwYvr5Bin0NDENmJvruE,9763
92
87
  webscout/Provider/lepton.py,sha256=4RiQ4YNJljX558yhSUqws6pf1Yhf7pWIesa4SRQCry8,7590
93
88
  webscout/Provider/llamatutor.py,sha256=DijA4Y1CVDz-Ks8pACTSb6hnOxdQD2IHw-_ztRqhyPQ,8871
94
89
  webscout/Provider/meta.py,sha256=TpoStt2nTUTCYxx4GI3IOQ7gX_Mi36pL7HhtjPvLtZQ,30717
95
90
  webscout/Provider/prefind.py,sha256=msw_kXO59Xz-xG5f72O3WIww-HVyUAj-WpByeLiCB1U,9306
96
- webscout/Provider/promptrefine.py,sha256=_8NEk376wXuB2ws51GGBegmkv-oz4dG7Ll5nHPCdd8c,7460
97
- webscout/Provider/turboseek.py,sha256=N7Sn9UyMMAfwjz7RUaW8XfihlQO2YTF00YIlDuCFvaY,8571
98
- webscout/Provider/tutorai.py,sha256=lnuZJ9rN-sYjTXOBTkUuKsjO6LErrBkh-bDhziEGZB8,14743
91
+ webscout/Provider/promptrefine.py,sha256=NbRdvCsiiLIDwU39wzxch5yGwmLvbauljAl9vC73nR4,7714
92
+ webscout/Provider/turboseek.py,sha256=yDOZcS3UqHcas_pH1AcB-XLD6C2FRzZxLp8rJOhUZGQ,8521
93
+ webscout/Provider/tutorai.py,sha256=ov-gRPAh22n8v7TWjeLdPnuHgCcaAsdpc2IfxfuSIEk,14716
99
94
  webscout/Provider/twitterclone.py,sha256=xqPcMOIkRLpzs4E1e3vNo_kJt55KfUuYZf_g0cjEePk,9248
100
95
  webscout/Provider/upstage.py,sha256=rdH94hIwR98HKfar576WzVmgdB1DU2H8qaChUmJFtPc,9237
101
96
  webscout/Provider/x0gpt.py,sha256=Z8U4MQIRfhHpdarHO6_BZ27veXMDEAneguJ7uFSD_HU,6478
102
- webscout/Provider/xdash.py,sha256=wyn1tBLwe4lo8LBqEFrr0hFDPj84z2p8PONdyzsj5f4,7369
103
97
  webscout/Provider/yep.py,sha256=ge7a3cK02G6tbT0_q9glH7ujCx3QlgrqwBuHasQVYfQ,20581
98
+ webscout/Provider/TTI/AIuncensored.py,sha256=eBpnmYYPgfbHCG6vVPSXqqqqfW6M-DOYHqC-mvboE7M,4047
104
99
  webscout/Provider/TTI/Nexra.py,sha256=4-ktIYnyWWLb8KHuyzzHV_docjpBukVwjLTICoindyA,4619
105
100
  webscout/Provider/TTI/PollinationsAI.py,sha256=ELMc92hYXzS1uFZtRB-tbFb39C3YqpxnfM8dVcucPE0,5485
106
101
  webscout/Provider/TTI/WebSimAI.py,sha256=tbUjvu945M35HOINLLuwvKZB_xUOmHuF69K75KiKDwU,5223
107
- webscout/Provider/TTI/__init__.py,sha256=mexrCwXr-JMcA_KbDvAbdKX_4fX-s7vaiK92YnXC-Jk,254
102
+ webscout/Provider/TTI/__init__.py,sha256=V0SU_ONiN6IoyDAzgQQxR0Y9O0NfIGjBMzSXKdKamgE,261
108
103
  webscout/Provider/TTI/aiforce.py,sha256=LIt7cZU1W2LBEGk-QyUYO3cvyPjlxODWYF28kQ6xzZI,6263
109
- webscout/Provider/TTI/amigo.py,sha256=m5X0nlUdROHNalqkBP8A7ZZQlr7XmIWbdd7qEBWsAtw,5830
110
104
  webscout/Provider/TTI/artbit.py,sha256=59rclp-Ker6CeIG6w0Kdte0gwgN5OUcDXi-AhbPnTeo,5077
111
105
  webscout/Provider/TTI/blackboximage.py,sha256=P3P8lg4-CCcDB1sPhVaP5oB9hqEhiErOTs2IX_Pv4ro,5848
112
106
  webscout/Provider/TTI/deepinfra.py,sha256=4x3knEeQnjhan5Y6uogK3dXFVa3r8UjN51n91Wm7Qfg,5975
@@ -116,9 +110,9 @@ webscout/Provider/TTS/__init__.py,sha256=uGhNvQUrElyPfxoXs5V9xJpLuIyShe3yKHif5Ma
116
110
  webscout/Provider/TTS/parler.py,sha256=NbS2IGhyZiTNQ3jNG3v1XWyVioHuBdsP0MIvQq7BKOg,3805
117
111
  webscout/Provider/TTS/streamElements.py,sha256=aaE55W_bAzvL3-pl7tHs_xU7dSZB5_V7ix-usoe-4aM,7398
118
112
  webscout/Provider/TTS/voicepod.py,sha256=wAAnpcpDyej72UjIRhEnEmcoJnUqp1lPCLiiwJMYJic,4343
119
- webscout-6.1.dist-info/LICENSE.md,sha256=9P0imsudI7MEvZe2pOcg8rKBn6E5FGHQ-riYozZI-Bk,2942
120
- webscout-6.1.dist-info/METADATA,sha256=2O-psmg3Xk8GQlazW1g2HGLXOyiXOJINg5YkEgH2ZpA,50386
121
- webscout-6.1.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
122
- webscout-6.1.dist-info/entry_points.txt,sha256=Hh4YIIjvkqB9SVxZ2ri4DZUkgEu_WF_5_r_nZDIvfG8,73
123
- webscout-6.1.dist-info/top_level.txt,sha256=nYIw7OKBQDr_Z33IzZUKidRD3zQEo8jOJYkMVMeN334,9
124
- webscout-6.1.dist-info/RECORD,,
113
+ webscout-6.2b0.dist-info/LICENSE.md,sha256=9P0imsudI7MEvZe2pOcg8rKBn6E5FGHQ-riYozZI-Bk,2942
114
+ webscout-6.2b0.dist-info/METADATA,sha256=hsd27DXQlI1gHE9a3cnA-Zz1qckn-uZitcz6pYTsxKg,47939
115
+ webscout-6.2b0.dist-info/WHEEL,sha256=GV9aMThwP_4oNCtvEC2ec3qUYutgWeAzklro_0m4WJQ,91
116
+ webscout-6.2b0.dist-info/entry_points.txt,sha256=Hh4YIIjvkqB9SVxZ2ri4DZUkgEu_WF_5_r_nZDIvfG8,73
117
+ webscout-6.2b0.dist-info/top_level.txt,sha256=nYIw7OKBQDr_Z33IzZUKidRD3zQEo8jOJYkMVMeN334,9
118
+ webscout-6.2b0.dist-info/RECORD,,