webscout 3.9__tar.gz → 4.0__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 (75) hide show
  1. {webscout-3.9/webscout.egg-info → webscout-4.0}/PKG-INFO +42 -3
  2. {webscout-3.9 → webscout-4.0}/README.md +41 -2
  3. {webscout-3.9 → webscout-4.0}/setup.py +1 -1
  4. webscout-4.0/webscout/Extra/__init__.py +4 -0
  5. webscout-4.0/webscout/Extra/weather.py +49 -0
  6. webscout-4.0/webscout/Extra/weather_ascii.py +18 -0
  7. {webscout-3.9 → webscout-4.0}/webscout/Local/_version.py +1 -1
  8. webscout-4.0/webscout/YTdownloader.py +1105 -0
  9. {webscout-3.9 → webscout-4.0}/webscout/__init__.py +3 -1
  10. webscout-4.0/webscout/cli.py +346 -0
  11. webscout-4.0/webscout/version.py +2 -0
  12. {webscout-3.9 → webscout-4.0}/webscout/webai.py +0 -4
  13. {webscout-3.9 → webscout-4.0/webscout.egg-info}/PKG-INFO +42 -3
  14. {webscout-3.9 → webscout-4.0}/webscout.egg-info/SOURCES.txt +3 -0
  15. webscout-3.9/webscout/Extra/__init__.py +0 -2
  16. webscout-3.9/webscout/cli.py +0 -451
  17. webscout-3.9/webscout/version.py +0 -2
  18. {webscout-3.9 → webscout-4.0}/LICENSE.md +0 -0
  19. {webscout-3.9 → webscout-4.0}/setup.cfg +0 -0
  20. {webscout-3.9 → webscout-4.0}/webscout/AIauto.py +0 -0
  21. {webscout-3.9 → webscout-4.0}/webscout/AIbase.py +0 -0
  22. {webscout-3.9 → webscout-4.0}/webscout/AIutel.py +0 -0
  23. {webscout-3.9 → webscout-4.0}/webscout/DWEBS.py +0 -0
  24. {webscout-3.9 → webscout-4.0}/webscout/Extra/autollama.py +0 -0
  25. {webscout-3.9 → webscout-4.0}/webscout/Extra/gguf.py +0 -0
  26. {webscout-3.9 → webscout-4.0}/webscout/LLM.py +0 -0
  27. {webscout-3.9 → webscout-4.0}/webscout/Local/__init__.py +0 -0
  28. {webscout-3.9 → webscout-4.0}/webscout/Local/formats.py +0 -0
  29. {webscout-3.9 → webscout-4.0}/webscout/Local/model.py +0 -0
  30. {webscout-3.9 → webscout-4.0}/webscout/Local/rawdog.py +0 -0
  31. {webscout-3.9 → webscout-4.0}/webscout/Local/samplers.py +0 -0
  32. {webscout-3.9 → webscout-4.0}/webscout/Local/thread.py +0 -0
  33. {webscout-3.9 → webscout-4.0}/webscout/Local/utils.py +0 -0
  34. {webscout-3.9 → webscout-4.0}/webscout/Provider/BasedGPT.py +0 -0
  35. {webscout-3.9 → webscout-4.0}/webscout/Provider/Berlin4h.py +0 -0
  36. {webscout-3.9 → webscout-4.0}/webscout/Provider/Blackboxai.py +0 -0
  37. {webscout-3.9 → webscout-4.0}/webscout/Provider/ChatGPTUK.py +0 -0
  38. {webscout-3.9 → webscout-4.0}/webscout/Provider/Cohere.py +0 -0
  39. {webscout-3.9 → webscout-4.0}/webscout/Provider/Deepinfra.py +0 -0
  40. {webscout-3.9 → webscout-4.0}/webscout/Provider/Deepseek.py +0 -0
  41. {webscout-3.9 → webscout-4.0}/webscout/Provider/Gemini.py +0 -0
  42. {webscout-3.9 → webscout-4.0}/webscout/Provider/Geminiflash.py +0 -0
  43. {webscout-3.9 → webscout-4.0}/webscout/Provider/Geminipro.py +0 -0
  44. {webscout-3.9 → webscout-4.0}/webscout/Provider/Groq.py +0 -0
  45. {webscout-3.9 → webscout-4.0}/webscout/Provider/Koboldai.py +0 -0
  46. {webscout-3.9 → webscout-4.0}/webscout/Provider/Leo.py +0 -0
  47. {webscout-3.9 → webscout-4.0}/webscout/Provider/Llama2.py +0 -0
  48. {webscout-3.9 → webscout-4.0}/webscout/Provider/OpenGPT.py +0 -0
  49. {webscout-3.9 → webscout-4.0}/webscout/Provider/Openai.py +0 -0
  50. {webscout-3.9 → webscout-4.0}/webscout/Provider/Perplexity.py +0 -0
  51. {webscout-3.9 → webscout-4.0}/webscout/Provider/Phind.py +0 -0
  52. {webscout-3.9 → webscout-4.0}/webscout/Provider/Poe.py +0 -0
  53. {webscout-3.9 → webscout-4.0}/webscout/Provider/Reka.py +0 -0
  54. {webscout-3.9 → webscout-4.0}/webscout/Provider/ThinkAnyAI.py +0 -0
  55. {webscout-3.9 → webscout-4.0}/webscout/Provider/VTLchat.py +0 -0
  56. {webscout-3.9 → webscout-4.0}/webscout/Provider/Xjai.py +0 -0
  57. {webscout-3.9 → webscout-4.0}/webscout/Provider/Yepchat.py +0 -0
  58. {webscout-3.9 → webscout-4.0}/webscout/Provider/Youchat.py +0 -0
  59. {webscout-3.9 → webscout-4.0}/webscout/Provider/__init__.py +0 -0
  60. {webscout-3.9 → webscout-4.0}/webscout/__main__.py +0 -0
  61. {webscout-3.9 → webscout-4.0}/webscout/async_providers.py +0 -0
  62. {webscout-3.9 → webscout-4.0}/webscout/exceptions.py +0 -0
  63. {webscout-3.9 → webscout-4.0}/webscout/g4f.py +0 -0
  64. {webscout-3.9 → webscout-4.0}/webscout/models.py +0 -0
  65. {webscout-3.9 → webscout-4.0}/webscout/tempid.py +0 -0
  66. {webscout-3.9 → webscout-4.0}/webscout/transcriber.py +0 -0
  67. {webscout-3.9 → webscout-4.0}/webscout/utils.py +0 -0
  68. {webscout-3.9 → webscout-4.0}/webscout/voice.py +0 -0
  69. {webscout-3.9 → webscout-4.0}/webscout/webscout_search.py +0 -0
  70. {webscout-3.9 → webscout-4.0}/webscout/webscout_search_async.py +0 -0
  71. {webscout-3.9 → webscout-4.0}/webscout/websx_search.py +0 -0
  72. {webscout-3.9 → webscout-4.0}/webscout.egg-info/dependency_links.txt +0 -0
  73. {webscout-3.9 → webscout-4.0}/webscout.egg-info/entry_points.txt +0 -0
  74. {webscout-3.9 → webscout-4.0}/webscout.egg-info/requires.txt +0 -0
  75. {webscout-3.9 → webscout-4.0}/webscout.egg-info/top_level.txt +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: webscout
