webscout 7.4__py3-none-any.whl → 7.6__py3-none-any.whl

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

Potentially problematic release.


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

Files changed (137) hide show
  1. webscout/AIauto.py +5 -53
  2. webscout/AIutel.py +8 -318
  3. webscout/DWEBS.py +460 -489
  4. webscout/Extra/YTToolkit/YTdownloader.py +14 -53
  5. webscout/Extra/YTToolkit/transcriber.py +12 -13
  6. webscout/Extra/YTToolkit/ytapi/video.py +0 -1
  7. webscout/Extra/__init__.py +0 -1
  8. webscout/Extra/autocoder/autocoder_utiles.py +0 -4
  9. webscout/Extra/autocoder/rawdog.py +13 -41
  10. webscout/Extra/gguf.py +652 -428
  11. webscout/Extra/weather.py +178 -156
  12. webscout/Extra/weather_ascii.py +70 -17
  13. webscout/Litlogger/core/logger.py +1 -2
  14. webscout/Litlogger/handlers/file.py +1 -1
  15. webscout/Litlogger/styles/formats.py +0 -2
  16. webscout/Litlogger/utils/detectors.py +0 -1
  17. webscout/Provider/AISEARCH/DeepFind.py +0 -1
  18. webscout/Provider/AISEARCH/ISou.py +1 -1
  19. webscout/Provider/AISEARCH/felo_search.py +0 -1
  20. webscout/Provider/AllenAI.py +24 -9
  21. webscout/Provider/C4ai.py +432 -0
  22. webscout/Provider/ChatGPTGratis.py +24 -56
  23. webscout/Provider/Cloudflare.py +18 -21
  24. webscout/Provider/DeepSeek.py +27 -48
  25. webscout/Provider/Deepinfra.py +129 -53
  26. webscout/Provider/Gemini.py +1 -1
  27. webscout/Provider/GithubChat.py +362 -0
  28. webscout/Provider/Glider.py +25 -8
  29. webscout/Provider/HF_space/qwen_qwen2.py +2 -2
  30. webscout/Provider/HeckAI.py +38 -5
  31. webscout/Provider/HuggingFaceChat.py +462 -0
  32. webscout/Provider/Jadve.py +20 -5
  33. webscout/Provider/Marcus.py +7 -50
  34. webscout/Provider/Netwrck.py +43 -67
  35. webscout/Provider/PI.py +4 -2
  36. webscout/Provider/Perplexitylabs.py +26 -6
  37. webscout/Provider/Phind.py +29 -3
  38. webscout/Provider/PizzaGPT.py +10 -51
  39. webscout/Provider/TTI/AiForce/async_aiforce.py +4 -37
  40. webscout/Provider/TTI/AiForce/sync_aiforce.py +41 -38
  41. webscout/Provider/TTI/FreeAIPlayground/__init__.py +9 -9
  42. webscout/Provider/TTI/FreeAIPlayground/async_freeaiplayground.py +206 -206
  43. webscout/Provider/TTI/FreeAIPlayground/sync_freeaiplayground.py +192 -192
  44. webscout/Provider/TTI/MagicStudio/__init__.py +2 -0
  45. webscout/Provider/TTI/MagicStudio/async_magicstudio.py +111 -0
  46. webscout/Provider/TTI/MagicStudio/sync_magicstudio.py +109 -0
  47. webscout/Provider/TTI/PollinationsAI/async_pollinations.py +5 -24
  48. webscout/Provider/TTI/PollinationsAI/sync_pollinations.py +2 -22
  49. webscout/Provider/TTI/__init__.py +2 -3
  50. webscout/Provider/TTI/aiarta/__init__.py +2 -0
  51. webscout/Provider/TTI/aiarta/async_aiarta.py +482 -0
  52. webscout/Provider/TTI/aiarta/sync_aiarta.py +440 -0
  53. webscout/Provider/TTI/fastflux/__init__.py +22 -0
  54. webscout/Provider/TTI/fastflux/async_fastflux.py +257 -0
  55. webscout/Provider/TTI/fastflux/sync_fastflux.py +247 -0
  56. webscout/Provider/TTS/__init__.py +2 -2
  57. webscout/Provider/TTS/deepgram.py +12 -39
  58. webscout/Provider/TTS/elevenlabs.py +14 -40
  59. webscout/Provider/TTS/gesserit.py +11 -35
  60. webscout/Provider/TTS/murfai.py +13 -39
  61. webscout/Provider/TTS/parler.py +17 -40
  62. webscout/Provider/TTS/speechma.py +180 -0
  63. webscout/Provider/TTS/streamElements.py +17 -44
  64. webscout/Provider/TextPollinationsAI.py +39 -59
  65. webscout/Provider/Venice.py +217 -200
  66. webscout/Provider/WiseCat.py +27 -5
  67. webscout/Provider/Youchat.py +63 -36
  68. webscout/Provider/__init__.py +13 -8
  69. webscout/Provider/akashgpt.py +28 -10
  70. webscout/Provider/copilot.py +416 -0
  71. webscout/Provider/flowith.py +196 -0
  72. webscout/Provider/freeaichat.py +32 -45
  73. webscout/Provider/granite.py +17 -53
  74. webscout/Provider/koala.py +20 -5
  75. webscout/Provider/llamatutor.py +7 -47
  76. webscout/Provider/llmchat.py +36 -53
  77. webscout/Provider/multichat.py +92 -98
  78. webscout/Provider/talkai.py +1 -0
  79. webscout/Provider/turboseek.py +3 -0
  80. webscout/Provider/tutorai.py +2 -0
  81. webscout/Provider/typegpt.py +154 -64
  82. webscout/Provider/x0gpt.py +3 -1
  83. webscout/Provider/yep.py +102 -20
  84. webscout/__init__.py +3 -0
  85. webscout/cli.py +4 -40
  86. webscout/conversation.py +1 -10
  87. webscout/exceptions.py +19 -9
  88. webscout/litagent/__init__.py +2 -2
  89. webscout/litagent/agent.py +351 -20
  90. webscout/litagent/constants.py +34 -5
  91. webscout/litprinter/__init__.py +0 -3
  92. webscout/models.py +181 -0
  93. webscout/optimizers.py +1 -1
  94. webscout/prompt_manager.py +2 -8
  95. webscout/scout/core/scout.py +1 -4
  96. webscout/scout/core/search_result.py +1 -1
  97. webscout/scout/core/text_utils.py +1 -1
  98. webscout/scout/core.py +2 -5
  99. webscout/scout/element.py +1 -1
  100. webscout/scout/parsers/html_parser.py +1 -1
  101. webscout/scout/utils.py +0 -1
  102. webscout/swiftcli/__init__.py +1 -3
  103. webscout/tempid.py +1 -1
  104. webscout/update_checker.py +55 -95
  105. webscout/version.py +1 -1
  106. webscout/webscout_search_async.py +1 -2
  107. webscout/yep_search.py +297 -297
  108. webscout-7.6.dist-info/LICENSE.md +146 -0
  109. {webscout-7.4.dist-info → webscout-7.6.dist-info}/METADATA +104 -514
  110. {webscout-7.4.dist-info → webscout-7.6.dist-info}/RECORD +113 -120
  111. webscout/Extra/autollama.py +0 -231
  112. webscout/Local/__init__.py +0 -10
  113. webscout/Local/_version.py +0 -3
  114. webscout/Local/formats.py +0 -747
  115. webscout/Local/model.py +0 -1368
  116. webscout/Local/samplers.py +0 -125
  117. webscout/Local/thread.py +0 -539
  118. webscout/Local/ui.py +0 -401
  119. webscout/Local/utils.py +0 -388
  120. webscout/Provider/Amigo.py +0 -274
  121. webscout/Provider/Bing.py +0 -243
  122. webscout/Provider/DiscordRocks.py +0 -253
  123. webscout/Provider/TTI/blackbox/__init__.py +0 -4
  124. webscout/Provider/TTI/blackbox/async_blackbox.py +0 -212
  125. webscout/Provider/TTI/blackbox/sync_blackbox.py +0 -199
  126. webscout/Provider/TTI/deepinfra/__init__.py +0 -4
  127. webscout/Provider/TTI/deepinfra/async_deepinfra.py +0 -227
  128. webscout/Provider/TTI/deepinfra/sync_deepinfra.py +0 -199
  129. webscout/Provider/TTI/imgninza/__init__.py +0 -4
  130. webscout/Provider/TTI/imgninza/async_ninza.py +0 -214
  131. webscout/Provider/TTI/imgninza/sync_ninza.py +0 -209
  132. webscout/Provider/TTS/voicepod.py +0 -117
  133. webscout/Provider/dgaf.py +0 -214
  134. webscout-7.4.dist-info/LICENSE.md +0 -211
  135. {webscout-7.4.dist-info → webscout-7.6.dist-info}/WHEEL +0 -0
  136. {webscout-7.4.dist-info → webscout-7.6.dist-info}/entry_points.txt +0 -0
  137. {webscout-7.4.dist-info → webscout-7.6.dist-info}/top_level.txt +0 -0
