webscout 2.2__py3-none-any.whl → 2.3__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.
- webscout/AIauto.py +54 -13
- webscout/Local/__init__.py +10 -0
- webscout/Local/_version.py +3 -0
- webscout/Local/formats.py +482 -0
- webscout/Local/model.py +702 -0
- webscout/Local/samplers.py +161 -0
- webscout/Local/thread.py +641 -0
- webscout/Local/utils.py +171 -0
- webscout/__init__.py +96 -94
- webscout/async_providers.py +9 -9
- webscout/g4f.py +2 -2
- {webscout-2.2.dist-info → webscout-2.3.dist-info}/METADATA +6 -3
- {webscout-2.2.dist-info → webscout-2.3.dist-info}/RECORD +17 -10
- webscout-2.3.dist-info/entry_points.txt +3 -0
- webscout-2.2.dist-info/entry_points.txt +0 -6
- {webscout-2.2.dist-info → webscout-2.3.dist-info}/LICENSE.md +0 -0
- {webscout-2.2.dist-info → webscout-2.3.dist-info}/WHEEL +0 -0
- {webscout-2.2.dist-info → webscout-2.3.dist-info}/top_level.txt +0 -0
webscout/Local/utils.py
ADDED
|
@@ -0,0 +1,171 @@
|
|
|
1
|
+
from ._version import __version__, __llama_cpp_version__
|
|
2
|
+
|
|
3
|
+
import sys
|
|
4
|
+
import numpy as np
|
|
5
|
+
|
|
6
|
+
from typing import Any, Iterable, TextIO
|
|
7
|
+
from time import strftime
|
|
8
|
+
from enum import IntEnum
|
|
9
|
+
from struct import unpack
|
|
10
|
+
from colorama import Fore
|
|
11
|
+
|
|
12
|
+
|
|
13
|
+
# color codes used in Thread.interact()
|
|
14
|
+
RESET_ALL = Fore.RESET
|
|
15
|
+
USER_STYLE = RESET_ALL + Fore.GREEN
|
|
16
|
+
BOT_STYLE = RESET_ALL + Fore.CYAN
|
|
17
|
+
DIM_STYLE = RESET_ALL + Fore.LIGHTBLACK_EX
|
|
18
|
+
SPECIAL_STYLE = RESET_ALL + Fore.YELLOW
|
|
19
|
+
|
|
20
|
+
# for typing of softmax parameter `z`
|
|
21
|
+
class _ArrayLike(Iterable):
|
|
22
|
+
pass
|
|
23
|
+
|
|
24
|
+
# for typing of Model.stream_print() parameter `file`
|
|
25
|
+
class _SupportsWriteAndFlush(TextIO):
|
|
26
|
+
pass
|
|
27
|
+
|
|
28
|
+
class GGUFReader:
|
|
29
|
+
"""
|
|
30
|
+
Peek at file header for GGUF metadata
|
|
31
|
+
|
|
32
|
+
Raise ValueError if file is not GGUF or is outdated
|
|
33
|
+
|
|
34
|
+
Credit to oobabooga for the parts of the code in this class
|
|
35
|
+
|
|
36
|
+
Format spec: https://github.com/philpax/ggml/blob/gguf-spec/docs/gguf.md
|
|
37
|
+
"""
|
|
38
|
+
|
|
39
|
+
class GGUFValueType(IntEnum):
|
|
40
|
+
UINT8 = 0
|
|
41
|
+
INT8 = 1
|
|
42
|
+
UINT16 = 2
|
|
43
|
+
INT16 = 3
|
|
44
|
+
UINT32 = 4
|
|
45
|
+
INT32 = 5
|
|
46
|
+
FLOAT32 = 6
|
|
47
|
+
BOOL = 7
|
|
48
|
+
STRING = 8
|
|
49
|
+
ARRAY = 9
|
|
50
|
+
UINT64 = 10
|
|
51
|
+
INT64 = 11
|
|
52
|
+
FLOAT64 = 12
|
|
53
|
+
|
|
54
|
+
_simple_value_packing = {
|
|
55
|
+
GGUFValueType.UINT8: "<B",
|
|
56
|
+
GGUFValueType.INT8: "<b",
|
|
57
|
+
GGUFValueType.UINT16: "<H",
|
|
58
|
+
GGUFValueType.INT16: "<h",
|
|
59
|
+
GGUFValueType.UINT32: "<I",
|
|
60
|
+
GGUFValueType.INT32: "<i",
|
|
61
|
+
GGUFValueType.FLOAT32: "<f",
|
|
62
|
+
GGUFValueType.UINT64: "<Q",
|
|
63
|
+
GGUFValueType.INT64: "<q",
|
|
64
|
+
GGUFValueType.FLOAT64: "<d",
|
|
65
|
+
GGUFValueType.BOOL: "?",
|
|
66
|
+
}
|
|
67
|
+
|
|
68
|
+
value_type_info = {
|
|
69
|
+
GGUFValueType.UINT8: 1,
|
|
70
|
+
GGUFValueType.INT8: 1,
|
|
71
|
+
GGUFValueType.UINT16: 2,
|
|
72
|
+
GGUFValueType.INT16: 2,
|
|
73
|
+
GGUFValueType.UINT32: 4,
|
|
74
|
+
GGUFValueType.INT32: 4,
|
|
75
|
+
GGUFValueType.FLOAT32: 4,
|
|
76
|
+
GGUFValueType.UINT64: 8,
|
|
77
|
+
GGUFValueType.INT64: 8,
|
|
78
|
+
GGUFValueType.FLOAT64: 8,
|
|
79
|
+
GGUFValueType.BOOL: 1,
|
|
80
|
+
}
|
|
81
|
+
|
|
82
|
+
def get_single(self, value_type, file) -> Any:
|
|
83
|
+
if value_type == GGUFReader.GGUFValueType.STRING:
|
|
84
|
+
value_length = unpack("<Q", file.read(8))[0]
|
|
85
|
+
value = file.read(value_length)
|
|
86
|
+
value = value.decode("utf-8")
|
|
87
|
+
else:
|
|
88
|
+
type_str = GGUFReader._simple_value_packing.get(value_type)
|
|
89
|
+
bytes_length = GGUFReader.value_type_info.get(value_type)
|
|
90
|
+
value = unpack(type_str, file.read(bytes_length))[0]
|
|
91
|
+
|
|
92
|
+
return value
|
|
93
|
+
|
|
94
|
+
def load_metadata(self, fname) -> dict:
|
|
95
|
+
metadata = {}
|
|
96
|
+
with open(fname, "rb") as file:
|
|
97
|
+
GGUF_MAGIC = file.read(4)
|
|
98
|
+
|
|
99
|
+
if GGUF_MAGIC != b"GGUF":
|
|
100
|
+
raise ValueError(
|
|
101
|
+
"your model file is not a valid GGUF file "
|
|
102
|
+
f"(magic number mismatch, got {GGUF_MAGIC}, "
|
|
103
|
+
"expected b'GGUF')"
|
|
104
|
+
)
|
|
105
|
+
|
|
106
|
+
GGUF_VERSION = unpack("<I", file.read(4))[0]
|
|
107
|
+
|
|
108
|
+
if GGUF_VERSION == 1:
|
|
109
|
+
raise ValueError(
|
|
110
|
+
"your model file reports GGUF version 1, "
|
|
111
|
+
"but only versions 2 and above are supported. "
|
|
112
|
+
"re-convert your model or download a newer version"
|
|
113
|
+
)
|
|
114
|
+
|
|
115
|
+
# ti_data_count = struct.unpack("<Q", file.read(8))[0]
|
|
116
|
+
file.read(8)
|
|
117
|
+
kv_data_count = unpack("<Q", file.read(8))[0]
|
|
118
|
+
|
|
119
|
+
for _ in range(kv_data_count):
|
|
120
|
+
key_length = unpack("<Q", file.read(8))[0]
|
|
121
|
+
key = file.read(key_length)
|
|
122
|
+
|
|
123
|
+
value_type = GGUFReader.GGUFValueType(
|
|
124
|
+
unpack("<I", file.read(4))[0]
|
|
125
|
+
)
|
|
126
|
+
if value_type == GGUFReader.GGUFValueType.ARRAY:
|
|
127
|
+
ltype = GGUFReader.GGUFValueType(
|
|
128
|
+
unpack("<I", file.read(4))[0]
|
|
129
|
+
)
|
|
130
|
+
length = unpack("<Q", file.read(8))[0]
|
|
131
|
+
arr = [
|
|
132
|
+
GGUFReader.get_single(
|
|
133
|
+
self,
|
|
134
|
+
ltype,
|
|
135
|
+
file
|
|
136
|
+
) for _ in range(length)
|
|
137
|
+
]
|
|
138
|
+
metadata[key.decode()] = arr
|
|
139
|
+
else:
|
|
140
|
+
value = GGUFReader.get_single(self, value_type, file)
|
|
141
|
+
metadata[key.decode()] = value
|
|
142
|
+
|
|
143
|
+
return metadata
|
|
144
|
+
|
|
145
|
+
def softmax(z: _ArrayLike) -> np.ndarray:
|
|
146
|
+
"""
|
|
147
|
+
Compute softmax over values in z, where z is array-like
|
|
148
|
+
"""
|
|
149
|
+
e_z = np.exp(z - np.max(z))
|
|
150
|
+
return e_z / e_z.sum()
|
|
151
|
+
|
|
152
|
+
def cls() -> None:
|
|
153
|
+
"""Clear the terminal"""
|
|
154
|
+
print("\033c\033[3J", end='', flush=True)
|
|
155
|
+
|
|
156
|
+
# no longer used in this module, but left for others to use
|
|
157
|
+
def get_timestamp_prefix_str() -> str:
|
|
158
|
+
# helpful: https://strftime.net
|
|
159
|
+
return strftime("[%Y, %b %e, %a %l:%M %p] ")
|
|
160
|
+
|
|
161
|
+
def truncate(text: str) -> str:
|
|
162
|
+
return text if len(text) < 63 else f"{text[:60]}..."
|
|
163
|
+
|
|
164
|
+
def print_verbose(text: str) -> None:
|
|
165
|
+
print("webscout.Local: verbose:", text, file=sys.stderr, flush=True)
|
|
166
|
+
|
|
167
|
+
def print_info(text: str) -> None:
|
|
168
|
+
print("webscout.Local: info:", text, file=sys.stderr, flush=True)
|
|
169
|
+
|
|
170
|
+
def print_warning(text: str) -> None:
|
|
171
|
+
print("webscout.Local: warning:", text, file=sys.stderr, flush=True)
|
webscout/__init__.py
CHANGED
|
@@ -1,117 +1,119 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
Search for anything using the Google, DuckDuckGo, phind.com. Also containes AI models, can transcribe yt videos, temporary email and phone number generation, have TTS support and webai(terminal gpt and open interpeter)
|
|
4
|
-
"""
|
|
5
|
-
# webscout/__init__.py
|
|
6
|
-
|
|
7
|
-
from .webscout_search import WEBS
|
|
8
|
-
from .webscout_search_async import AsyncWEBS
|
|
1
|
+
from .webscout_search import WEBS
|
|
2
|
+
from .webscout_search_async import AsyncWEBS
|
|
9
3
|
from .version import __version__
|
|
10
|
-
from .DWEBS import DeepWEBS
|
|
4
|
+
from .DWEBS import DeepWEBS
|
|
11
5
|
from .transcriber import transcriber
|
|
12
6
|
from .voice import play_audio
|
|
7
|
+
from .tempid import Client as TempMailClient, TemporaryPhoneNumber
|
|
8
|
+
from .LLM import LLM
|
|
9
|
+
from .Local import *
|
|
13
10
|
import g4f
|
|
14
11
|
# Import provider classes for direct access
|
|
15
12
|
from .Provider import (
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
13
|
+
ThinkAnyAI,
|
|
14
|
+
Xjai,
|
|
15
|
+
LLAMA2,
|
|
16
|
+
AsyncLLAMA2,
|
|
17
|
+
Cohere,
|
|
18
|
+
REKA,
|
|
19
|
+
GROQ,
|
|
20
|
+
AsyncGROQ,
|
|
21
|
+
OPENAI,
|
|
22
|
+
AsyncOPENAI,
|
|
23
|
+
LEO,
|
|
24
|
+
AsyncLEO,
|
|
25
|
+
KOBOLDAI,
|
|
26
|
+
AsyncKOBOLDAI,
|
|
27
|
+
OPENGPT,
|
|
28
|
+
AsyncOPENGPT,
|
|
29
|
+
PERPLEXITY,
|
|
30
|
+
BLACKBOXAI,
|
|
31
|
+
AsyncBLACKBOXAI,
|
|
32
|
+
PhindSearch,
|
|
33
|
+
AsyncPhindSearch,
|
|
34
|
+
YEPCHAT,
|
|
35
|
+
AsyncYEPCHAT,
|
|
36
|
+
YouChat,
|
|
37
|
+
GEMINI,
|
|
38
|
+
Berlin4h,
|
|
39
|
+
ChatGPTUK,
|
|
43
40
|
)
|
|
44
41
|
|
|
45
42
|
__repo__ = "https://github.com/OE-LUCIFER/Webscout"
|
|
46
43
|
|
|
47
44
|
webai = [
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
45
|
+
"leo",
|
|
46
|
+
"openai",
|
|
47
|
+
"opengpt",
|
|
48
|
+
"koboldai",
|
|
49
|
+
"gemini",
|
|
50
|
+
"phind",
|
|
51
|
+
"blackboxai",
|
|
52
|
+
"g4fauto",
|
|
53
|
+
"perplexity",
|
|
54
|
+
"groq",
|
|
55
|
+
"reka",
|
|
56
|
+
"cohere",
|
|
57
|
+
"yepchat",
|
|
58
|
+
"you",
|
|
59
|
+
"xjai",
|
|
60
|
+
"thinkany",
|
|
61
|
+
"berlin4h",
|
|
62
|
+
"chatgptuk",
|
|
63
|
+
"auto",
|
|
67
64
|
]
|
|
68
65
|
|
|
69
66
|
gpt4free_providers = [
|
|
70
|
-
|
|
67
|
+
provider.__name__ for provider in g4f.Provider.__providers__ # if provider.working
|
|
71
68
|
]
|
|
72
69
|
|
|
73
70
|
available_providers = webai + gpt4free_providers
|
|
74
71
|
|
|
75
|
-
# Add all the provider classes
|
|
72
|
+
# Add all the provider classes, Localai models, Thread, and Model to __all__
|
|
76
73
|
__all__ = [
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
74
|
+
"WEBS",
|
|
75
|
+
"AsyncWEBS",
|
|
76
|
+
"__version__",
|
|
77
|
+
"DeepWEBS",
|
|
78
|
+
"transcriber",
|
|
79
|
+
"play_audio",
|
|
80
|
+
"TempMailClient",
|
|
81
|
+
"TemporaryPhoneNumber",
|
|
82
|
+
"LLM",
|
|
83
|
+
# Localai models and utilities
|
|
84
|
+
"Model",
|
|
85
|
+
"Thread",
|
|
86
|
+
"formats",
|
|
84
87
|
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
88
|
+
# AI Providers
|
|
89
|
+
"ThinkAnyAI",
|
|
90
|
+
"Xjai",
|
|
91
|
+
"LLAMA2",
|
|
92
|
+
"AsyncLLAMA2",
|
|
93
|
+
"Cohere",
|
|
94
|
+
"REKA",
|
|
95
|
+
"GROQ",
|
|
96
|
+
"AsyncGROQ",
|
|
97
|
+
"OPENAI",
|
|
98
|
+
"AsyncOPENAI",
|
|
99
|
+
"LEO",
|
|
100
|
+
"AsyncLEO",
|
|
101
|
+
"KOBOLDAI",
|
|
102
|
+
"AsyncKOBOLDAI",
|
|
103
|
+
"OPENGPT",
|
|
104
|
+
"AsyncOPENGPT",
|
|
105
|
+
"PERPLEXITY",
|
|
106
|
+
"BLACKBOXAI",
|
|
107
|
+
"AsyncBLACKBOXAI",
|
|
108
|
+
"PhindSearch",
|
|
109
|
+
"AsyncPhindSearch",
|
|
110
|
+
"YEPCHAT",
|
|
111
|
+
"AsyncYEPCHAT",
|
|
112
|
+
"YouChat",
|
|
113
|
+
"GEMINI",
|
|
114
|
+
"Berlin4h",
|
|
115
|
+
"ChatGPTUK",
|
|
113
116
|
]
|
|
114
117
|
|
|
115
|
-
# Set up basic logger
|
|
116
118
|
import logging
|
|
117
|
-
logging.getLogger("webscout").addHandler(logging.NullHandler())
|
|
119
|
+
logging.getLogger("webscout").addHandler(logging.NullHandler())
|
webscout/async_providers.py
CHANGED
|
@@ -1,12 +1,12 @@
|
|
|
1
|
-
from webscout
|
|
2
|
-
from webscout
|
|
3
|
-
from webscout
|
|
4
|
-
from webscout
|
|
5
|
-
from webscout
|
|
6
|
-
from webscout
|
|
7
|
-
from webscout
|
|
8
|
-
from webscout
|
|
9
|
-
from webscout
|
|
1
|
+
from webscout import AsyncPhindSearch
|
|
2
|
+
from webscout import AsyncYEPCHAT
|
|
3
|
+
from webscout import AsyncOPENGPT
|
|
4
|
+
from webscout import AsyncOPENAI
|
|
5
|
+
from webscout import AsyncLLAMA2
|
|
6
|
+
from webscout import AsyncLEO
|
|
7
|
+
from webscout import AsyncKOBOLDAI
|
|
8
|
+
from webscout import AsyncGROQ
|
|
9
|
+
from webscout import AsyncBLACKBOXAI
|
|
10
10
|
from webscout.g4f import AsyncGPT4FREE
|
|
11
11
|
|
|
12
12
|
mapper: dict[str, object] = {
|
webscout/g4f.py
CHANGED
|
@@ -227,8 +227,8 @@ class GPT4FREE(Provider):
|
|
|
227
227
|
auth: str = None,
|
|
228
228
|
max_tokens: int = 600,
|
|
229
229
|
model: str = None,
|
|
230
|
-
chat_completion: bool =
|
|
231
|
-
ignore_working: bool =
|
|
230
|
+
chat_completion: bool = True,
|
|
231
|
+
ignore_working: bool = True,
|
|
232
232
|
timeout: int = 30,
|
|
233
233
|
intro: str = None,
|
|
234
234
|
filepath: str = None,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: webscout
|
|
3
|
-
Version: 2.
|
|
4
|
-
Summary: Search for anything using
|
|
3
|
+
Version: 2.3
|
|
4
|
+
Summary: Search for anything using Google, DuckDuckGo, phind.com. Also contains AI models, can transcribe yt videos, temporary email and phone number generation, has TTS support, and webai (terminal gpt and open interpreter).
|
|
5
5
|
Author: OEvortex
|
|
6
6
|
Author-email: helpingai5@gmail.com
|
|
7
7
|
License: HelpingAI Simplified Universal License
|
|
@@ -36,7 +36,6 @@ Requires-Dist: halo >=0.0.31
|
|
|
36
36
|
Requires-Dist: g4f >=0.2.2.3
|
|
37
37
|
Requires-Dist: rich
|
|
38
38
|
Requires-Dist: python-dotenv
|
|
39
|
-
Requires-Dist: Helpingai-T2
|
|
40
39
|
Requires-Dist: beautifulsoup4
|
|
41
40
|
Requires-Dist: markdownify
|
|
42
41
|
Requires-Dist: pydantic
|
|
@@ -55,6 +54,10 @@ Requires-Dist: playsound
|
|
|
55
54
|
Provides-Extra: dev
|
|
56
55
|
Requires-Dist: ruff >=0.1.6 ; extra == 'dev'
|
|
57
56
|
Requires-Dist: pytest >=7.4.2 ; extra == 'dev'
|
|
57
|
+
Provides-Extra: local
|
|
58
|
+
Requires-Dist: llama-cpp-python ; extra == 'local'
|
|
59
|
+
Requires-Dist: colorama ; extra == 'local'
|
|
60
|
+
Requires-Dist: numpy ; extra == 'local'
|
|
58
61
|
|
|
59
62
|
<div align="center">
|
|
60
63
|
<!-- Replace `#` with your actual links -->
|
|
@@ -10,17 +10,17 @@ DeepWEBS/networks/webpage_fetcher.py,sha256=vRB9T3o-nMgrMkG2NPHTDctNeXaPSKCmBXqu
|
|
|
10
10
|
DeepWEBS/utilsdw/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
11
11
|
DeepWEBS/utilsdw/enver.py,sha256=vpI7s4_o_VL9govSryOv-z1zYK3pTEW3-H9QNN8JYtc,2472
|
|
12
12
|
DeepWEBS/utilsdw/logger.py,sha256=Z0nFUcEGyU8r28yKiIyvEtO26xxpmJgbvNToTfwZecc,8174
|
|
13
|
-
webscout/AIauto.py,sha256=
|
|
13
|
+
webscout/AIauto.py,sha256=xPGr_Z0h27XXNh4Wiufjn9TksDOqxqlaGcLUYKNP55w,18246
|
|
14
14
|
webscout/AIbase.py,sha256=GoHbN8r0gq2saYRZv6LA-Fr9Jlcjv80STKFXUq2ZeGU,4710
|
|
15
15
|
webscout/AIutel.py,sha256=LXYgQOEk21c7MpNJlSl2RbLvR8HDJhTSwJiVVgqf0Iw,33266
|
|
16
16
|
webscout/DWEBS.py,sha256=QT-7-dUgWhQ_H7EVZD53AVyXxyskoPMKCkFIpzkN56Q,7332
|
|
17
17
|
webscout/LLM.py,sha256=CiDz0okZNEoXuxMwadZnwRGSLpqk2zg0vzvXSxQZjcE,1910
|
|
18
|
-
webscout/__init__.py,sha256=
|
|
18
|
+
webscout/__init__.py,sha256=4RmWkUjUyOCVvoymHpCqnKIs8hfmcNYhONQ8bhdiPf0,2206
|
|
19
19
|
webscout/__main__.py,sha256=ZtTRgsRjUi2JOvYFLF1ZCh55Sdoz94I-BS-TlJC7WDU,126
|
|
20
|
-
webscout/async_providers.py,sha256=
|
|
20
|
+
webscout/async_providers.py,sha256=holBv5SxanxVXc_92CBBaXHlB2IakB_fHnhyZaFjYF8,684
|
|
21
21
|
webscout/cli.py,sha256=F888fdrFUQgczMBN4yMOSf6Nh-IbvkqpPhDsbnA2FtQ,17059
|
|
22
22
|
webscout/exceptions.py,sha256=Wx8bEN3bz1nNZ9PAZHX8jwvFPddF9Y2pHAEwCMu_VJc,498
|
|
23
|
-
webscout/g4f.py,sha256=
|
|
23
|
+
webscout/g4f.py,sha256=NNcnlOtIWV9R93UsBN4jBGBEJ9sJ-Np1WbgjkGVDcYc,24487
|
|
24
24
|
webscout/models.py,sha256=5iQIdtedT18YuTZ3npoG7kLMwcrKwhQ7928dl_7qZW0,692
|
|
25
25
|
webscout/tempid.py,sha256=5oc3UbXhPGKxrMRTfRABT-V-dNzH_hOKWtLYM6iCWd4,5896
|
|
26
26
|
webscout/transcriber.py,sha256=EddvTSq7dPJ42V3pQVnGuEiYQ7WjJ9uyeR9kMSxN7uY,20622
|
|
@@ -30,6 +30,13 @@ webscout/voice.py,sha256=0QjXTHAQmCK07IDZXRc7JXem47cnPJH7u3X0sVP1-UQ,967
|
|
|
30
30
|
webscout/webai.py,sha256=cRzJNVljryCxV4kEtmii0_CEBxSs71Ft3sdPdcqGmBg,84668
|
|
31
31
|
webscout/webscout_search.py,sha256=TvbrRYVMXbFGgEh0CoFHNYVY3iQ8SmejxEmv8Csu4IA,3159
|
|
32
32
|
webscout/webscout_search_async.py,sha256=4_L_t_I9WlvpPEI3FI0K3v6Aayr0pNvD3chYOp7JR8o,42902
|
|
33
|
+
webscout/Local/__init__.py,sha256=HxyOwxCdOpzHx4lE6UUMK1S10oBW9WYE5JQaBbFHOh8,220
|
|
34
|
+
webscout/Local/_version.py,sha256=sc9JboCC9IEKihG_oql9GqyPt0rTPN2OXbpyzRDoCQ4,83
|
|
35
|
+
webscout/Local/formats.py,sha256=tttN2Cqq39YZgypjyu1_ZbfDTj8cdiFndiW-MUFR4qQ,17153
|
|
36
|
+
webscout/Local/model.py,sha256=Hf_xybJm1PZBBIIy5j0p3Z3CnWezymNfxr8zQeFHJqY,27611
|
|
37
|
+
webscout/Local/samplers.py,sha256=qXwU4eLXER-2aCYzcJcTgA6BeFmi5GMpTDUX1C9pTN4,4372
|
|
38
|
+
webscout/Local/thread.py,sha256=xxQIzk--xEohz04I_0Rnta43bS2jMDbsvW9_e6IbSTk,24868
|
|
39
|
+
webscout/Local/utils.py,sha256=v9DLA9veFd_d4GhWPy3qRqSivPTSmSNmj5NN5Z2AMcQ,5454
|
|
33
40
|
webscout/Provider/Berlin4h.py,sha256=-O6BRkLusUEdYXcyQ09iY86dFl9WoiA4mlmZ_DLZbos,8342
|
|
34
41
|
webscout/Provider/Blackboxai.py,sha256=8B5wT_eb86RVZ5uOqwvgVC5QATl0uEMCli0n4SDwt1M,16743
|
|
35
42
|
webscout/Provider/ChatGPTUK.py,sha256=ozpWnuOlC_7jeDcTuUukFPcPkIksx-Bgq_6Rrf0Bwak,8357
|
|
@@ -49,9 +56,9 @@ webscout/Provider/Xjai.py,sha256=gI9FqEodS-jHfFM_CsDPmTb_wL5NU2q__2fg9hqVoEc,880
|
|
|
49
56
|
webscout/Provider/Yepchat.py,sha256=E0tv3Zfoqs1Sw8Pe-6_5d--_1LESm8mjw536DWclJk8,19398
|
|
50
57
|
webscout/Provider/Youchat.py,sha256=JAZYwcj0Kl1UUgqN0rD3TKaReA1G-cmIlW_4mog1j_c,7756
|
|
51
58
|
webscout/Provider/__init__.py,sha256=BPYm-ZOkZOXXn3bx_2UHIV6aZS47d9Y01JDq-EiPXhQ,1318
|
|
52
|
-
webscout-2.
|
|
53
|
-
webscout-2.
|
|
54
|
-
webscout-2.
|
|
55
|
-
webscout-2.
|
|
56
|
-
webscout-2.
|
|
57
|
-
webscout-2.
|
|
59
|
+
webscout-2.3.dist-info/LICENSE.md,sha256=mRVwJuT4SXC5O93BFdsfWBjlXjGn2Np90Zm5SocUzM0,3150
|
|
60
|
+
webscout-2.3.dist-info/METADATA,sha256=ntfYcc-wFWtZtnbI-rFMR7yhph29tvJl2Ynje2Vadjo,46611
|
|
61
|
+
webscout-2.3.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
62
|
+
webscout-2.3.dist-info/entry_points.txt,sha256=Hh4YIIjvkqB9SVxZ2ri4DZUkgEu_WF_5_r_nZDIvfG8,73
|
|
63
|
+
webscout-2.3.dist-info/top_level.txt,sha256=OD5YKy6Y3hldL7SmuxsiEDxAG4LgdSSWwzYk22MF9fk,18
|
|
64
|
+
webscout-2.3.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|