3
- Version: 3.9
3
+ Version: 4.0
4
4
  Summary: Search for anything using Google, DuckDuckGo, brave, qwant, 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
@@ -92,7 +92,7 @@ Requires-Dist: huggingface_hub[cli]; extra == "local"
92
92
  <a href="#"><img alt="Python version" src="https://img.shields.io/pypi/pyversions/webscout"/></a>
93
93
  <a href="https://pepy.tech/project/webscout"><img alt="Downloads" src="https://static.pepy.tech/badge/webscout"></a>
94
94
 
95
- 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
95
+ 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
96
96
 
97
97
 
98
98
  ## Table of Contents
@@ -249,10 +249,49 @@ python -m webscout --help
249
249
  ve-es for Venezuela
250
250
  vn-vi for Vietnam
251
251
  wt-wt for No region
252
- ___
252
+
253
+
253
254
  </details>
254
255
 
256
+
255
257
  [Go To TOP](#TOP)
258
+ ## YTdownloader -webscout can now download yt videos
259
+
260
+ ```python
261
+ from os import rename, getcwd
262
+ from webscout import YTdownloader
263
+ def download_audio(video_id):
264
+ youtube_link = video_id
265
+ handler = YTdownloader.Handler(query=youtube_link)
266
+ for third_query_data in handler.run(format='mp3', quality='128kbps', limit=1):
267
+ audio_path = handler.save(third_query_data, dir=getcwd())
268
+ rename(audio_path, "audio.mp3")
269
+
270
+ def download_video(video_id):
271
+ youtube_link = video_id
272
+ handler = YTdownloader.Handler(query=youtube_link)
273
+ for third_query_data in handler.run(format='mp4', quality='auto', limit=1):
274
+ video_path = handler.save(third_query_data, dir=getcwd())
275
+ rename(video_path, "video.mp4")
276
+
277
+ if __name__ == "__main__":
278
+ # download_audio("https://www.youtube.com/watch?v=c0tMvzB0OKw")
279
+ download_video("https://www.youtube.com/watch?v=c0tMvzB0OKw")
280
+ ```
281
+
282
+ ## Weather - webscout can now forcast weather
283
+ 1. weather
284
+ ```python
285
+ from webscout import weather as w
286
+ weather = w.get("Qazigund")
287
+ w.print_weather(weather)
288
+ ```
289
+ 2. weather ascii
290
+ ```python
291
+ from webscout import weather_ascii as w
292
+ weather = w.get("Qazigund")
293
+ print(weather)
294
+ ```
256
295
 
257
296
  ## Tempmail and Temp number
258
297
 
@@ -26,7 +26,7 @@
26
26
  <a href="#"><img alt="Python version" src="https://img.shields.io/pypi/pyversions/webscout"/></a>
27
27
  <a href="https://pepy.tech/project/webscout"><img alt="Downloads" src="https://static.pepy.tech/badge/webscout"></a>
28
28
 
29
- 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
29
+ 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
30
30
 
31
31
 
32
32
  ## Table of Contents
@@ -183,10 +183,49 @@ python -m webscout --help
183
183
  ve-es for Venezuela
184
184
  vn-vi for Vietnam
185
185
  wt-wt for No region
186
- ___
186
+
187
+
187
188
  </details>
188
189
 
190
+
189
191
  [Go To TOP](#TOP)
192
+ ## YTdownloader -webscout can now download yt videos
193
+
194
+ ```python
195
+ from os import rename, getcwd
196
+ from webscout import YTdownloader
197
+ def download_audio(video_id):
198
+ youtube_link = video_id
199
+ handler = YTdownloader.Handler(query=youtube_link)
200
+ for third_query_data in handler.run(format='mp3', quality='128kbps', limit=1):
201
+ audio_path = handler.save(third_query_data, dir=getcwd())
202
+ rename(audio_path, "audio.mp3")
203
+
204
+ def download_video(video_id):
205
+ youtube_link = video_id
206
+ handler = YTdownloader.Handler(query=youtube_link)
207
+ for third_query_data in handler.run(format='mp4', quality='auto', limit=1):
208
+ video_path = handler.save(third_query_data, dir=getcwd())
209
+ rename(video_path, "video.mp4")
210
+
211
+ if __name__ == "__main__":
212
+ # download_audio("https://www.youtube.com/watch?v=c0tMvzB0OKw")
213
+ download_video("https://www.youtube.com/watch?v=c0tMvzB0OKw")
214
+ ```
215
+
216
+ ## Weather - webscout can now forcast weather
217
+ 1. weather
218
+ ```python
219
+ from webscout import weather as w
220
+ weather = w.get("Qazigund")
221
+ w.print_weather(weather)
222
+ ```
223
+ 2. weather ascii
224
+ ```python
225
+ from webscout import weather_ascii as w
226
+ weather = w.get("Qazigund")
227
+ print(weather)
228
+ ```
190
229
 
191
230
  ## Tempmail and Temp number
192
231
 
@@ -5,7 +5,7 @@ with open("README.md", encoding="utf-8") as f:
5
5
 
6
6
  setup(
7
7
  name="webscout",
8
- version="3.9",
8
+ version="4.0",
9
9
  description="Search for anything using Google, DuckDuckGo, brave, qwant, 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",
10
10
  long_description=README,
11
11
  long_description_content_type="text/markdown",
@@ -0,0 +1,4 @@
1
+ from .gguf import *
2
+ from .autollama import *
3
+ from .weather import *
4
+ from .weather_ascii import *
@@ -0,0 +1,49 @@
1
+ import requests
2
+
3
+ def get(location):
4
+ """Fetches weather data for the given location.
5
+
6
+ Args:
7
+ location (str): The location for which to fetch weather data.
8
+
9
+ Returns:
10
+ dict: A dictionary containing weather data if the request is successful,
11
+ otherwise a string indicating the error.
12
+ """
13
+ url = f"https://wttr.in/{location}?format=j1"
14
+
15
+ response = requests.get(url)
16
+
17
+ if response.status_code == 200:
18
+ return response.json()
19
+ else:
20
+ return f"Error: Unable to fetch weather data. Status code: {response.status_code}"
21
+
22
+ def print_weather(weather_data):
23
+ """Prints the weather data in a user-friendly format.
24
+
25
+ Args:
26
+ weather_data (dict or str): The weather data returned from get_weather()
27
+ or an error message.
28
+ """
29
+ if isinstance(weather_data, str):
30
+ print(weather_data)
31
+ return
32
+
33
+ current = weather_data['current_condition'][0]
34
+ location_name = weather_data['nearest_area'][0]['areaName'][0]['value']
35
+
36
+ print(f"Weather in {location_name}:")
37
+ print(f"Temperature: {current['temp_C']}°C / {current['temp_F']}°F")
38
+ print(f"Condition: {current['weatherDesc'][0]['value']}")
39
+ print(f"Humidity: {current['humidity']}%")
40
+ print(f"Wind: {current['windspeedKmph']} km/h, {current['winddir16Point']}")
41
+
42
+
43
+ print("\nForecast:")
44
+ for day in weather_data['weather']:
45
+ date = day['date']
46
+ max_temp = day['maxtempC']
47
+ min_temp = day['mintempC']
48
+ desc = day['hourly'][4]['weatherDesc'][0]['value']
49
+ print(f"{date}: {min_temp}°C to {max_temp}°C, {desc}")
@@ -0,0 +1,18 @@
1
+ import requests
2
+
3
+ def get(location):
4
+ """Fetches ASCII art weather data for the given location.
5
+ Args:
6
+ location (str): The location for which to fetch weather data.
7
+
8
+ Returns:
9
+ str: ASCII art weather report if the request is successful,
10
+ otherwise an error message.
11
+ """
12
+ url = f"https://wttr.in/{location}"
13
+ response = requests.get(url, headers={'User-Agent': 'curl'})
14
+
15
+ if response.status_code == 200:
16
+ return "\n".join(response.text.splitlines()[:-1])
17
+ else:
18
+ return f"Error: Unable to fetch weather data. Status code: {response.status_code}"
@@ -1,3 +1,3 @@
1
1
  from llama_cpp import __version__ as __llama_cpp_version__
2
2
 
3
- __version__ = '3.9'
3
+ __version__ = '4.0'