webscout 5.1__tar.gz → 5.3__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-5.1/webscout.egg-info → webscout-5.3}/PKG-INFO +41 -82
- {webscout-5.1 → webscout-5.3}/README.md +39 -80
- {webscout-5.1 → webscout-5.3}/setup.py +2 -2
- webscout-5.3/webscout/AIauto.py +362 -0
- webscout-5.3/webscout/AIbase.py +240 -0
- {webscout-5.1 → webscout-5.3}/webscout/AIutel.py +41 -10
- webscout-5.3/webscout/Agents/Onlinesearcher.py +162 -0
- webscout-5.3/webscout/Agents/__init__.py +3 -0
- {webscout-5.1 → webscout-5.3}/webscout/Agents/functioncall.py +57 -27
- webscout-5.3/webscout/Bing_search.py +154 -0
- webscout-5.3/webscout/DWEBS.py +179 -0
- {webscout-5.1 → webscout-5.3}/webscout/Local/_version.py +1 -1
- webscout-5.3/webscout/Provider/AI21.py +177 -0
- webscout-5.3/webscout/Provider/Chatify.py +174 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Cloudflare.py +0 -4
- webscout-5.3/webscout/Provider/EDITEE.py +215 -0
- webscout-5.3/webscout/Provider/Llama3.py +186 -0
- webscout-5.3/webscout/Provider/NetFly.py +216 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/RUBIKSAI.py +11 -5
- webscout-5.3/webscout/Provider/TTI/PollinationsAI.py +138 -0
- webscout-5.3/webscout/Provider/TTI/__init__.py +2 -0
- webscout-5.3/webscout/Provider/TTI/deepinfra.py +148 -0
- webscout-5.3/webscout/Provider/TTS/__init__.py +2 -0
- webscout-5.3/webscout/Provider/TTS/streamElements.py +292 -0
- webscout-5.3/webscout/Provider/TTS/voicepod.py +118 -0
- webscout-5.3/webscout/Provider/TeachAnything.py +177 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/__init__.py +14 -4
- {webscout-5.1 → webscout-5.3}/webscout/Provider/ai4chat.py +14 -8
- webscout-5.3/webscout/Provider/cerebras.py +199 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/felo_search.py +28 -68
- webscout-5.3/webscout/Provider/x0gpt.py +181 -0
- {webscout-5.1 → webscout-5.3}/webscout/__init__.py +4 -2
- {webscout-5.1 → webscout-5.3}/webscout/exceptions.py +2 -1
- {webscout-5.1 → webscout-5.3}/webscout/transcriber.py +195 -140
- {webscout-5.1 → webscout-5.3}/webscout/version.py +1 -1
- {webscout-5.1 → webscout-5.3/webscout.egg-info}/PKG-INFO +41 -82
- {webscout-5.1 → webscout-5.3}/webscout.egg-info/SOURCES.txt +15 -5
- webscout-5.1/webscout/AIauto.py +0 -556
- webscout-5.1/webscout/AIbase.py +0 -138
- webscout-5.1/webscout/Agents/Onlinesearcher.py +0 -175
- webscout-5.1/webscout/Agents/__init__.py +0 -2
- webscout-5.1/webscout/Bing_search.py +0 -124
- webscout-5.1/webscout/DWEBS.py +0 -157
- webscout-5.1/webscout/Provider/Berlin4h.py +0 -217
- webscout-5.1/webscout/Provider/liaobots.py +0 -268
- webscout-5.1/webscout/async_providers.py +0 -21
- webscout-5.1/webscout/voice.py +0 -34
- {webscout-5.1 → webscout-5.3}/LICENSE.md +0 -0
- {webscout-5.1 → webscout-5.3}/setup.cfg +0 -0
- /webscout-5.1/webscout/Provider/Llama3.py → /webscout-5.3/webscout/Agents/ai.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Bard.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Extra/__init__.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Extra/autollama.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Extra/gguf.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Extra/weather.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Extra/weather_ascii.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/LLM.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Local/__init__.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Local/formats.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Local/model.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Local/rawdog.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Local/samplers.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Local/thread.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Local/utils.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Andi.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/BasedGPT.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Blackboxai.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Cohere.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/DARKAI.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Deepinfra.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Deepseek.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/DiscordRocks.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Farfalle.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Gemini.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Groq.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Koboldai.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Llama.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/OLLAMA.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Openai.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/PI.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Perplexity.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Phind.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/PizzaGPT.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Poe.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Reka.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/ThinkAnyAI.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/Youchat.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/julius.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/koala.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/meta.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/turboseek.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/xdash.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/Provider/yep.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/YTdownloader.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/__main__.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/cli.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/g4f.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/models.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/tempid.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/utils.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/webai.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/webscout_search.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/webscout_search_async.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout/websx_search.py +0 -0
- {webscout-5.1 → webscout-5.3}/webscout.egg-info/dependency_links.txt +0 -0
- {webscout-5.1 → webscout-5.3}/webscout.egg-info/entry_points.txt +0 -0
- {webscout-5.1 → webscout-5.3}/webscout.egg-info/requires.txt +0 -0
- {webscout-5.1 → webscout-5.3}/webscout.egg-info/top_level.txt +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: webscout
|
|
3
|
-
Version: 5.
|
|
4
|
-
Summary: Search for anything using Google, DuckDuckGo,
|
|
3
|
+
Version: 5.3
|
|
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
|
|
7
7
|
License: HelpingAI
|
|
@@ -339,57 +339,12 @@ if __name__ == '__main__':
|
|
|
339
339
|
## Transcriber
|
|
340
340
|
The transcriber function in webscout is a handy tool that transcribes YouTube videos. Here's an example code demonstrating its usage:
|
|
341
341
|
```python
|
|
342
|
-
import
|
|
343
|
-
|
|
344
|
-
|
|
345
|
-
|
|
346
|
-
|
|
347
|
-
|
|
348
|
-
transcript_list = transcriber.list_transcripts(video_id)
|
|
349
|
-
for transcript in transcript_list:
|
|
350
|
-
transcript_data_list = transcript.fetch()
|
|
351
|
-
lang = transcript.language
|
|
352
|
-
transcript_text = ""
|
|
353
|
-
if transcript.language_code == 'en':
|
|
354
|
-
for line in transcript_data_list:
|
|
355
|
-
start_time = line['start']
|
|
356
|
-
end_time = start_time + line['duration']
|
|
357
|
-
formatted_line = f"{start_time:.2f} - {end_time:.2f}: {line['text']}\n"
|
|
358
|
-
transcript_text += formatted_line
|
|
359
|
-
return transcript_text
|
|
360
|
-
elif transcript.is_translatable:
|
|
361
|
-
english_transcript_list = transcript.translate('en').fetch()
|
|
362
|
-
for line in english_transcript_list:
|
|
363
|
-
start_time = line['start']
|
|
364
|
-
end_time = start_time + line['duration']
|
|
365
|
-
formatted_line = f"{start_time:.2f} - {end_time:.2f}: {line['text']}\n"
|
|
366
|
-
transcript_text += formatted_line
|
|
367
|
-
return transcript_text
|
|
368
|
-
print("Transcript extraction failed. Please check the video URL.")
|
|
369
|
-
except Exception as e:
|
|
370
|
-
print(f"Error: {e}")
|
|
371
|
-
|
|
372
|
-
def main():
|
|
373
|
-
video_url = input("Enter the video link: ")
|
|
374
|
-
|
|
375
|
-
if video_url:
|
|
376
|
-
video_id = video_url.split("=")[1]
|
|
377
|
-
print("Video URL:", video_url)
|
|
378
|
-
submit = input("Press 'Enter' to get the transcript or type 'exit' to quit: ")
|
|
379
|
-
if submit == '':
|
|
380
|
-
print("Extracting Transcript...")
|
|
381
|
-
transcript = extract_transcript(video_id)
|
|
382
|
-
print('Transcript:')
|
|
383
|
-
print(transcript)
|
|
384
|
-
print("__________________________________________________________________________________")
|
|
385
|
-
elif submit.lower() == 'exit':
|
|
386
|
-
print("Exiting...")
|
|
387
|
-
sys.exit()
|
|
388
|
-
else:
|
|
389
|
-
print("Invalid input. Please try again.")
|
|
390
|
-
|
|
391
|
-
if __name__ == "__main__":
|
|
392
|
-
main()
|
|
342
|
+
from webscout import YTTranscriber
|
|
343
|
+
yt = YTTranscriber()
|
|
344
|
+
from rich import print
|
|
345
|
+
video_url = input("Enter the YouTube video URL: ")
|
|
346
|
+
transcript = yt.get_transcript(video_url, languages=None)
|
|
347
|
+
print(transcript)
|
|
393
348
|
```
|
|
394
349
|
|
|
395
350
|
## GoogleS -- formerly DWEBS
|
|
@@ -397,7 +352,7 @@ if __name__ == "__main__":
|
|
|
397
352
|
from webscout import GoogleS
|
|
398
353
|
from rich import print
|
|
399
354
|
searcher = GoogleS()
|
|
400
|
-
results = searcher.search("HelpingAI-9B", max_results=20,
|
|
355
|
+
results = searcher.search("HelpingAI-9B", max_results=20, extract_text=False, max_text_length=200)
|
|
401
356
|
for result in results:
|
|
402
357
|
print(result)
|
|
403
358
|
```
|
|
@@ -406,41 +361,25 @@ for result in results:
|
|
|
406
361
|
from webscout import BingS
|
|
407
362
|
from rich import print
|
|
408
363
|
searcher = BingS()
|
|
409
|
-
results = searcher.search("
|
|
364
|
+
results = searcher.search("HelpingAI-9B", max_results=20, extract_webpage_text=True, max_extract_characters=1000)
|
|
410
365
|
for result in results:
|
|
411
366
|
print(result)
|
|
412
367
|
```
|
|
413
368
|
|
|
414
|
-
## Text-to-Speech:
|
|
415
|
-
```python
|
|
416
|
-
from webscout import play_audio
|
|
417
|
-
|
|
418
|
-
message = "This is an example of text-to-speech."
|
|
419
|
-
audio_content = play_audio(message, voice="Brian")
|
|
420
|
-
|
|
421
|
-
# Save the audio to a file
|
|
422
|
-
with open("output.mp3", "wb") as f:
|
|
423
|
-
f.write(audio_content)
|
|
424
|
-
```
|
|
425
|
-
### Available TTS Voices:
|
|
426
|
-
You can choose from a wide range of voices, including:
|
|
427
|
-
- Filiz, Astrid, Tatyana, Maxim, Carmen, Ines, Cristiano, Vitoria, Ricardo, Maja, Jan, Jacek, Ewa, Ruben, Lotte, Liv, Seoyeon, Takumi, Mizuki, Giorgio, Carla, Bianca, Karl, Dora, Mathieu, Celine, Chantal, Penelope, Miguel, Mia, Enrique, Conchita, Geraint, Salli, Matthew, Kimberly, Kendra, Justin, Joey, Joanna, Ivy, Raveena, Aditi, Emma, Brian, Amy, Russell, Nicole, Vicki, Marlene, Hans, Naja, Mads, Gwyneth, Zhiyu
|
|
428
|
-
- Standard and WaveNet voices for various languages (e.g., en-US, es-ES, ja-JP, etc.)
|
|
429
|
-
|
|
430
369
|
|
|
431
370
|
The WEBS and AsyncWEBS classes are used to retrieve search results from DuckDuckGo.com
|
|
432
371
|
To use the AsyncWEBS class, you can perform asynchronous operations using Python's asyncio library.
|
|
433
372
|
To initialize an instance of the WEBS or AsyncWEBS classes, you can provide the following optional arguments:
|
|
434
373
|
|
|
435
374
|
Here is an example of initializing the WEBS class:
|
|
436
|
-
```
|
|
375
|
+
```python
|
|
437
376
|
from webscout import WEBS
|
|
438
377
|
|
|
439
378
|
R = WEBS().text("python programming", max_results=5)
|
|
440
379
|
print(R)
|
|
441
380
|
```
|
|
442
381
|
Here is an example of initializing the AsyncWEBS class:
|
|
443
|
-
```
|
|
382
|
+
```python
|
|
444
383
|
import asyncio
|
|
445
384
|
import logging
|
|
446
385
|
import sys
|
|
@@ -905,14 +844,34 @@ print(result)
|
|
|
905
844
|
___
|
|
906
845
|
</details>
|
|
907
846
|
|
|
908
|
-
|
|
909
|
-
|
|
847
|
+
### Text to images - DeepInfraImager, PollinationsAI
|
|
848
|
+
```python
|
|
849
|
+
from webscout import DeepInfraImager
|
|
850
|
+
bot = DeepInfraImager()
|
|
851
|
+
resp = bot.generate("AI-generated image - webscout", 1)
|
|
852
|
+
print(bot.save(resp))
|
|
853
|
+
```
|
|
854
|
+
|
|
855
|
+
### Text to speech - Voicepods, StreamElements
|
|
856
|
+
```python
|
|
857
|
+
from webscout import Voicepods
|
|
858
|
+
voicepods = Voicepods()
|
|
859
|
+
text = "Hello, this is a test of the Voicepods text-to-speech"
|
|
860
|
+
|
|
861
|
+
print("Generating audio...")
|
|
862
|
+
audio_file = voicepods.tts(text)
|
|
863
|
+
|
|
864
|
+
print("Playing audio...")
|
|
865
|
+
voicepods.play_audio(audio_file)
|
|
866
|
+
```
|
|
867
|
+
|
|
868
|
+
### `Duckchat` - chat with LLM
|
|
910
869
|
```python
|
|
911
870
|
from webscout import WEBS as w
|
|
912
871
|
R = w().chat("Who are you", model='gpt-4o-mini') # GPT-3.5 Turbo, mixtral-8x7b, llama-3-70b, claude-3-haiku, gpt-4o-mini
|
|
913
872
|
print(R)
|
|
914
873
|
```
|
|
915
|
-
###
|
|
874
|
+
### `PhindSearch` - Search using Phind.com
|
|
916
875
|
|
|
917
876
|
```python
|
|
918
877
|
from webscout import PhindSearch
|
|
@@ -949,7 +908,7 @@ print(message)
|
|
|
949
908
|
```
|
|
950
909
|
|
|
951
910
|
|
|
952
|
-
###
|
|
911
|
+
### `You.com` - search/chat with you.com - Not working
|
|
953
912
|
```python
|
|
954
913
|
|
|
955
914
|
from webscout import YouChat
|
|
@@ -976,7 +935,7 @@ message = ai.get_message(response)
|
|
|
976
935
|
print(message)
|
|
977
936
|
```
|
|
978
937
|
|
|
979
|
-
###
|
|
938
|
+
### `Gemini` - search with google gemini
|
|
980
939
|
|
|
981
940
|
```python
|
|
982
941
|
import webscout
|
|
@@ -994,7 +953,7 @@ gemini = GEMINI(cookie_file=COOKIE_FILE, proxy=PROXIES)
|
|
|
994
953
|
response = gemini.chat("websearch about HelpingAI and who is its developer")
|
|
995
954
|
print(response)
|
|
996
955
|
```
|
|
997
|
-
###
|
|
956
|
+
### `Berlin4h` - chat with Berlin4h
|
|
998
957
|
```python
|
|
999
958
|
from webscout import Berlin4h
|
|
1000
959
|
|
|
@@ -1015,7 +974,7 @@ prompt = "Explain the concept of recursion in simple terms."
|
|
|
1015
974
|
response = ai.chat(prompt)
|
|
1016
975
|
print(response)
|
|
1017
976
|
```
|
|
1018
|
-
###
|
|
977
|
+
### `BlackBox` - Search/chat With BlackBox
|
|
1019
978
|
```python
|
|
1020
979
|
from webscout import BLACKBOXAI
|
|
1021
980
|
from rich import print
|
|
@@ -1046,7 +1005,7 @@ while True:
|
|
|
1046
1005
|
r = ai.chat(prompt)
|
|
1047
1006
|
print(r)
|
|
1048
1007
|
```
|
|
1049
|
-
###
|
|
1008
|
+
### `PERPLEXITY` - Search With PERPLEXITY
|
|
1050
1009
|
```python
|
|
1051
1010
|
from webscout import Perplexity
|
|
1052
1011
|
from rich import print
|
|
@@ -1472,7 +1431,7 @@ if "error" not in function_call_data:
|
|
|
1472
1431
|
else:
|
|
1473
1432
|
print(f"Error: {function_call_data['error']}")
|
|
1474
1433
|
```
|
|
1475
|
-
### LLAMA3, pizzagpt, RUBIKSAI, Koala, Darkai, AI4Chat, Farfalle, PIAI, Felo, XDASH, Julius, YouChat, YEPCHAT, Cloudflare, TurboSeek,
|
|
1434
|
+
### LLAMA3, pizzagpt, RUBIKSAI, Koala, Darkai, AI4Chat, Farfalle, PIAI, Felo, XDASH, Julius, YouChat, YEPCHAT, Cloudflare, TurboSeek, NetFly, Editee, AI21, Chatify, Cerebras, X0GPT
|
|
1476
1435
|
code similar to other provider
|
|
1477
1436
|
### `LLM`
|
|
1478
1437
|
```python
|
|
@@ -260,57 +260,12 @@ if __name__ == '__main__':
|
|
|
260
260
|
## Transcriber
|
|
261
261
|
The transcriber function in webscout is a handy tool that transcribes YouTube videos. Here's an example code demonstrating its usage:
|
|
262
262
|
```python
|
|
263
|
-
import
|
|
264
|
-
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
transcript_list = transcriber.list_transcripts(video_id)
|
|
270
|
-
for transcript in transcript_list:
|
|
271
|
-
transcript_data_list = transcript.fetch()
|
|
272
|
-
lang = transcript.language
|
|
273
|
-
transcript_text = ""
|
|
274
|
-
if transcript.language_code == 'en':
|
|
275
|
-
for line in transcript_data_list:
|
|
276
|
-
start_time = line['start']
|
|
277
|
-
end_time = start_time + line['duration']
|
|
278
|
-
formatted_line = f"{start_time:.2f} - {end_time:.2f}: {line['text']}\n"
|
|
279
|
-
transcript_text += formatted_line
|
|
280
|
-
return transcript_text
|
|
281
|
-
elif transcript.is_translatable:
|
|
282
|
-
english_transcript_list = transcript.translate('en').fetch()
|
|
283
|
-
for line in english_transcript_list:
|
|
284
|
-
start_time = line['start']
|
|
285
|
-
end_time = start_time + line['duration']
|
|
286
|
-
formatted_line = f"{start_time:.2f} - {end_time:.2f}: {line['text']}\n"
|
|
287
|
-
transcript_text += formatted_line
|
|
288
|
-
return transcript_text
|
|
289
|
-
print("Transcript extraction failed. Please check the video URL.")
|
|
290
|
-
except Exception as e:
|
|
291
|
-
print(f"Error: {e}")
|
|
292
|
-
|
|
293
|
-
def main():
|
|
294
|
-
video_url = input("Enter the video link: ")
|
|
295
|
-
|
|
296
|
-
if video_url:
|
|
297
|
-
video_id = video_url.split("=")[1]
|
|
298
|
-
print("Video URL:", video_url)
|
|
299
|
-
submit = input("Press 'Enter' to get the transcript or type 'exit' to quit: ")
|
|
300
|
-
if submit == '':
|
|
301
|
-
print("Extracting Transcript...")
|
|
302
|
-
transcript = extract_transcript(video_id)
|
|
303
|
-
print('Transcript:')
|
|
304
|
-
print(transcript)
|
|
305
|
-
print("__________________________________________________________________________________")
|
|
306
|
-
elif submit.lower() == 'exit':
|
|
307
|
-
print("Exiting...")
|
|
308
|
-
sys.exit()
|
|
309
|
-
else:
|
|
310
|
-
print("Invalid input. Please try again.")
|
|
311
|
-
|
|
312
|
-
if __name__ == "__main__":
|
|
313
|
-
main()
|
|
263
|
+
from webscout import YTTranscriber
|
|
264
|
+
yt = YTTranscriber()
|
|
265
|
+
from rich import print
|
|
266
|
+
video_url = input("Enter the YouTube video URL: ")
|
|
267
|
+
transcript = yt.get_transcript(video_url, languages=None)
|
|
268
|
+
print(transcript)
|
|
314
269
|
```
|
|
315
270
|
|
|
316
271
|
## GoogleS -- formerly DWEBS
|
|
@@ -318,7 +273,7 @@ if __name__ == "__main__":
|
|
|
318
273
|
from webscout import GoogleS
|
|
319
274
|
from rich import print
|
|
320
275
|
searcher = GoogleS()
|
|
321
|
-
results = searcher.search("HelpingAI-9B", max_results=20,
|
|
276
|
+
results = searcher.search("HelpingAI-9B", max_results=20, extract_text=False, max_text_length=200)
|
|
322
277
|
for result in results:
|
|
323
278
|
print(result)
|
|
324
279
|
```
|
|
@@ -327,41 +282,25 @@ for result in results:
|
|
|
327
282
|
from webscout import BingS
|
|
328
283
|
from rich import print
|
|
329
284
|
searcher = BingS()
|
|
330
|
-
results = searcher.search("
|
|
285
|
+
results = searcher.search("HelpingAI-9B", max_results=20, extract_webpage_text=True, max_extract_characters=1000)
|
|
331
286
|
for result in results:
|
|
332
287
|
print(result)
|
|
333
288
|
```
|
|
334
289
|
|
|
335
|
-
## Text-to-Speech:
|
|
336
|
-
```python
|
|
337
|
-
from webscout import play_audio
|
|
338
|
-
|
|
339
|
-
message = "This is an example of text-to-speech."
|
|
340
|
-
audio_content = play_audio(message, voice="Brian")
|
|
341
|
-
|
|
342
|
-
# Save the audio to a file
|
|
343
|
-
with open("output.mp3", "wb") as f:
|
|
344
|
-
f.write(audio_content)
|
|
345
|
-
```
|
|
346
|
-
### Available TTS Voices:
|
|
347
|
-
You can choose from a wide range of voices, including:
|
|
348
|
-
- Filiz, Astrid, Tatyana, Maxim, Carmen, Ines, Cristiano, Vitoria, Ricardo, Maja, Jan, Jacek, Ewa, Ruben, Lotte, Liv, Seoyeon, Takumi, Mizuki, Giorgio, Carla, Bianca, Karl, Dora, Mathieu, Celine, Chantal, Penelope, Miguel, Mia, Enrique, Conchita, Geraint, Salli, Matthew, Kimberly, Kendra, Justin, Joey, Joanna, Ivy, Raveena, Aditi, Emma, Brian, Amy, Russell, Nicole, Vicki, Marlene, Hans, Naja, Mads, Gwyneth, Zhiyu
|
|
349
|
-
- Standard and WaveNet voices for various languages (e.g., en-US, es-ES, ja-JP, etc.)
|
|
350
|
-
|
|
351
290
|
|
|
352
291
|
The WEBS and AsyncWEBS classes are used to retrieve search results from DuckDuckGo.com
|
|
353
292
|
To use the AsyncWEBS class, you can perform asynchronous operations using Python's asyncio library.
|
|
354
293
|
To initialize an instance of the WEBS or AsyncWEBS classes, you can provide the following optional arguments:
|
|
355
294
|
|
|
356
295
|
Here is an example of initializing the WEBS class:
|
|
357
|
-
```
|
|
296
|
+
```python
|
|
358
297
|
from webscout import WEBS
|
|
359
298
|
|
|
360
299
|
R = WEBS().text("python programming", max_results=5)
|
|
361
300
|
print(R)
|
|
362
301
|
```
|
|
363
302
|
Here is an example of initializing the AsyncWEBS class:
|
|
364
|
-
```
|
|
303
|
+
```python
|
|
365
304
|
import asyncio
|
|
366
305
|
import logging
|
|
367
306
|
import sys
|
|
@@ -826,14 +765,34 @@ print(result)
|
|
|
826
765
|
___
|
|
827
766
|
</details>
|
|
828
767
|
|
|
829
|
-
|
|
830
|
-
|
|
768
|
+
### Text to images - DeepInfraImager, PollinationsAI
|
|
769
|
+
```python
|
|
770
|
+
from webscout import DeepInfraImager
|
|
771
|
+
bot = DeepInfraImager()
|
|
772
|
+
resp = bot.generate("AI-generated image - webscout", 1)
|
|
773
|
+
print(bot.save(resp))
|
|
774
|
+
```
|
|
775
|
+
|
|
776
|
+
### Text to speech - Voicepods, StreamElements
|
|
777
|
+
```python
|
|
778
|
+
from webscout import Voicepods
|
|
779
|
+
voicepods = Voicepods()
|
|
780
|
+
text = "Hello, this is a test of the Voicepods text-to-speech"
|
|
781
|
+
|
|
782
|
+
print("Generating audio...")
|
|
783
|
+
audio_file = voicepods.tts(text)
|
|
784
|
+
|
|
785
|
+
print("Playing audio...")
|
|
786
|
+
voicepods.play_audio(audio_file)
|
|
787
|
+
```
|
|
788
|
+
|
|
789
|
+
### `Duckchat` - chat with LLM
|
|
831
790
|
```python
|
|
832
791
|
from webscout import WEBS as w
|
|
833
792
|
R = w().chat("Who are you", model='gpt-4o-mini') # GPT-3.5 Turbo, mixtral-8x7b, llama-3-70b, claude-3-haiku, gpt-4o-mini
|
|
834
793
|
print(R)
|
|
835
794
|
```
|
|
836
|
-
###
|
|
795
|
+
### `PhindSearch` - Search using Phind.com
|
|
837
796
|
|
|
838
797
|
```python
|
|
839
798
|
from webscout import PhindSearch
|
|
@@ -870,7 +829,7 @@ print(message)
|
|
|
870
829
|
```
|
|
871
830
|
|
|
872
831
|
|
|
873
|
-
###
|
|
832
|
+
### `You.com` - search/chat with you.com - Not working
|
|
874
833
|
```python
|
|
875
834
|
|
|
876
835
|
from webscout import YouChat
|
|
@@ -897,7 +856,7 @@ message = ai.get_message(response)
|
|
|
897
856
|
print(message)
|
|
898
857
|
```
|
|
899
858
|
|
|
900
|
-
###
|
|
859
|
+
### `Gemini` - search with google gemini
|
|
901
860
|
|
|
902
861
|
```python
|
|
903
862
|
import webscout
|
|
@@ -915,7 +874,7 @@ gemini = GEMINI(cookie_file=COOKIE_FILE, proxy=PROXIES)
|
|
|
915
874
|
response = gemini.chat("websearch about HelpingAI and who is its developer")
|
|
916
875
|
print(response)
|
|
917
876
|
```
|
|
918
|
-
###
|
|
877
|
+
### `Berlin4h` - chat with Berlin4h
|
|
919
878
|
```python
|
|
920
879
|
from webscout import Berlin4h
|
|
921
880
|
|
|
@@ -936,7 +895,7 @@ prompt = "Explain the concept of recursion in simple terms."
|
|
|
936
895
|
response = ai.chat(prompt)
|
|
937
896
|
print(response)
|
|
938
897
|
```
|
|
939
|
-
###
|
|
898
|
+
### `BlackBox` - Search/chat With BlackBox
|
|
940
899
|
```python
|
|
941
900
|
from webscout import BLACKBOXAI
|
|
942
901
|
from rich import print
|
|
@@ -967,7 +926,7 @@ while True:
|
|
|
967
926
|
r = ai.chat(prompt)
|
|
968
927
|
print(r)
|
|
969
928
|
```
|
|
970
|
-
###
|
|
929
|
+
### `PERPLEXITY` - Search With PERPLEXITY
|
|
971
930
|
```python
|
|
972
931
|
from webscout import Perplexity
|
|
973
932
|
from rich import print
|
|
@@ -1393,7 +1352,7 @@ if "error" not in function_call_data:
|
|
|
1393
1352
|
else:
|
|
1394
1353
|
print(f"Error: {function_call_data['error']}")
|
|
1395
1354
|
```
|
|
1396
|
-
### LLAMA3, pizzagpt, RUBIKSAI, Koala, Darkai, AI4Chat, Farfalle, PIAI, Felo, XDASH, Julius, YouChat, YEPCHAT, Cloudflare, TurboSeek,
|
|
1355
|
+
### LLAMA3, pizzagpt, RUBIKSAI, Koala, Darkai, AI4Chat, Farfalle, PIAI, Felo, XDASH, Julius, YouChat, YEPCHAT, Cloudflare, TurboSeek, NetFly, Editee, AI21, Chatify, Cerebras, X0GPT
|
|
1397
1356
|
code similar to other provider
|
|
1398
1357
|
### `LLM`
|
|
1399
1358
|
```python
|
|
@@ -5,8 +5,8 @@ with open("README.md", encoding="utf-8") as f:
|
|
|
5
5
|
|
|
6
6
|
setup(
|
|
7
7
|
name="webscout",
|
|
8
|
-
version="5.
|
|
9
|
-
description="Search for anything using Google, DuckDuckGo,
|
|
8
|
+
version="5.3",
|
|
9
|
+
description="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",
|
|
10
10
|
long_description=README,
|
|
11
11
|
long_description_content_type="text/markdown",
|
|
12
12
|
author="OEvortex",
|