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.
- {webscout-3.9/webscout.egg-info → webscout-4.0}/PKG-INFO +42 -3
- {webscout-3.9 → webscout-4.0}/README.md +41 -2
- {webscout-3.9 → webscout-4.0}/setup.py +1 -1
- webscout-4.0/webscout/Extra/__init__.py +4 -0
- webscout-4.0/webscout/Extra/weather.py +49 -0
- webscout-4.0/webscout/Extra/weather_ascii.py +18 -0
- {webscout-3.9 → webscout-4.0}/webscout/Local/_version.py +1 -1
- webscout-4.0/webscout/YTdownloader.py +1105 -0
- {webscout-3.9 → webscout-4.0}/webscout/__init__.py +3 -1
- webscout-4.0/webscout/cli.py +346 -0
- webscout-4.0/webscout/version.py +2 -0
- {webscout-3.9 → webscout-4.0}/webscout/webai.py +0 -4
- {webscout-3.9 → webscout-4.0/webscout.egg-info}/PKG-INFO +42 -3
- {webscout-3.9 → webscout-4.0}/webscout.egg-info/SOURCES.txt +3 -0
- webscout-3.9/webscout/Extra/__init__.py +0 -2
- webscout-3.9/webscout/cli.py +0 -451
- webscout-3.9/webscout/version.py +0 -2
- {webscout-3.9 → webscout-4.0}/LICENSE.md +0 -0
- {webscout-3.9 → webscout-4.0}/setup.cfg +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/AIauto.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/AIbase.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/AIutel.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/DWEBS.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Extra/autollama.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Extra/gguf.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/LLM.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Local/__init__.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Local/formats.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Local/model.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Local/rawdog.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Local/samplers.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Local/thread.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Local/utils.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/BasedGPT.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Berlin4h.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Blackboxai.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/ChatGPTUK.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Cohere.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Deepinfra.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Deepseek.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Gemini.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Geminiflash.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Geminipro.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Groq.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Koboldai.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Leo.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Llama2.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/OpenGPT.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Openai.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Perplexity.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Phind.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Poe.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Reka.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/ThinkAnyAI.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/VTLchat.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Xjai.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Yepchat.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/Youchat.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/Provider/__init__.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/__main__.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/async_providers.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/exceptions.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/g4f.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/models.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/tempid.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/transcriber.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/utils.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/voice.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/webscout_search.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/webscout_search_async.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout/websx_search.py +0 -0
- {webscout-3.9 → webscout-4.0}/webscout.egg-info/dependency_links.txt +0 -0
- {webscout-3.9 → webscout-4.0}/webscout.egg-info/entry_points.txt +0 -0
- {webscout-3.9 → webscout-4.0}/webscout.egg-info/requires.txt +0 -0
- {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
|
+
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="
|
|
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,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}"
|