webscout/optimizers.py CHANGED
@@ -3,7 +3,7 @@
3
3
  import os
4
4
  import platform
5
5
  import subprocess
6
- from typing import Literal, Optional, Tuple, Callable, Dict, Any
6
+ from typing import Optional
7
7
  class Optimizers:
8
8
  """
9
9
  >>> Optimizers.code("write a hello world")
@@ -1,17 +1,11 @@
1
- """
2
- HAI's Awesome Prompts! 🔥
3
- The most fire prompts collection you'll ever see! 💯
4
- Created by the legendary HAI squad! 👑
5
- """
1
+ # -*- coding: utf-8 -*-
6
2
 
7
3
  import os
8
4
  import json
9
- import logging
10
5
  import requests
11
- from typing import Optional, Dict, Union, List
6
+ from typing import Optional, Dict, Union
12
7
  from rich.console import Console
13
8
  from rich.table import Table
14
- from rich.panel import Panel
15
9
  from datetime import datetime
16
10
 
17
11
  console = Console()
@@ -1,15 +1,12 @@
1
1
  """
2
2
  Scout Main Module - HTML Parsing and Traversal
3
3
  """
4
- import sys
5
4
  import re
6
- import warnings
7
5
  import json
8
6
  import hashlib
9
7
  import unicodedata
10
- import os
11
8
  import urllib.parse
12
- from typing import Union, List, Dict, Optional, Callable, Any, Tuple
9
+ from typing import List, Dict, Optional, Any
13
10
 
14
11
  from ..parsers import ParserRegistry
15
12
  from ..element import Tag, NavigableString
@@ -2,7 +2,7 @@
2
2
  Scout Search Result Module
3
3
  """
4
4
 
5
- from typing import List, Union, Callable, Any, Dict, Iterator, Set
5
+ from typing import List, Union, Callable, Any, Dict, Iterator
6
6
  from ..element import Tag
7
7
  from .text_analyzer import ScoutTextAnalyzer
8
8
 
@@ -1,4 +1,4 @@
1
- from typing import List, Dict, Tuple, Set, Optional, Pattern
1
+ from typing import List, Dict, Tuple, Set, Pattern
2
2
  import re
3
3
 
4
4
 
webscout/scout/core.py CHANGED
@@ -4,19 +4,16 @@ A powerful, flexible, and performant HTML parsing library.
4
4
  Enhanced with advanced features and intelligent parsing.
5
5
  """
6
6
 
7
- import sys
8
7
  import re
9
- import warnings
10
8
  import json
11
9
  import hashlib
12
10
  import unicodedata
13
- import os
14
11
  import requests
15
12
  from markdownify import MarkdownConverter
16
13
  import concurrent.futures
17
14
  import urllib.parse
18
- from collections import Counter, defaultdict
19
- from typing import Union, List, Dict, Optional, Callable, Any, Tuple, Iterator, Set
15
+ from collections import Counter
16
+ from typing import Union, List, Dict, Optional, Callable, Any, Iterator, Set
20
17
 
21
18
  from .parsers.html_parser import HTMLParser
22
19
  from .parsers.lxml_parser import LXMLParser
webscout/scout/element.py CHANGED
@@ -3,7 +3,7 @@ Scout Element Module - Advanced HTML Element Representation
3
3
  """
4
4
 
5
5
  import re
6
- from typing import Optional, List, Dict, Union, Any, Callable, Iterable
6
+ from typing import Optional, List, Dict, Union, Any
7
7
 
8
8
  class NavigableString(str):
9
9
  """
@@ -5,7 +5,7 @@ Scout HTML Parser - Advanced HTML Parsing with Python's Built-in Parser
5
5
  import html
6
6
  import re
7
7
  from html.parser import HTMLParser as StdHTMLParser
8
- from typing import List, Optional, Dict, Any, Union
8
+ from typing import List
9
9
 
10
10
  from ..element import Tag, NavigableString
11
11
 
webscout/scout/utils.py CHANGED
@@ -2,7 +2,6 @@
2
2
  Utility functions - making life easier! 🛠️
3
3
  """
4
4
 
5
- import re
6
5
  from typing import Union, Optional
7
6
 
8
7
  def decode_markup(markup: Union[str, bytes], encoding: Optional[str] = None) -> str:
@@ -30,15 +30,13 @@ For more examples, check out the documentation!
30
30
  import importlib
31
31
  import os
32
32
  import sys
33
- import json
34
33
  import inspect
35
- from typing import Any, Dict, List, Optional, Type, Union, Callable
34
+ from typing import Any, Dict, List, Optional, Callable
36
35
  from functools import wraps
37
36
  from pathlib import Path
38
37
  from rich.console import Console
39
38
  from rich.table import Table
40
39
  from rich.progress import Progress, SpinnerColumn, TextColumn
41
- from rich.theme import Theme
42
40
 
43
41
  # Console setup
44
42
  console = Console()
webscout/tempid.py CHANGED
@@ -1,6 +1,6 @@
1
1
  import aiohttp
2
2
  from dataclasses import dataclass
3
- from typing import ClassVar, NoReturn, List, Dict, Any
3
+ from typing import NoReturn, List, Dict, Any
4
4
  import requests
5
5
 
6
6
  @dataclass
@@ -1,43 +1,26 @@
1
1
  """
2
- Ayy, check it out! 👀
2
+ Webscout Update Checker
3
3
  >>> from webscout import check_for_updates
4
- >>> check_for_updates()
5
- 'Yo, new Webscout version just dropped: 2.0.0! 🔥
6
- Level up with: `pip install --upgrade webscout`'
4
+ >>> result = check_for_updates()
5
+ >>> print(result)
6
+ 'New Webscout version available: 2.0.0 - Update with: pip install --upgrade webscout'
7
7
  """
8
8
 
9
- import subprocess
10
- import sys
11
- import os
12
- from typing import Optional
9
+ from typing import Optional, Dict, Any, Literal
13
10
 
14
11
  import requests
15
12
  from packaging import version
16
- import re
17
-
18
- from webscout.Litlogger import Logger
19
13
  from importlib.metadata import version as get_package_version
20
14
  from importlib.metadata import PackageNotFoundError
21
- from importlib.metadata import metadata as get_package_metadata
22
-
23
- # Setting up that clean logger format, no cap! 💯
24
- CUSTOM_FORMAT = """{message}"""
25
15
 
26
- logger = Logger(
27
- name="WebscoutUpdate",
28
- format=CUSTOM_FORMAT,
29
- )
16
+ # Version comparison result type
17
+ VersionCompareResult = Literal[-1, 0, 1]
30
18
 
31
19
  def get_installed_version() -> Optional[str]:
32
- """Yo, let's check what version you're running! 🔍
33
-
34
- What this function's all about:
35
- - Checking your setup real quick 💨
36
- - Getting them version deets 📱
37
- - Handling any problems like a boss 💪
20
+ """Get the currently installed version of webscout.
38
21
 
39
22
  Returns:
40
- Optional[str]: Your version number or None if we can't find it
23
+ Optional[str]: The installed version string or None if not found
41
24
 
42
25
  Examples:
43
26
  >>> version = get_installed_version()
@@ -48,19 +31,14 @@ def get_installed_version() -> Optional[str]:
48
31
  return get_package_version('webscout')
49
32
  except PackageNotFoundError:
50
33
  return None
51
- except Exception as e:
34
+ except Exception:
52
35
  return None
53
36
 
54
37
  def get_pypi_version() -> Optional[str]:
55
- """Let's see what's fresh on PyPI! 🚀
56
-
57
- This function's vibe:
58
- - Hitting up PyPI for the latest drop 🌐
59
- - Keeping it smooth with timeout handling ⚡
60
- - Making sure we get good data fr fr 💯
38
+ """Get the latest version available on PyPI.
61
39
 
62
40
  Returns:
63
- Optional[str]: Latest version or None if something's not right
41
+ Optional[str]: The latest version string or None if retrieval failed
64
42
 
65
43
  Examples:
66
44
  >>> latest = get_pypi_version()
@@ -73,24 +51,20 @@ def get_pypi_version() -> Optional[str]:
73
51
  timeout=10
74
52
  )
75
53
  response.raise_for_status()
76
- return response.json()['info']['version']
77
- except requests.RequestException as e:
78
- pass
79
- except (KeyError, ValueError) as e:
80
- pass
81
- except Exception as e:
82
- pass
83
- return None
54
+ data: Dict[str, Any] = response.json()
55
+ return data['info']['version']
56
+ except (requests.RequestException, KeyError, ValueError, Exception):
57
+ return None
84
58
 
85
- def version_compare(v1: str, v2: str) -> int:
86
- """Time to compare these versions! 💪
59
+ def version_compare(v1: str, v2: str) -> VersionCompareResult:
60
+ """Compare two version strings.
87
61
 
88
62
  Args:
89
- v1: First version we checking
90
- v2: Second version to compare with
63
+ v1: First version string
64
+ v2: Second version string to compare with
91
65
 
92
66
  Returns:
93
- int: -1 if v1's older, 1 if v1's newer, 0 if they twins
67
+ VersionCompareResult: -1 if v1 < v2, 1 if v1 > v2, 0 if equal
94
68
 
95
69
  Examples:
96
70
  >>> version_compare('1.0.0', '2.0.0')
@@ -104,71 +78,57 @@ def version_compare(v1: str, v2: str) -> int:
104
78
  if version1 > version2:
105
79
  return 1
106
80
  return 0
107
- except version.InvalidVersion as e:
108
- pass
109
- return 0
110
- except Exception as e:
111
- pass
81
+ except (version.InvalidVersion, Exception):
112
82
  return 0
113
83
 
114
- def display_version_info(installed: Optional[str], latest: Optional[str]) -> None:
115
- """Let's break down your version status! 📱
116
-
117
- What we doing here:
118
- - Comparing your version with the latest drop 🔄
119
- - Letting you know if you need to level up ⬆️
120
- - Keeping you in the loop with style 💯
84
+ def get_update_message(installed: str, latest: str) -> Optional[str]:
85
+ """Generate appropriate update message based on version comparison.
121
86
 
122
87
  Args:
123
- installed: What you running rn
124
- latest: What's fresh out there
88
+ installed: Currently installed version
89
+ latest: Latest available version
90
+
91
+ Returns:
92
+ Optional[str]: Update message if needed, None if already on latest version
125
93
 
126
94
  Examples:
127
- >>> display_version_info('1.0.0', '2.0.0')
128
- 'Yo, new Webscout version just dropped: 2.0.0! 🔥'
95
+ >>> get_update_message('1.0.0', '2.0.0')
96
+ 'New Webscout version available: 2.0.0 - Update with: pip install --upgrade webscout'
129
97
  """
130
- if installed:
131
- pass
132
-
133
- if latest and installed:
134
- comparison_result = version_compare(installed, latest)
135
- if comparison_result < 0:
136
- logger.warning(
137
- f"Yo, new Webscout version just dropped: {latest}! 🔥\n"
138
- f"Level up with: `pip install --upgrade webscout`"
139
- )
140
- elif comparison_result > 0:
141
- logger.success("You already got the latest version, no cap! 💯")
142
-
143
- def check_for_updates() -> None:
144
- """Time to check if you're running the latest! 🚀
145
-
146
- What we doing:
147
- - Peeking at your current setup 📱
148
- - Checking what's new out there 🌐
149
- - Keeping you updated fr fr ⚡
98
+ comparison_result = version_compare(installed, latest)
99
+ if comparison_result < 0:
100
+ return f"New Webscout version available: {latest} - Update with: pip install --upgrade webscout"
101
+ elif comparison_result > 0:
102
+ return f"You're running a development version ({installed}) ahead of latest release ({latest})"
103
+ return None # Already on the latest version
104
+
105
+ def check_for_updates() -> Optional[str]:
106
+ """Check if a newer version of Webscout is available.
107
+
108
+ Returns:
109
+ Optional[str]: Update message if newer version exists, None otherwise
150
110
 
151
111
  Examples:
152
- >>> check_for_updates()
153
- # We got you with them version checks fam!
112
+ >>> result = check_for_updates()
113
+ >>> print(result)
114
+ 'New Webscout version available: 2.0.0 - Update with: pip install --upgrade webscout'
154
115
  """
155
116
  installed_version = get_installed_version()
156
- latest_version = get_pypi_version()
157
-
158
117
  if not installed_version:
159
- pass
160
- return
118
+ return None
161
119
 
120
+ latest_version = get_pypi_version()
162
121
  if not latest_version:
163
- pass
164
- return
122
+ return None
165
123
 
166
- display_version_info(installed_version, latest_version)
124
+ return get_update_message(installed_version, latest_version)
167
125
 
168
126
  if __name__ == "__main__":
169
127
  try:
170
- check_for_updates()
128
+ update_message = check_for_updates()
129
+ if update_message:
130
+ print(update_message)
171
131
  except KeyboardInterrupt:
172
- logger.warning("Update check got cancelled, no worries fam! 🤚")
132
+ print("Update check canceled")
173
133
  except Exception as e:
174
- logger.error(f"Uh oh, something went wrong: {str(e)} 😔")
134
+ print(f"Update check failed: {str(e)}")
webscout/version.py CHANGED
@@ -1,2 +1,2 @@
1
- __version__ = "7.4"
1
+ __version__ = "7.6"
2
2
  __prog__ = "webscout"
@@ -1,7 +1,6 @@
1
1
  from __future__ import annotations
2
2
 
3
3
  import asyncio
4
- import logging
5
4
  import os
6
5
  import warnings
7
6
  from datetime import datetime, timezone
@@ -26,7 +25,7 @@ from .utils import (
26
25
  json_loads,
27
26
  )
28
27
 
29
- logger = logging.getLogger("webscout.AsyncWEBS")
28
+
30
29
 
31
30
 
32
31
  class AsyncWEBS: