webscout 1.0.9__tar.gz → 1.1.2__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.

@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: webscout
3
- Version: 1.0.9
3
+ Version: 1.1.2
4
4
  Summary: Search for words, documents, images, videos, news, maps and text translation using the DuckDuckGo.com, yep.com, phind.com and you.com Also containes AI models
5
5
  Author: OEvortex
6
6
  Author-email: helpingai5@gmail.com
@@ -32,6 +32,8 @@ Requires-Dist: tqdm>=4.64.0
32
32
  Requires-Dist: webdriver-manager>=3.5.4
33
33
  Requires-Dist: halo>=0.0.31
34
34
  Requires-Dist: g4f>=0.2.2.3
35
+ Requires-Dist: rich
36
+ Requires-Dist: python-dotenv
35
37
  Provides-Extra: dev
36
38
  Requires-Dist: ruff>=0.1.6; extra == "dev"
37
39
  Requires-Dist: pytest>=7.4.2; extra == "dev"
@@ -44,11 +46,12 @@ Also containes AI models that you can use
44
46
  - [Table of Contents](#table-of-contents)
45
47
  - [Install](#install)
46
48
  - [CLI version](#cli-version)
47
- - [CLI version of AI](#cli-version-of-ai)
49
+ - [CLI version of webscout.AI](#cli-version-of-webscoutai)
50
+ - [CLI to use LLM](#cli-to-use-llm)
48
51
  - [Regions](#regions)
49
52
  - [WEBS and AsyncWEBS classes](#webs-and-asyncwebs-classes)
50
53
  - [Exceptions](#exceptions)
51
- - [usage](#usage)
54
+ - [usage of webscout](#usage-of-webscout)
52
55
  - [1. `text()` - text search by DuckDuckGo.com and Yep.com](#1-text---text-search-by-duckduckgocom-and-yepcom)
53
56
  - [2. `answers()` - instant answers by DuckDuckGo.com and Yep.com](#2-answers---instant-answers-by-duckduckgocom-and-yepcom)
54
57
  - [3. `images()` - image search by DuckDuckGo.com and Yep.com](#3-images---image-search-by-duckduckgocom-and-yepcom)
@@ -57,12 +60,17 @@ Also containes AI models that you can use
57
60
  - [6. `maps()` - map search by DuckDuckGo.com and](#6-maps---map-search-by-duckduckgocom-and)
58
61
  - [7. `translate()` - translation by DuckDuckGo.com and Yep.com](#7-translate---translation-by-duckduckgocom-and-yepcom)
59
62
  - [8. `suggestions()` - suggestions by DuckDuckGo.com and Yep.com](#8-suggestions---suggestions-by-duckduckgocom-and-yepcom)
60
- - [9. `PhindSearch` - Search using Phind.com](#9-phindsearch---search-using-phindcom)
61
- - [10. `YepChat` - Chat with mistral 8x7b powered by yepchat](#10-yepchat---chat-with-mistral-8x7b-powered-by-yepchat)
62
- - [11. `You.com` - search with you.com](#11-youcom---search-with-youcom)
63
- - [12. `Gemini` - search with google gemini](#12-gemini---search-with-google-gemini)
64
- - [13. `Prodia` - make image using prodia](#13-prodia---make-image-using-prodia)
63
+ - [usage of webscout.AI](#usage-of-webscoutai)
64
+ - [1. `PhindSearch` - Search using Phind.com](#1-phindsearch---search-using-phindcom)
65
+ - [2. `YepChat` - Chat with mistral 8x7b powered by yepchat](#2-yepchat---chat-with-mistral-8x7b-powered-by-yepchat)
66
+ - [3. `You.com` - search with you.com](#3-youcom---search-with-youcom)
67
+ - [4. `Gemini` - search with google gemini](#4-gemini---search-with-google-gemini)
68
+ - [usage of image generator from Webscout.AI](#usage-of-image-generator-from-webscoutai)
69
+ - [5. `Prodia` - make image using prodia](#5-prodia---make-image-using-prodia)
70
+ - [usage of special .LLM file from webscout (webscout.LLM)](#usage-of-special-llm-file-from-webscout-webscoutllm)
71
+ - [`LLM`](#llm)
65
72
  - [Version History](#version-history)
73
+ - [v1.1.0](#v110)
66
74
  - [v1.0.9](#v109)
67
75
  - [v1.0.8](#v108)
68
76
  - [v1.0.7](#v107)
@@ -91,26 +99,22 @@ python -m webscout --help
91
99
  | python -m webscout version | A command-line interface command that prints and returns the version of the program. |
92
100
  | python -m webscout videos -k Text | CLI function to perform a videos search using DuckDuckGo API. |
93
101
 
94
- ## CLI version of AI
102
+ ## CLI version of webscout.AI
95
103
 
96
- ```python3
97
- python -m webscout.AI phindsearch --query "your_query_here"
98
- ```
99
104
 
100
- ```python
101
- python -m webscout.AI yepchat --message "your_message_here"
102
- ```
105
+ | Command | Description |
106
+ |--------------------------------------------|--------------------------------------------------------------------------------------------------------|
107
+ | `python -m webscout.AI phindsearch --query "your_query_here"` | CLI function to perform a search query using Webscout.AI's Phindsearch feature. |
108
+ | `python -m webscout.AI yepchat --message "your_message_here"` | CLI function to send a message using Webscout.AI's Yepchat feature. |
109
+ | `python -m webscout.AI youchat --prompt "your_prompt_here"` | CLI function to generate a response based on a prompt using Webscout.AI's Youchat feature. |
110
+ | `python -m webscout.AI gemini --message "tell me about gemma 7b"` | CLI function to get information about a specific topic using Webscout.AI's Gemini feature. |
111
+ | `python -m webscout.AI prodia --prompt "car"` | CLI function to generate content related to a prompt using Webscout.AI's Prodia feature. |
103
112
 
104
- ```python
105
- python -m webscout.AI youchat --prompt "your_prompt_here"
106
- ```
107
113
 
108
- ```python
109
- python -m webscout.AI gemini --message "tell me about gemma 7b"
110
- ```
111
114
 
115
+ ## CLI to use LLM
112
116
  ```python
113
- python -m webscout.AI prodia --prompt "car"
117
+ python -m webscout.LLM model_name
114
118
  ```
115
119
  [Go To TOP](#TOP)
116
120
 
@@ -261,8 +265,7 @@ This ensures proper resource management and cleanup, as the context manager will
261
265
  Exceptions:
262
266
  - `WebscoutE`: Raised when there is a generic exception during the API request.
263
267
 
264
- ## usage
265
- Here are the rewritten Python scripts for accessing various functionalities using the WEBS class from the webscout module, in HelpingAI style, for DuckDuckGo.com and Yep.com without explicitly specifying the search engine:
268
+ ## usage of webscout
266
269
 
267
270
  ### 1. `text()` - text search by DuckDuckGo.com and Yep.com
268
271
 
@@ -302,11 +305,10 @@ with WEBS() as WEBS:
302
305
  region="wt-wt",
303
306
  safesearch="off",
304
307
  size=None,
305
- color="Monochrome",
306
308
  type_image=None,
307
309
  layout=None,
308
310
  license_image=None,
309
- max_results=100,
311
+ max_results=10,
310
312
  )
311
313
  for r in WEBS_images_gen:
312
314
  print(r)
@@ -327,7 +329,7 @@ with WEBS() as WEBS:
327
329
  timelimit="w",
328
330
  resolution="high",
329
331
  duration="medium",
330
- max_results=100,
332
+ max_results=10,
331
333
  )
332
334
  for r in WEBS_videos_gen:
333
335
  print(r)
@@ -381,15 +383,13 @@ with WEBS() as WEBS:
381
383
  from webscout import WEBS
382
384
 
383
385
  # Suggestions for the keyword 'fly' using DuckDuckGo.com and Yep
384
- #
385
-
386
- .com
387
386
  with WEBS() as WEBS:
388
387
  for r in WEBS.suggestions("fly"):
389
388
  print(r)
390
389
  ```
390
+ ## usage of webscout.AI
391
391
 
392
- ### 9. `PhindSearch` - Search using Phind.com
392
+ ### 1. `PhindSearch` - Search using Phind.com
393
393
  Thanks to Empyros for PhindSearch function
394
394
  ```python
395
395
  from webscout.AI import PhindSearch
@@ -401,7 +401,7 @@ WEBSAI = PhindSearch(query)
401
401
 
402
402
  WEBSAI.search()
403
403
  ```
404
- ### 10. `YepChat` - Chat with mistral 8x7b powered by yepchat
404
+ ### 2. `YepChat` - Chat with mistral 8x7b powered by yepchat
405
405
  Thanks To Divyansh Shukla for This code
406
406
  ```python
407
407
  from webscout.AI import YepChat
@@ -421,7 +421,7 @@ if __name__ == "__main__":
421
421
  main()
422
422
  ```
423
423
 
424
- ### 11. `You.com` - search with you.com
424
+ ### 3. `You.com` - search with you.com
425
425
  ```python
426
426
  from webscout.AI import youChat
427
427
 
@@ -444,7 +444,7 @@ while True:
444
444
  print("⚠️ An error occurred:", e)
445
445
  ```
446
446
 
447
- ### 12. `Gemini` - search with google gemini
447
+ ### 4. `Gemini` - search with google gemini
448
448
 
449
449
  ```python
450
450
  from webscout.AI import Gemini
@@ -458,7 +458,8 @@ response = gemini.chat("Your message here")
458
458
  # Print the response from the Gemini assistant
459
459
  print(response)
460
460
  ```
461
- ### 13. `Prodia` - make image using prodia
461
+ ## usage of image generator from Webscout.AI
462
+ ### 5. `Prodia` - make image using prodia
462
463
  ```python
463
464
  from webscout.AI import Prodia
464
465
 
@@ -468,23 +469,40 @@ prompt = "A beautiful sunset over the ocean"
468
469
  # Use the prodia_cli method to generate an image based on the prompt
469
470
  Prodia.prodia_cli(prompt)
470
471
  ```
472
+ ## usage of special .LLM file from webscout (webscout.LLM)
473
+
474
+ ### `LLM`
475
+ ```python
476
+ from webscout.LLM import LLM
477
+
478
+ def chat(model_name):
479
+ AI = LLM(model_name)
480
+ AI.chat()
481
+
482
+ if __name__ == "__main__":
483
+ model_name = "mistralai/Mistral-7B-Instruct-v0.1" # name of the model you wish to use It supports ALL text generation models on deepinfra.com.
484
+ chat(model_name)
485
+ ```
471
486
 
472
487
  ## Version History
488
+ ### v1.1.0
489
+ 🌟 Added LLMs as webscout.LLM
490
+ 🔧 Resolved issue related to Prodia functionality
473
491
 
474
492
  ### v1.0.9
475
- - Added Prodia as image generator in webscout.AI
476
-
493
+ 🌌 Added Prodia as an image generator in webscout.AI
494
+
477
495
  ### v1.0.8
478
- - Solved issue related to Gemini and Yep Chat functions in the Webscout package. 🌟
479
- Now, Gemini function returns correct outputs without duplication.
480
- Yep Chat function provides accurate responses without repeating them multiple times. 🚀
496
+ 🚀 Solved issues related to Gemini and Yep Chat functions within the Webscout package.
497
+ 🌟 Gemini function now provides correct outputs without duplication.
498
+ 🌟 Yep Chat function delivers accurate responses without repeating them multiple times.
481
499
 
482
500
  ### v1.0.7
483
- - Added gemini as webscout.AI
501
+ 🌟 Added Gemini as part of webscout.AI
484
502
 
485
503
  ### v1.0.6
486
- - Added yep.com as a search engine
487
- - Fixed an error related to translation functionality
488
- - Introduced Phind AI as webscout.AI
489
- - Included YepChat as webscout.AI
490
- - Integrated You.com as webscout.AI
504
+ 🌟 Integrated yep.com as a search engine
505
+ 🔧 Resolved error associated with the translation feature
506
+ 🌟 Introduced Phind AI within webscout.AI
507
+ 🌟 Included YepChat as part of webscout.AI
508
+ 🌟 Integrated You.com as part of webscout.AI
@@ -6,11 +6,12 @@ Also containes AI models that you can use
6
6
  - [Table of Contents](#table-of-contents)
7
7
  - [Install](#install)
8
8
  - [CLI version](#cli-version)
9
- - [CLI version of AI](#cli-version-of-ai)
9
+ - [CLI version of webscout.AI](#cli-version-of-webscoutai)
10
+ - [CLI to use LLM](#cli-to-use-llm)
10
11
  - [Regions](#regions)
11
12
  - [WEBS and AsyncWEBS classes](#webs-and-asyncwebs-classes)
12
13
  - [Exceptions](#exceptions)
13
- - [usage](#usage)
14
+ - [usage of webscout](#usage-of-webscout)
14
15
  - [1. `text()` - text search by DuckDuckGo.com and Yep.com](#1-text---text-search-by-duckduckgocom-and-yepcom)
15
16
  - [2. `answers()` - instant answers by DuckDuckGo.com and Yep.com](#2-answers---instant-answers-by-duckduckgocom-and-yepcom)
16
17
  - [3. `images()` - image search by DuckDuckGo.com and Yep.com](#3-images---image-search-by-duckduckgocom-and-yepcom)
@@ -19,12 +20,17 @@ Also containes AI models that you can use
19
20
  - [6. `maps()` - map search by DuckDuckGo.com and](#6-maps---map-search-by-duckduckgocom-and)
20
21
  - [7. `translate()` - translation by DuckDuckGo.com and Yep.com](#7-translate---translation-by-duckduckgocom-and-yepcom)
21
22
  - [8. `suggestions()` - suggestions by DuckDuckGo.com and Yep.com](#8-suggestions---suggestions-by-duckduckgocom-and-yepcom)
22
- - [9. `PhindSearch` - Search using Phind.com](#9-phindsearch---search-using-phindcom)
23
- - [10. `YepChat` - Chat with mistral 8x7b powered by yepchat](#10-yepchat---chat-with-mistral-8x7b-powered-by-yepchat)
24
- - [11. `You.com` - search with you.com](#11-youcom---search-with-youcom)
25
- - [12. `Gemini` - search with google gemini](#12-gemini---search-with-google-gemini)
26
- - [13. `Prodia` - make image using prodia](#13-prodia---make-image-using-prodia)
23
+ - [usage of webscout.AI](#usage-of-webscoutai)
24
+ - [1. `PhindSearch` - Search using Phind.com](#1-phindsearch---search-using-phindcom)
25
+ - [2. `YepChat` - Chat with mistral 8x7b powered by yepchat](#2-yepchat---chat-with-mistral-8x7b-powered-by-yepchat)
26
+ - [3. `You.com` - search with you.com](#3-youcom---search-with-youcom)
27
+ - [4. `Gemini` - search with google gemini](#4-gemini---search-with-google-gemini)
28
+ - [usage of image generator from Webscout.AI](#usage-of-image-generator-from-webscoutai)
29
+ - [5. `Prodia` - make image using prodia](#5-prodia---make-image-using-prodia)
30
+ - [usage of special .LLM file from webscout (webscout.LLM)](#usage-of-special-llm-file-from-webscout-webscoutllm)
31
+ - [`LLM`](#llm)
27
32
  - [Version History](#version-history)
33
+ - [v1.1.0](#v110)
28
34
  - [v1.0.9](#v109)
29
35
  - [v1.0.8](#v108)
30
36
  - [v1.0.7](#v107)
@@ -53,26 +59,22 @@ python -m webscout --help
53
59
  | python -m webscout version | A command-line interface command that prints and returns the version of the program. |
54
60
  | python -m webscout videos -k Text | CLI function to perform a videos search using DuckDuckGo API. |
55
61
 
56
- ## CLI version of AI
62
+ ## CLI version of webscout.AI
57
63
 
58
- ```python3
59
- python -m webscout.AI phindsearch --query "your_query_here"
60
- ```
61
64
 
62
- ```python
63
- python -m webscout.AI yepchat --message "your_message_here"
64
- ```
65
+ | Command | Description |
66
+ |--------------------------------------------|--------------------------------------------------------------------------------------------------------|
67
+ | `python -m webscout.AI phindsearch --query "your_query_here"` | CLI function to perform a search query using Webscout.AI's Phindsearch feature. |
68
+ | `python -m webscout.AI yepchat --message "your_message_here"` | CLI function to send a message using Webscout.AI's Yepchat feature. |
69
+ | `python -m webscout.AI youchat --prompt "your_prompt_here"` | CLI function to generate a response based on a prompt using Webscout.AI's Youchat feature. |
70
+ | `python -m webscout.AI gemini --message "tell me about gemma 7b"` | CLI function to get information about a specific topic using Webscout.AI's Gemini feature. |
71
+ | `python -m webscout.AI prodia --prompt "car"` | CLI function to generate content related to a prompt using Webscout.AI's Prodia feature. |
65
72
 
66
- ```python
67
- python -m webscout.AI youchat --prompt "your_prompt_here"
68
- ```
69
73
 
70
- ```python
71
- python -m webscout.AI gemini --message "tell me about gemma 7b"
72
- ```
73
74
 
75
+ ## CLI to use LLM
74
76
  ```python
75
- python -m webscout.AI prodia --prompt "car"
77
+ python -m webscout.LLM model_name
76
78
  ```
77
79
  [Go To TOP](#TOP)
78
80
 
@@ -223,8 +225,7 @@ This ensures proper resource management and cleanup, as the context manager will
223
225
  Exceptions:
224
226
  - `WebscoutE`: Raised when there is a generic exception during the API request.
225
227
 
226
- ## usage
227
- Here are the rewritten Python scripts for accessing various functionalities using the WEBS class from the webscout module, in HelpingAI style, for DuckDuckGo.com and Yep.com without explicitly specifying the search engine:
228
+ ## usage of webscout
228
229
 
229
230
  ### 1. `text()` - text search by DuckDuckGo.com and Yep.com
230
231
 
@@ -264,11 +265,10 @@ with WEBS() as WEBS:
264
265
  region="wt-wt",
265
266
  safesearch="off",
266
267
  size=None,
267
- color="Monochrome",
268
268
  type_image=None,
269
269
  layout=None,
270
270
  license_image=None,
271
- max_results=100,
271
+ max_results=10,
272
272
  )
273
273
  for r in WEBS_images_gen:
274
274
  print(r)
@@ -289,7 +289,7 @@ with WEBS() as WEBS:
289
289
  timelimit="w",
290
290
  resolution="high",
291
291
  duration="medium",
292
- max_results=100,
292
+ max_results=10,
293
293
  )
294
294
  for r in WEBS_videos_gen:
295
295
  print(r)
@@ -343,15 +343,13 @@ with WEBS() as WEBS:
343
343
  from webscout import WEBS
344
344
 
345
345
  # Suggestions for the keyword 'fly' using DuckDuckGo.com and Yep
346
- #
347
-
348
- .com
349
346
  with WEBS() as WEBS:
350
347
  for r in WEBS.suggestions("fly"):
351
348
  print(r)
352
349
  ```
350
+ ## usage of webscout.AI
353
351
 
354
- ### 9. `PhindSearch` - Search using Phind.com
352
+ ### 1. `PhindSearch` - Search using Phind.com
355
353
  Thanks to Empyros for PhindSearch function
356
354
  ```python
357
355
  from webscout.AI import PhindSearch
@@ -363,7 +361,7 @@ WEBSAI = PhindSearch(query)
363
361
 
364
362
  WEBSAI.search()
365
363
  ```
366
- ### 10. `YepChat` - Chat with mistral 8x7b powered by yepchat
364
+ ### 2. `YepChat` - Chat with mistral 8x7b powered by yepchat
367
365
  Thanks To Divyansh Shukla for This code
368
366
  ```python
369
367
  from webscout.AI import YepChat
@@ -383,7 +381,7 @@ if __name__ == "__main__":
383
381
  main()
384
382
  ```
385
383
 
386
- ### 11. `You.com` - search with you.com
384
+ ### 3. `You.com` - search with you.com
387
385
  ```python
388
386
  from webscout.AI import youChat
389
387
 
@@ -406,7 +404,7 @@ while True:
406
404
  print("⚠️ An error occurred:", e)
407
405
  ```
408
406
 
409
- ### 12. `Gemini` - search with google gemini
407
+ ### 4. `Gemini` - search with google gemini
410
408
 
411
409
  ```python
412
410
  from webscout.AI import Gemini
@@ -420,7 +418,8 @@ response = gemini.chat("Your message here")
420
418
  # Print the response from the Gemini assistant
421
419
  print(response)
422
420
  ```
423
- ### 13. `Prodia` - make image using prodia
421
+ ## usage of image generator from Webscout.AI
422
+ ### 5. `Prodia` - make image using prodia
424
423
  ```python
425
424
  from webscout.AI import Prodia
426
425
 
@@ -430,23 +429,40 @@ prompt = "A beautiful sunset over the ocean"
430
429
  # Use the prodia_cli method to generate an image based on the prompt
431
430
  Prodia.prodia_cli(prompt)
432
431
  ```
432
+ ## usage of special .LLM file from webscout (webscout.LLM)
433
+
434
+ ### `LLM`
435
+ ```python
436
+ from webscout.LLM import LLM
437
+
438
+ def chat(model_name):
439
+ AI = LLM(model_name)
440
+ AI.chat()
441
+
442
+ if __name__ == "__main__":
443
+ model_name = "mistralai/Mistral-7B-Instruct-v0.1" # name of the model you wish to use It supports ALL text generation models on deepinfra.com.
444
+ chat(model_name)
445
+ ```
433
446
 
434
447
  ## Version History
448
+ ### v1.1.0
449
+ 🌟 Added LLMs as webscout.LLM
450
+ 🔧 Resolved issue related to Prodia functionality
435
451
 
436
452
  ### v1.0.9
437
- - Added Prodia as image generator in webscout.AI
438
-
453
+ 🌌 Added Prodia as an image generator in webscout.AI
454
+
439
455
  ### v1.0.8
440
- - Solved issue related to Gemini and Yep Chat functions in the Webscout package. 🌟
441
- Now, Gemini function returns correct outputs without duplication.
442
- Yep Chat function provides accurate responses without repeating them multiple times. 🚀
456
+ 🚀 Solved issues related to Gemini and Yep Chat functions within the Webscout package.
457
+ 🌟 Gemini function now provides correct outputs without duplication.
458
+ 🌟 Yep Chat function delivers accurate responses without repeating them multiple times.
443
459
 
444
460
  ### v1.0.7
445
- - Added gemini as webscout.AI
461
+ 🌟 Added Gemini as part of webscout.AI
446
462
 
447
463
  ### v1.0.6
448
- - Added yep.com as a search engine
449
- - Fixed an error related to translation functionality
450
- - Introduced Phind AI as webscout.AI
451
- - Included YepChat as webscout.AI
452
- - Integrated You.com as webscout.AI
464
+ 🌟 Integrated yep.com as a search engine
465
+ 🔧 Resolved error associated with the translation feature
466
+ 🌟 Introduced Phind AI within webscout.AI
467
+ 🌟 Included YepChat as part of webscout.AI
468
+ 🌟 Integrated You.com as part of webscout.AI
@@ -10,7 +10,7 @@ with open("README.md", encoding="utf-8") as f:
10
10
 
11
11
  setup(
12
12
  name="webscout",
13
- version="1.0.9", # Use the version variable from the version.py file
13
+ version="1.1.2", # Use the version variable from the version.py file
14
14
  description="Search for words, documents, images, videos, news, maps and text translation using the DuckDuckGo.com, yep.com, phind.com and you.com Also containes AI models",
15
15
  long_description=README,
16
16
  long_description_content_type="text/markdown",
@@ -41,6 +41,8 @@ setup(
41
41
  "webdriver-manager>=3.5.4",
42
42
  "halo>=0.0.31",
43
43
  "g4f>=0.2.2.3",
44
+ "rich",
45
+ "python-dotenv",
44
46
  ],
45
47
  entry_points={
46
48
  "console_scripts": [
@@ -48,6 +50,7 @@ setup(
48
50
  "webscout-ai-phindsearch = webscout.AI:phindsearch",
49
51
  "webscout-ai-yepchat = webscout.AI:yepchat",
50
52
  "webscout-ai = webscout.AI:cli",
53
+ "webscout-llm = webscout.LLM:chat",
51
54
  ],
52
55
  },
53
56
  extras_require={
@@ -44,7 +44,7 @@ class PhindSearch:
44
44
 
45
45
  for text in paragraph_texts:
46
46
  spinner.stop()
47
- print(text)
47
+ return text
48
48
 
49
49
  finally:
50
50
  self.driver.quit()
@@ -193,8 +193,6 @@ class Gemini:
193
193
  ms = ""
194
194
  for message in response:
195
195
  ms += message
196
- print(ms.strip(), end="", flush=True) # Ensure no trailing whitespace is printed
197
- print()
198
196
  self.messages.append({"role": "assistant", "content": ms.strip()}) # Strip whitespace from the message content
199
197
  return ms.strip() # Return the message without trailing whitespace
200
198
 
@@ -202,7 +200,7 @@ class Gemini:
202
200
  def chat_cli(message):
203
201
  """Generate completion based on the provided message"""
204
202
  gemini = Gemini()
205
- gemini.chat(message)
203
+ return gemini.chat(message)
206
204
  #------------------------------------------------Prodia-------------------------------------------------------------------------
207
205
  class Prodia:
208
206
  """
@@ -267,7 +265,7 @@ class Prodia:
267
265
  image.show()
268
266
  except Exception as e:
269
267
  print(f"An error occurred: {e}")
270
-
268
+ #-------------------------------------------------------Pollination--------------------------------------------------------------------------------------
271
269
  class Pollinations:
272
270
  """
273
271
  This class provides methods for generating images based on prompts.
@@ -0,0 +1,192 @@
1
+ import warnings
2
+ from selenium import webdriver
3
+ from selenium.webdriver.chrome.options import Options
4
+ from selenium.webdriver.common.by import By
5
+ from selenium.common.exceptions import NoSuchElementException
6
+ import time
7
+ import os
8
+ import requests
9
+ from rich import print
10
+ from dotenv import load_dotenv
11
+ import random
12
+ import string
13
+ import json
14
+ from typing import NoReturn, List, Dict, Union
15
+ import requests
16
+ from uuid import uuid4
17
+ from re import findall
18
+ from curl_cffi.requests import get, RequestsError
19
+ import time
20
+ from selenium import webdriver
21
+ from selenium.webdriver.chrome.options import Options
22
+ from selenium.webdriver.common.by import By
23
+ from selenium.webdriver.support import expected_conditions as EC
24
+ from selenium.webdriver.support.ui import WebDriverWait
25
+ from halo import Halo
26
+
27
+ class ChatBot:
28
+ def __init__(self):
29
+ load_dotenv()
30
+ options = Options()
31
+ options.add_argument('--no-sandbox')
32
+ options.add_argument('--headless')
33
+ options.add_argument('--disable-dev-shm-usage')
34
+ options.add_argument("start-maximized")
35
+ options.add_argument("disable-infobars")
36
+ options.add_argument("--disable-extensions")
37
+ options.add_argument("--disable-gpu")
38
+ options.add_argument("--disable-dev-shm-usage")
39
+ options.add_argument('--log-level=3') # Add this line
40
+ warnings.simplefilter("ignore")
41
+ # Initialize WebDriver
42
+ self.driver = webdriver.Chrome(options=options)
43
+
44
+ self.HelpingAI = os.getenv('HELPING_AI_URL')
45
+ # Navigate to the target URL
46
+ self.driver.get(self.HelpingAI)
47
+ time.sleep(7)
48
+
49
+ # Security Bypass: Refresh the page if the title contains 'just a moment'
50
+ while 'just a moment' in self.driver.title.lower():
51
+ self.driver.refresh()
52
+
53
+ # Initialize Chat_Num
54
+ self.Chat_Num = 2
55
+
56
+ # Function to increment Chat_Num
57
+ def increment_chat_num(self):
58
+ self.Chat_Num = str(int(self.Chat_Num) + 1)
59
+
60
+ # Function to send a query and retrieve response
61
+ def send_query(self, query):
62
+ text_box_xpath = "/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/form/fieldset/textarea"
63
+ send_button_xpath = "/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/form/fieldset/button"
64
+ response_xpath = f"/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/div/div/div[{self.Chat_Num}]/div[2]"
65
+ button_xpath = f"/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/div/div/div[{self.Chat_Num}]/div[1]/div/form/div/div[1]/button"
66
+
67
+ # Find the text box, enter query, and click send
68
+ text_box = self.driver.find_element(by=By.XPATH, value=text_box_xpath)
69
+ text_box.clear()
70
+ text_box.send_keys(query)
71
+ time.sleep(0.25) # Pause for 1 second after typing query
72
+
73
+ send_button = self.driver.find_element(by=By.XPATH, value=send_button_xpath)
74
+ send_button.click()
75
+
76
+ # Continuously check for the presence of the button every second
77
+ while True:
78
+ try:
79
+ button = self.driver.find_element(by=By.XPATH, value=button_xpath)
80
+ # If the button is found, retrieve and print the response
81
+ response = self.driver.find_element(by=By.XPATH, value=response_xpath).text
82
+ print("🤖:", response)
83
+ break
84
+ except NoSuchElementException:
85
+ time.sleep(0.25) # If the button is not found, wait for 1 second before checking again
86
+
87
+ self.increment_chat_num()
88
+
89
+ # Function to ask the user for a query, send it, and print the response
90
+ def query_chat(self):
91
+ while True:
92
+ query = input("🧑: ")
93
+ if query.lower() == 'exit':
94
+ break
95
+
96
+ self.send_query(query)
97
+ time.sleep(0.25) # Pause for 1 second before asking for the next query
98
+
99
+ # Close the browser window
100
+ def close(self):
101
+ self.driver.quit()
102
+
103
+ class WEBS:
104
+ def __init__(self):
105
+ load_dotenv()
106
+ options = Options()
107
+ options.add_argument('--no-sandbox')
108
+ options.add_argument('--headless')
109
+ options.add_argument('--disable-dev-shm-usage')
110
+ options.add_argument("start-maximized")
111
+ options.add_argument("disable-infobars")
112
+ options.add_argument("--disable-extensions")
113
+ options.add_argument("--disable-gpu")
114
+ options.add_argument("--disable-dev-shm-usage")
115
+ options.add_argument('--log-level=3')
116
+ warnings.simplefilter("ignore")
117
+ # Initialize WebDriver without specifying the path to the driver
118
+ self.driver = webdriver.Chrome(options=options)
119
+
120
+ self.HelpingAI = os.getenv('HELPING_AI_URL')
121
+ # Navigate to the target URL
122
+ self.driver.get(self.HelpingAI)
123
+ time.sleep(7)
124
+
125
+ # Security Bypass: Refresh the page if the title contains 'just a moment'
126
+ while 'just a moment' in self.driver.title.lower():
127
+ self.driver.refresh()
128
+
129
+ # Initialize Chat_Num
130
+ self.Chat_Num = 2
131
+
132
+ # Function to increment Chat_Num
133
+ def increment_chat_num(self):
134
+ self.Chat_Num = str(int(self.Chat_Num) + 1)
135
+
136
+ # Function to send a query and retrieve response
137
+ def send_query(self, prompt):
138
+ text_box_xpath = "/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/form/fieldset/textarea"
139
+ send_button_xpath = "/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/form/fieldset/button"
140
+ response_xpath = f"/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/div/div/div[{self.Chat_Num}]/div[2]"
141
+ button_xpath = f"/html/body/div[1]/main/div[1]/div/div/div/div/div/div/div/div/div/div[{self.Chat_Num}]/div[1]/div/form/div/div[1]/button"
142
+
143
+ # Find the text box, enter prompt, and click send
144
+ text_box = self.driver.find_element(by=By.XPATH, value=text_box_xpath)
145
+ text_box.clear()
146
+ text_box.send_keys(prompt)
147
+ time.sleep(1) # Pause for 1 second after typing prompt
148
+
149
+ send_button = self.driver.find_element(by=By.XPATH, value=send_button_xpath)
150
+ send_button.click()
151
+
152
+ # Continuously check for the presence of the button every second
153
+ while True:
154
+ try:
155
+ button = self.driver.find_element(by=By.XPATH, value=button_xpath)
156
+ # If the button is found, retrieve and print the response
157
+ response = self.driver.find_element(by=By.XPATH, value=response_xpath).text
158
+ print("🤖:", response)
159
+ break
160
+ except NoSuchElementException:
161
+ time.sleep(0.25) # If the button is not found, wait for 1 second before checking again
162
+
163
+ self.increment_chat_num()
164
+
165
+ # Function to perform web search
166
+ def web_search(self, query):
167
+ url = os.getenv('WEB_SEARCH_URL')
168
+ payload = {"query": query}
169
+ response = requests.post(url, json=payload)
170
+
171
+ if response.status_code == 200:
172
+ return response.json()
173
+ else:
174
+ print("Error:", response.status_code)
175
+
176
+ # Function to ask the user for a prompt, send it, and print the response
177
+ def query_chat(self):
178
+ while True:
179
+ prompt = input("🧑: ")
180
+ if prompt.lower() == 'exit':
181
+ break
182
+
183
+ # Perform web search
184
+ search_results = self.web_search(prompt)
185
+
186
+ # Pass the search results and the prompt to the AI
187
+ self.send_query(f"users question:{prompt} web search results: {search_results} Answer in HelpingAI style**note you have internet access and only use search_results when necessary also dont give links or urls (when users is asking something that needs realtime data)**")
188
+ time.sleep(0.25) # Pause for 1 second before asking for the next prompt
189
+
190
+ # Close the browser window
191
+ def close(self):
192
+ self.driver.quit()
@@ -0,0 +1,67 @@
1
+ import argparse
2
+ import requests
3
+ import json
4
+ from typing import List, Dict, Union
5
+
6
+ class LLM:
7
+ def __init__(self, model: str):
8
+ self.model = model
9
+ self.conversation_history = [{"role": "system", "content": "You are a Helpful AI."}]
10
+
11
+ def mistral_chat(self, messages: List[Dict[str, str]]) -> Union[str, None]:
12
+ url = "https://api.deepinfra.com/v1/openai/chat/completions"
13
+ headers = {
14
+ 'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/119.0.0.0 Safari/537.36',
15
+ 'Accept-Language': 'en,fr-FR;q=0.9,fr;q=0.8,es-ES;q=0.7,es;q=0.6,en-US;q=0.5,am;q=0.4,de;q=0.3',
16
+ 'Cache-Control': 'no-cache',
17
+ 'Connection': 'keep-alive',
18
+ 'Content-Type': 'application/json',
19
+ 'Origin': 'https://deepinfra.com',
20
+ 'Pragma': 'no-cache',
21
+ 'Referer': 'https://deepinfra.com/',
22
+ 'Sec-Fetch-Dest': 'empty',
23
+ 'Sec-Fetch-Mode': 'cors',
24
+ 'Sec-Fetch-Site': 'same-site',
25
+ 'X-Deepinfra-Source': 'web-embed',
26
+ 'accept': 'text/event-stream',
27
+ 'sec-ch-ua': '"Google Chrome";v="119", "Chromium";v="119", "Not?A_Brand";v="24"',
28
+ 'sec-ch-ua-mobile': '?0',
29
+ 'sec-ch-ua-platform': '"macOS"'
30
+ }
31
+ data = json.dumps(
32
+ {
33
+ 'model': self.model,
34
+ 'messages': messages,
35
+ 'temperature': 0.7,
36
+ 'max_tokens': 4028,
37
+ 'stop': [],
38
+ 'stream': False
39
+ }, separators=(',', ':')
40
+ )
41
+ try:
42
+ result = requests.post(url=url, data=data, headers=headers)
43
+ return result.json()['choices'][0]['message']['content']
44
+ except:
45
+ return None
46
+
47
+ def chat(self):
48
+ while True:
49
+ prompt = input("👦: ")
50
+ user_message = {"role": "user", "content": prompt}
51
+ self.conversation_history.append(user_message)
52
+ try:
53
+ resp = self.mistral_chat(self.conversation_history)
54
+ print(f"🤖: {resp}")
55
+ self.conversation_history.append({"role": "assistant", "content": resp})
56
+ except Exception as e:
57
+ print(f"🤖: Oops, something went wrong: {e}! Looks like even AI needs some oiling sometimes.")
58
+
59
+ if __name__ == "__main__":
60
+ parser = argparse.ArgumentParser(description='LLM CLI', epilog='To use a specific model, run:\n'
61
+ 'python -m webscout.LLM model_name\n'
62
+ 'Replace "model_name" with the name of the model you wish to use It supports ALL text generation models on deepinfra.com.')
63
+ parser.add_argument('model', type=str, help='Model to use for text generation. Specify the full model name, e.g., "mistralai/Mistral-7B-Instruct-v0.1".')
64
+ args = parser.parse_args()
65
+
66
+ LLM = LLM(args.model)
67
+ LLM.chat()
@@ -0,0 +1,2 @@
1
+ __version__ = "1.1.2"
2
+
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: webscout
3
- Version: 1.0.9
3
+ Version: 1.1.2
4
4
  Summary: Search for words, documents, images, videos, news, maps and text translation using the DuckDuckGo.com, yep.com, phind.com and you.com Also containes AI models
5
5
  Author: OEvortex
6
6
  Author-email: helpingai5@gmail.com
@@ -32,6 +32,8 @@ Requires-Dist: tqdm>=4.64.0
32
32
  Requires-Dist: webdriver-manager>=3.5.4
33
33
  Requires-Dist: halo>=0.0.31
34
34
  Requires-Dist: g4f>=0.2.2.3
35
+ Requires-Dist: rich
36
+ Requires-Dist: python-dotenv
35
37
  Provides-Extra: dev
36
38
  Requires-Dist: ruff>=0.1.6; extra == "dev"
37
39
  Requires-Dist: pytest>=7.4.2; extra == "dev"
@@ -44,11 +46,12 @@ Also containes AI models that you can use
44
46
  - [Table of Contents](#table-of-contents)
45
47
  - [Install](#install)
46
48
  - [CLI version](#cli-version)
47
- - [CLI version of AI](#cli-version-of-ai)
49
+ - [CLI version of webscout.AI](#cli-version-of-webscoutai)
50
+ - [CLI to use LLM](#cli-to-use-llm)
48
51
  - [Regions](#regions)
49
52
  - [WEBS and AsyncWEBS classes](#webs-and-asyncwebs-classes)
50
53
  - [Exceptions](#exceptions)
51
- - [usage](#usage)
54
+ - [usage of webscout](#usage-of-webscout)
52
55
  - [1. `text()` - text search by DuckDuckGo.com and Yep.com](#1-text---text-search-by-duckduckgocom-and-yepcom)
53
56
  - [2. `answers()` - instant answers by DuckDuckGo.com and Yep.com](#2-answers---instant-answers-by-duckduckgocom-and-yepcom)
54
57
  - [3. `images()` - image search by DuckDuckGo.com and Yep.com](#3-images---image-search-by-duckduckgocom-and-yepcom)
@@ -57,12 +60,17 @@ Also containes AI models that you can use
57
60
  - [6. `maps()` - map search by DuckDuckGo.com and](#6-maps---map-search-by-duckduckgocom-and)
58
61
  - [7. `translate()` - translation by DuckDuckGo.com and Yep.com](#7-translate---translation-by-duckduckgocom-and-yepcom)
59
62
  - [8. `suggestions()` - suggestions by DuckDuckGo.com and Yep.com](#8-suggestions---suggestions-by-duckduckgocom-and-yepcom)
60
- - [9. `PhindSearch` - Search using Phind.com](#9-phindsearch---search-using-phindcom)
61
- - [10. `YepChat` - Chat with mistral 8x7b powered by yepchat](#10-yepchat---chat-with-mistral-8x7b-powered-by-yepchat)
62
- - [11. `You.com` - search with you.com](#11-youcom---search-with-youcom)
63
- - [12. `Gemini` - search with google gemini](#12-gemini---search-with-google-gemini)
64
- - [13. `Prodia` - make image using prodia](#13-prodia---make-image-using-prodia)
63
+ - [usage of webscout.AI](#usage-of-webscoutai)
64
+ - [1. `PhindSearch` - Search using Phind.com](#1-phindsearch---search-using-phindcom)
65
+ - [2. `YepChat` - Chat with mistral 8x7b powered by yepchat](#2-yepchat---chat-with-mistral-8x7b-powered-by-yepchat)
66
+ - [3. `You.com` - search with you.com](#3-youcom---search-with-youcom)
67
+ - [4. `Gemini` - search with google gemini](#4-gemini---search-with-google-gemini)
68
+ - [usage of image generator from Webscout.AI](#usage-of-image-generator-from-webscoutai)
69
+ - [5. `Prodia` - make image using prodia](#5-prodia---make-image-using-prodia)
70
+ - [usage of special .LLM file from webscout (webscout.LLM)](#usage-of-special-llm-file-from-webscout-webscoutllm)
71
+ - [`LLM`](#llm)
65
72
  - [Version History](#version-history)
73
+ - [v1.1.0](#v110)
66
74
  - [v1.0.9](#v109)
67
75
  - [v1.0.8](#v108)
68
76
  - [v1.0.7](#v107)
@@ -91,26 +99,22 @@ python -m webscout --help
91
99
  | python -m webscout version | A command-line interface command that prints and returns the version of the program. |
92
100
  | python -m webscout videos -k Text | CLI function to perform a videos search using DuckDuckGo API. |
93
101
 
94
- ## CLI version of AI
102
+ ## CLI version of webscout.AI
95
103
 
96
- ```python3
97
- python -m webscout.AI phindsearch --query "your_query_here"
98
- ```
99
104
 
100
- ```python
101
- python -m webscout.AI yepchat --message "your_message_here"
102
- ```
105
+ | Command | Description |
106
+ |--------------------------------------------|--------------------------------------------------------------------------------------------------------|
107
+ | `python -m webscout.AI phindsearch --query "your_query_here"` | CLI function to perform a search query using Webscout.AI's Phindsearch feature. |
108
+ | `python -m webscout.AI yepchat --message "your_message_here"` | CLI function to send a message using Webscout.AI's Yepchat feature. |
109
+ | `python -m webscout.AI youchat --prompt "your_prompt_here"` | CLI function to generate a response based on a prompt using Webscout.AI's Youchat feature. |
110
+ | `python -m webscout.AI gemini --message "tell me about gemma 7b"` | CLI function to get information about a specific topic using Webscout.AI's Gemini feature. |
111
+ | `python -m webscout.AI prodia --prompt "car"` | CLI function to generate content related to a prompt using Webscout.AI's Prodia feature. |
103
112
 
104
- ```python
105
- python -m webscout.AI youchat --prompt "your_prompt_here"
106
- ```
107
113
 
108
- ```python
109
- python -m webscout.AI gemini --message "tell me about gemma 7b"
110
- ```
111
114
 
115
+ ## CLI to use LLM
112
116
  ```python
113
- python -m webscout.AI prodia --prompt "car"
117
+ python -m webscout.LLM model_name
114
118
  ```
115
119
  [Go To TOP](#TOP)
116
120
 
@@ -261,8 +265,7 @@ This ensures proper resource management and cleanup, as the context manager will
261
265
  Exceptions:
262
266
  - `WebscoutE`: Raised when there is a generic exception during the API request.
263
267
 
264
- ## usage
265
- Here are the rewritten Python scripts for accessing various functionalities using the WEBS class from the webscout module, in HelpingAI style, for DuckDuckGo.com and Yep.com without explicitly specifying the search engine:
268
+ ## usage of webscout
266
269
 
267
270
  ### 1. `text()` - text search by DuckDuckGo.com and Yep.com
268
271
 
@@ -302,11 +305,10 @@ with WEBS() as WEBS:
302
305
  region="wt-wt",
303
306
  safesearch="off",
304
307
  size=None,
305
- color="Monochrome",
306
308
  type_image=None,
307
309
  layout=None,
308
310
  license_image=None,
309
- max_results=100,
311
+ max_results=10,
310
312
  )
311
313
  for r in WEBS_images_gen:
312
314
  print(r)
@@ -327,7 +329,7 @@ with WEBS() as WEBS:
327
329
  timelimit="w",
328
330
  resolution="high",
329
331
  duration="medium",
330
- max_results=100,
332
+ max_results=10,
331
333
  )
332
334
  for r in WEBS_videos_gen:
333
335
  print(r)
@@ -381,15 +383,13 @@ with WEBS() as WEBS:
381
383
  from webscout import WEBS
382
384
 
383
385
  # Suggestions for the keyword 'fly' using DuckDuckGo.com and Yep
384
- #
385
-
386
- .com
387
386
  with WEBS() as WEBS:
388
387
  for r in WEBS.suggestions("fly"):
389
388
  print(r)
390
389
  ```
390
+ ## usage of webscout.AI
391
391
 
392
- ### 9. `PhindSearch` - Search using Phind.com
392
+ ### 1. `PhindSearch` - Search using Phind.com
393
393
  Thanks to Empyros for PhindSearch function
394
394
  ```python
395
395
  from webscout.AI import PhindSearch
@@ -401,7 +401,7 @@ WEBSAI = PhindSearch(query)
401
401
 
402
402
  WEBSAI.search()
403
403
  ```
404
- ### 10. `YepChat` - Chat with mistral 8x7b powered by yepchat
404
+ ### 2. `YepChat` - Chat with mistral 8x7b powered by yepchat
405
405
  Thanks To Divyansh Shukla for This code
406
406
  ```python
407
407
  from webscout.AI import YepChat
@@ -421,7 +421,7 @@ if __name__ == "__main__":
421
421
  main()
422
422
  ```
423
423
 
424
- ### 11. `You.com` - search with you.com
424
+ ### 3. `You.com` - search with you.com
425
425
  ```python
426
426
  from webscout.AI import youChat
427
427
 
@@ -444,7 +444,7 @@ while True:
444
444
  print("⚠️ An error occurred:", e)
445
445
  ```
446
446
 
447
- ### 12. `Gemini` - search with google gemini
447
+ ### 4. `Gemini` - search with google gemini
448
448
 
449
449
  ```python
450
450
  from webscout.AI import Gemini
@@ -458,7 +458,8 @@ response = gemini.chat("Your message here")
458
458
  # Print the response from the Gemini assistant
459
459
  print(response)
460
460
  ```
461
- ### 13. `Prodia` - make image using prodia
461
+ ## usage of image generator from Webscout.AI
462
+ ### 5. `Prodia` - make image using prodia
462
463
  ```python
463
464
  from webscout.AI import Prodia
464
465
 
@@ -468,23 +469,40 @@ prompt = "A beautiful sunset over the ocean"
468
469
  # Use the prodia_cli method to generate an image based on the prompt
469
470
  Prodia.prodia_cli(prompt)
470
471
  ```
472
+ ## usage of special .LLM file from webscout (webscout.LLM)
473
+
474
+ ### `LLM`
475
+ ```python
476
+ from webscout.LLM import LLM
477
+
478
+ def chat(model_name):
479
+ AI = LLM(model_name)
480
+ AI.chat()
481
+
482
+ if __name__ == "__main__":
483
+ model_name = "mistralai/Mistral-7B-Instruct-v0.1" # name of the model you wish to use It supports ALL text generation models on deepinfra.com.
484
+ chat(model_name)
485
+ ```
471
486
 
472
487
  ## Version History
488
+ ### v1.1.0
489
+ 🌟 Added LLMs as webscout.LLM
490
+ 🔧 Resolved issue related to Prodia functionality
473
491
 
474
492
  ### v1.0.9
475
- - Added Prodia as image generator in webscout.AI
476
-
493
+ 🌌 Added Prodia as an image generator in webscout.AI
494
+
477
495
  ### v1.0.8
478
- - Solved issue related to Gemini and Yep Chat functions in the Webscout package. 🌟
479
- Now, Gemini function returns correct outputs without duplication.
480
- Yep Chat function provides accurate responses without repeating them multiple times. 🚀
496
+ 🚀 Solved issues related to Gemini and Yep Chat functions within the Webscout package.
497
+ 🌟 Gemini function now provides correct outputs without duplication.
498
+ 🌟 Yep Chat function delivers accurate responses without repeating them multiple times.
481
499
 
482
500
  ### v1.0.7
483
- - Added gemini as webscout.AI
501
+ 🌟 Added Gemini as part of webscout.AI
484
502
 
485
503
  ### v1.0.6
486
- - Added yep.com as a search engine
487
- - Fixed an error related to translation functionality
488
- - Introduced Phind AI as webscout.AI
489
- - Included YepChat as webscout.AI
490
- - Integrated You.com as webscout.AI
504
+ 🌟 Integrated yep.com as a search engine
505
+ 🔧 Resolved error associated with the translation feature
506
+ 🌟 Introduced Phind AI within webscout.AI
507
+ 🌟 Included YepChat as part of webscout.AI
508
+ 🌟 Integrated You.com as part of webscout.AI
@@ -2,6 +2,8 @@ LICENSE.md
2
2
  README.md
3
3
  setup.py
4
4
  webscout/AI.py
5
+ webscout/HelpingAI.py
6
+ webscout/LLM.py
5
7
  webscout/__init__.py
6
8
  webscout/__main__.py
7
9
  webscout/cli.py
@@ -3,3 +3,4 @@ WEBS = webscout.cli:cli
3
3
  webscout-ai = webscout.AI:cli
4
4
  webscout-ai-phindsearch = webscout.AI:phindsearch
5
5
  webscout-ai-yepchat = webscout.AI:yepchat
6
+ webscout-llm = webscout.LLM:chat
@@ -8,6 +8,8 @@ tqdm>=4.64.0
8
8
  webdriver-manager>=3.5.4
9
9
  halo>=0.0.31
10
10
  g4f>=0.2.2.3
11
+ rich
12
+ python-dotenv
11
13
 
12
14
  [dev]
13
15
  ruff>=0.1.6
@@ -1 +0,0 @@
1
- __version__ = "1.0.9"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes