Ryzenth 1.8.8__py3-none-any.whl → 1.9.0__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.
Ryzenth/__version__.py CHANGED
@@ -1,4 +1,4 @@
1
- __version__ = "1.8.8"
1
+ __version__ = "1.9.0"
2
2
  __author__ = "TeamKillerX"
3
3
  __title__ = "Ryzenth"
4
4
  __description__ = "Ryzenth Python API Wrapper"
Ryzenth/_asynchisded.py CHANGED
@@ -22,7 +22,15 @@ import logging
22
22
  import httpx
23
23
  from box import Box
24
24
 
25
- from Ryzenth.helper import WhisperAsync
25
+ from Ryzenth._errors import WhatFuckError
26
+ from Ryzenth.helper import (
27
+ FbanAsync,
28
+ FontsAsync,
29
+ ImagesAsync,
30
+ ModeratorAsync,
31
+ WhatAsync,
32
+ WhisperAsync,
33
+ )
26
34
  from Ryzenth.types import DownloaderBy, QueryParameter
27
35
 
28
36
  LOGS = logging.getLogger("[Ryzenth] async")
@@ -32,41 +40,16 @@ class RyzenthXAsync:
32
40
  self.api_key = api_key
33
41
  self.base_url = base_url.rstrip("/")
34
42
  self.headers = {"x-api-key": self.api_key}
35
- self.images = self.ImagesAsync(self)
36
- self.what = self.WhatAsync(self)
43
+ self.timeout = 10
44
+ self.params = {}
45
+ self.images = ImagesAsync(self)
46
+ self.what = WhatAsync(self)
37
47
  self.openai_audio = WhisperAsync(self)
48
+ self.federation = FbanAsync(self)
49
+ self.moderator = ModeratorAsync(self)
50
+ self.fonts = FontsAsync(self)
38
51
  self.obj = Box
39
52
 
40
- class WhatAsync:
41
- def __init__(self, parent):
42
- self.parent = parent
43
-
44
- async def think(self, params: QueryParameter, dot_access=False):
45
- url = f"{self.parent.base_url}/v1/ai/deepseek/deepseek-r1-distill-qwen-32b"
46
- async with httpx.AsyncClient() as client:
47
- try:
48
- response = await client.get(url, params=params.dict(), headers=self.parent.headers, timeout=30)
49
- response.raise_for_status()
50
- return self.parent.obj(response.json() or {}) if dot_access else response.json()
51
- except httpx.HTTPError as e:
52
- LOGS.error(f"[ASYNC] Error: {str(e)}")
53
- return None
54
-
55
- class ImagesAsync:
56
- def __init__(self, parent):
57
- self.parent = parent
58
-
59
- async def generate(self, params: QueryParameter):
60
- url = f"{self.parent.base_url}/v1/flux/black-forest-labs/flux-1-schnell"
61
- async with httpx.AsyncClient() as client:
62
- try:
63
- response = await client.get(url, params=params.dict(), headers=self.parent.headers, timeout=30)
64
- response.raise_for_status()
65
- return response.content
66
- except httpx.HTTPError as e:
67
- LOGS.error(f"[ASYNC] Error: {str(e)}")
68
- return None
69
-
70
53
  async def send_downloader(
71
54
  self,
72
55
  switch_name: str = None,
@@ -105,13 +88,13 @@ class RyzenthXAsync:
105
88
  f"{self.base_url}/v1/dl/{model_name}",
106
89
  params=params.dict(),
107
90
  headers=self.headers,
108
- timeout=10
91
+ timeout=self.timeout
109
92
  )
110
93
  response.raise_for_status()
111
94
  return self.obj(response.json() or {}) if dot_access else response.json()
112
95
  except httpx.HTTPError as e:
113
96
  LOGS.error(f"[ASYNC] Error: {str(e)}")
114
- return None
97
+ raise WhatFuckError("[ASYNC] Error fetching") from e
115
98
 
116
99
  async def send_message(
117
100
  self,
@@ -148,10 +131,10 @@ class RyzenthXAsync:
148
131
  f"{self.base_url}/v1/ai/akenox/{model_param}",
149
132
  params=params.dict(),
150
133
  headers=self.headers,
151
- timeout=10
134
+ timeout=self.timeout
152
135
  )
153
136
  response.raise_for_status()
154
137
  return self.obj(response.json() or {}) if dot_access else response.json()
155
138
  except httpx.HTTPError as e:
156
139
  LOGS.error(f"[ASYNC] Error: {str(e)}")
157
- return None
140
+ raise WhatFuckError("[ASYNC] Error fetching") from e
Ryzenth/_errors.py ADDED
@@ -0,0 +1,10 @@
1
+ class WhatFuckError(Exception):
2
+ pass
3
+
4
+ class ErrorParamsRequired(ValueError):
5
+ pass
6
+
7
+ __all__ = [
8
+ "WhatFuckError",
9
+ "ErrorParamsRequired"
10
+ ]
Ryzenth/_synchisded.py CHANGED
@@ -22,7 +22,8 @@ import logging
22
22
  import httpx
23
23
  from box import Box
24
24
 
25
- from Ryzenth.helper import WhisperSync
25
+ from Ryzenth._errors import WhatFuckError
26
+ from Ryzenth.helper import FbanSync, FontsSync, ImagesSync, ModeratorSync, WhatSync, WhisperSync
26
27
  from Ryzenth.types import DownloaderBy, QueryParameter
27
28
 
28
29
  LOGS = logging.getLogger("[Ryzenth] sync")
@@ -32,49 +33,16 @@ class RyzenthXSync:
32
33
  self.api_key = api_key
33
34
  self.base_url = base_url.rstrip("/")
34
35
  self.headers = {"x-api-key": self.api_key}
35
- self.images = self.ImagesSync(self)
36
- self.what = self.WhatSync(self)
36
+ self.timeout = 10
37
+ self.params = {}
38
+ self.images = ImagesSync(self)
39
+ self.what = WhatSync(self)
37
40
  self.openai_audio = WhisperSync(self)
41
+ self.federation = FbanSync(self)
42
+ self.moderator = ModeratorSync(self)
43
+ self.fonts = FontsSync(self)
38
44
  self.obj = Box
39
45
 
40
- class WhatSync:
41
- def __init__(self, parent):
42
- self.parent = parent
43
-
44
- def think(self, params: QueryParameter, dot_access=False):
45
- url = f"{self.parent.base_url}/v1/ai/deepseek/deepseek-r1-distill-qwen-32b"
46
- try:
47
- response = httpx.get(
48
- url,
49
- params=params.dict(),
50
- headers=self.parent.headers,
51
- timeout=30
52
- )
53
- response.raise_for_status()
54
- return self.parent.obj(response.json() or {}) if dot_access else response.json()
55
- except httpx.HTTPError as e:
56
- LOGS.error(f"[SYNC] Error fetching from deepseek {e}")
57
- return None
58
-
59
- class ImagesSync:
60
- def __init__(self, parent):
61
- self.parent = parent
62
-
63
- def generate(self, params: QueryParameter):
64
- url = f"{self.parent.base_url}/v1/flux/black-forest-labs/flux-1-schnell"
65
- try:
66
- response = httpx.get(
67
- url,
68
- params=params.dict(),
69
- headers=self.parent.headers,
70
- timeout=30
71
- )
72
- response.raise_for_status()
73
- return response.content
74
- except httpx.HTTPError as e:
75
- LOGS.error(f"[SYNC] Error fetching from images {e}")
76
- return None
77
-
78
46
  def send_downloader(
79
47
  self,
80
48
  switch_name: str = None,
@@ -111,13 +79,13 @@ class RyzenthXSync:
111
79
  f"{self.base_url}/v1/dl/{model_name}",
112
80
  params=params.dict(),
113
81
  headers=self.headers,
114
- timeout=10
82
+ timeout=self.timeout
115
83
  )
116
84
  response.raise_for_status()
117
85
  return self.obj(response.json() or {}) if dot_access else response.json()
118
86
  except httpx.HTTPError as e:
119
87
  LOGS.error(f"[SYNC] Error fetching from downloader {e}")
120
- return None
88
+ raise WhatFuckError("[SYNC] Error fetching from downloader") from e
121
89
 
122
90
  def send_message(
123
91
  self,
@@ -153,10 +121,10 @@ class RyzenthXSync:
153
121
  f"{self.base_url}/v1/ai/akenox/{model_param}",
154
122
  params=params.dict(),
155
123
  headers=self.headers,
156
- timeout=10
124
+ timeout=self.timeout
157
125
  )
158
126
  response.raise_for_status()
159
127
  return self.obj(response.json() or {}) if dot_access else response.json()
160
128
  except httpx.HTTPError as e:
161
129
  LOGS.error(f"[SYNC] Error fetching from akenox: {e}")
162
- return None
130
+ raise WhatFuckError("[SYNC] Error fetching from akenox") from e
@@ -17,9 +17,24 @@
17
17
  # You should have received a copy of the GNU Affero General Public License
18
18
  # along with this program. If not, see <https://www.gnu.org/licenses/>.
19
19
 
20
+ from ._federation import FbanAsync, FbanSync
21
+ from ._fonts import FontsAsync, FontsSync
22
+ from ._images import ImagesAsync, ImagesSync
23
+ from ._moderator import ModeratorAsync, ModeratorSync
20
24
  from ._openai import WhisperAsync, WhisperSync
25
+ from ._thinking import WhatAsync, WhatSync
21
26
 
22
27
  __all__ = [
23
28
  "WhisperAsync",
24
- "WhisperSync"
29
+ "WhisperSync",
30
+ "ImagesAsync",
31
+ "ImagesSync",
32
+ "WhatAsync",
33
+ "WhatSync",
34
+ "FbanAsync",
35
+ "FbanSync",
36
+ "ModeratorAsync",
37
+ "ModeratorSync",
38
+ "FontsAsync",
39
+ "FontsSync"
25
40
  ]
@@ -0,0 +1,307 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # Copyright 2019-2025 (c) Randy W @xtdevs, @xtsea
4
+ #
5
+ # from : https://github.com/TeamKillerX
6
+ # Channel : @RendyProjects
7
+ # This program is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Affero General Public License as published by
9
+ # the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # This program is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Affero General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Affero General Public License
18
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
19
+
20
+ import logging
21
+
22
+ import httpx
23
+
24
+ from Ryzenth._errors import WhatFuckError
25
+
26
+ LOGS = logging.getLogger("[Ryzenth]")
27
+
28
+ class FbanSync:
29
+ def __init__(self, parent):
30
+ self.parent = parent
31
+
32
+ def newfed(self, name: str , owner: int, dot_access=False):
33
+ url = f"{self.parent.base_url}/v2/federation/newfed"
34
+ try:
35
+ response = httpx.post(
36
+ url,
37
+ json={"name": name, "owner": owner},
38
+ headers=self.parent.headers,
39
+ timeout=self.parent.timeout
40
+ )
41
+ response.raise_for_status()
42
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
43
+ except httpx.HTTPError as e:
44
+ LOGS.error(f"[SYNC] Error fetching from newfed {e}")
45
+ raise WhatFuckError("[SYNC] Error fetching from newfed") from e
46
+
47
+ def subfed(self, parent_uuid: str, child_uuid: str, dot_access=False):
48
+ url = f"{self.parent.base_url}/v2/federation/subfed"
49
+ try:
50
+ response = httpx.post(
51
+ url,
52
+ json={"parent_uuid": parent_uuid, "child_uuid": child_uuid},
53
+ headers=self.parent.headers,
54
+ timeout=self.parent.timeout
55
+ )
56
+ response.raise_for_status()
57
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
58
+ except httpx.HTTPError as e:
59
+ LOGS.error(f"[SYNC] Error fetching from subfed {e}")
60
+ raise WhatFuckError("[SYNC] Error fetching from subfed") from e
61
+
62
+ def getfed(self, uuid: str, dot_access=False):
63
+ url = f"{self.parent.base_url}/v2/federation/getfed/{uuid}"
64
+ try:
65
+ response = httpx.get(
66
+ url,
67
+ headers=self.parent.headers,
68
+ timeout=self.parent.timeout
69
+ )
70
+ response.raise_for_status()
71
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
72
+ except httpx.HTTPError as e:
73
+ LOGS.error(f"[SYNC] Error fetching from getfed {e}")
74
+ raise WhatFuckError("[SYNC] Error fetching from getfed") from e
75
+
76
+ def unban(self, name: str, user_id: int, dot_access=False):
77
+ url = f"{self.parent.base_url}/v2/federation/unban"
78
+ try:
79
+ response = httpx.post(
80
+ url,
81
+ json={"name": name, "user_id": user_id},
82
+ headers=self.parent.headers,
83
+ timeout=self.parent.timeout
84
+ )
85
+ response.raise_for_status()
86
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
87
+ except httpx.HTTPError as e:
88
+ LOGS.error(f"[SYNC] Error fetching from unban {e}")
89
+ raise WhatFuckError("[SYNC] Error fetching from unban") from e
90
+
91
+ def ban(self, federation_uuid: str, user_id: int, dot_access=False):
92
+ url = f"{self.parent.base_url}/v2/federation/ban"
93
+ try:
94
+ response = httpx.post(
95
+ url,
96
+ json={"federation_uuid": federation_uuid, "user_id": user_id},
97
+ headers=self.parent.headers,
98
+ timeout=self.parent.timeout
99
+ )
100
+ response.raise_for_status()
101
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
102
+ except httpx.HTTPError as e:
103
+ LOGS.error(f"[SYNC] Error fetching from unban {e}")
104
+ raise WhatFuckError("[SYNC] Error fetching from unban") from e
105
+
106
+ def ban_check(self, federation_uuid: str, user_id: int, dot_access=False):
107
+ url = f"{self.parent.base_url}/v2/federation/ban-check"
108
+ try:
109
+ response = httpx.post(
110
+ url,
111
+ json={"federation_uuid": federation_uuid, "user_id": user_id},
112
+ headers=self.parent.headers,
113
+ timeout=self.parent.timeout
114
+ )
115
+ response.raise_for_status()
116
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
117
+ except httpx.HTTPError as e:
118
+ LOGS.error(f"[SYNC] Error fetching from ban-check {e}")
119
+ raise WhatFuckError("[SYNC] Error fetching from ban-check") from e
120
+
121
+ def fedstats(self, uuid: str, dot_access=False):
122
+ url = f"{self.parent.base_url}/v2/federation/fedstats"
123
+ try:
124
+ response = httpx.get(
125
+ url,
126
+ params={"uuid": uuid},
127
+ headers=self.parent.headers,
128
+ timeout=self.parent.timeout
129
+ )
130
+ response.raise_for_status()
131
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
132
+ except httpx.HTTPError as e:
133
+ LOGS.error(f"[SYNC] Error fetching from fedstats {e}")
134
+ raise WhatFuckError("[SYNC] Error fetching from fedstats") from e
135
+
136
+ def unsubfed(self, parent_uuid: str, child_uuid: str, dot_access=False):
137
+ url = f"{self.parent.base_url}/v2/federation/unsubfed"
138
+ try:
139
+ response = httpx.post(
140
+ url,
141
+ json={"parent_uuid": parent_uuid, "child_uuid": child_uuid},
142
+ headers=self.parent.headers,
143
+ timeout=self.parent.timeout
144
+ )
145
+ response.raise_for_status()
146
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
147
+ except httpx.HTTPError as e:
148
+ LOGS.error(f"[SYNC] Error fetching from unsubfed {e}")
149
+ raise WhatFuckError("[SYNC] Error fetching from unsubfed") from e
150
+
151
+ def renamefed(self, federation_uuid: str, new_name: str, dot_access=False):
152
+ url = f"{self.parent.base_url}/v2/federation/renamefed"
153
+ try:
154
+ response = httpx.post(
155
+ url,
156
+ json={"federation_uuid": federation_uuid, "new_name": new_name},
157
+ headers=self.parent.headers,
158
+ timeout=self.parent.timeout
159
+ )
160
+ response.raise_for_status()
161
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
162
+ except httpx.HTTPError as e:
163
+ LOGS.error(f"[SYNC] Error fetching from renamefed {e}")
164
+ raise WhatFuckError("[SYNC] Error fetching from renamefed") from e
165
+
166
+ class FbanAsync:
167
+ def __init__(self, parent):
168
+ self.parent = parent
169
+
170
+ async def newfed(self, name: str , owner: int, dot_access=False):
171
+ url = f"{self.parent.base_url}/v2/federation/newfed"
172
+ async with httpx.AsyncClient() as client:
173
+ try:
174
+ response = await client.post(
175
+ url,
176
+ json={"name": name, "owner": owner},
177
+ headers=self.parent.headers,
178
+ timeout=self.parent.timeout
179
+ )
180
+ response.raise_for_status()
181
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
182
+ except httpx.HTTPError as e:
183
+ LOGS.error(f"[ASYNC] Error: {str(e)}")
184
+ raise WhatFuckError("[ASYNC] Error fetching") from e
185
+
186
+ async def subfed(self, parent_uuid: str, child_uuid: str, dot_access=False):
187
+ url = f"{self.parent.base_url}/v2/federation/subfed"
188
+ async with httpx.AsyncClient() as client:
189
+ try:
190
+ response = await client.post(
191
+ url,
192
+ json={"parent_uuid": parent_uuid, "child_uuid": child_uuid},
193
+ headers=self.parent.headers,
194
+ timeout=self.parent.timeout
195
+ )
196
+ response.raise_for_status()
197
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
198
+ except httpx.HTTPError as e:
199
+ LOGS.error(f"[ASYNC] Error: {str(e)}")
200
+ raise WhatFuckError("[ASYNC] Error fetching") from e
201
+
202
+ async def getfed(self, uuid: str, dot_access=False):
203
+ url = f"{self.parent.base_url}/v2/federation/getfed/{uuid}"
204
+ async with httpx.AsyncClient() as client:
205
+ try:
206
+ response = await client.get(url, headers=self.parent.headers, timeout=self.parent.timeout)
207
+ response.raise_for_status()
208
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
209
+ except httpx.HTTPError as e:
210
+ LOGS.error(f"[ASYNC] Error: {str(e)}")
211
+ raise WhatFuckError("[ASYNC] Error fetching") from e
212
+
213
+ async def unban(self, name: str, user_id: int, dot_access=False):
214
+ url = f"{self.parent.base_url}/v2/federation/unban"
215
+ async with httpx.AsyncClient() as client:
216
+ try:
217
+ response = await client.post(
218
+ url,
219
+ json={"name": name, "user_id": user_id},
220
+ headers=self.parent.headers,
221
+ timeout=self.parent.timeout
222
+ )
223
+ response.raise_for_status()
224
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
225
+ except httpx.HTTPError as e:
226
+ LOGS.error(f"[ASYNC] Error: {str(e)}")
227
+ raise WhatFuckError("[ASYNC] Error fetching") from e
228
+
229
+ async def ban(self, federation_uuid: str, user_id: int, dot_access=False):
230
+ url = f"{self.parent.base_url}/v2/federation/ban"
231
+ async with httpx.AsyncClient() as client:
232
+ try:
233
+ response = await client.post(
234
+ url,
235
+ json={"federation_uuid": federation_uuid, "user_id": user_id},
236
+ headers=self.parent.headers,
237
+ timeout=self.parent.timeout
238
+ )
239
+ response.raise_for_status()
240
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
241
+ except httpx.HTTPError as e:
242
+ LOGS.error(f"[ASYNC] Error: {str(e)}")
243
+ raise WhatFuckError("[ASYNC] Error fetching") from e
244
+
245
+ async def ban_check(self, federation_uuid: str, user_id: int, dot_access=False):
246
+ url = f"{self.parent.base_url}/v2/federation/ban-check"
247
+ async with httpx.AsyncClient() as client:
248
+ try:
249
+ response = await client.post(
250
+ url,
251
+ json={"federation_uuid": federation_uuid, "user_id": user_id},
252
+ headers=self.parent.headers,
253
+ timeout=self.parent.timeout
254
+ )
255
+ response.raise_for_status()
256
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
257
+ except httpx.HTTPError as e:
258
+ LOGS.error(f"[ASYNC] Error: {str(e)}")
259
+ raise WhatFuckError("[ASYNC] Error fetching") from e
260
+
261
+ async def fedstats(self, uuid: str, dot_access=False):
262
+ url = f"{self.parent.base_url}/v2/federation/fedstats"
263
+ async with httpx.AsyncClient() as client:
264
+ try:
265
+ response = await client.get(
266
+ url,
267
+ params={"uuid": uuid},
268
+ headers=self.parent.headers,
269
+ timeout=self.parent.timeout
270
+ )
271
+ response.raise_for_status()
272
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
273
+ except httpx.HTTPError as e:
274
+ LOGS.error(f"[ASYNC] Error: {str(e)}")
275
+ raise WhatFuckError("[ASYNC] Error fetching") from e
276
+
277
+ async def unsubfed(self, parent_uuid: str, child_uuid: str, dot_access=False):
278
+ url = f"{self.parent.base_url}/v2/federation/unsubfed"
279
+ async with httpx.AsyncClient() as client:
280
+ try:
281
+ response = await client.post(
282
+ url,
283
+ json={"parent_uuid": parent_uuid, "child_uuid": child_uuid},
284
+ headers=self.parent.headers,
285
+ timeout=self.parent.timeout
286
+ )
287
+ response.raise_for_status()
288
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
289
+ except httpx.HTTPError as e:
290
+ LOGS.error(f"[ASYNC] Error: {str(e)}")
291
+ raise WhatFuckError("[ASYNC] Error fetching") from e
292
+
293
+ async def renamefed(self, federation_uuid: str, new_name: str, dot_access=False):
294
+ url = f"{self.parent.base_url}/v2/federation/renamefed"
295
+ async with httpx.AsyncClient() as client:
296
+ try:
297
+ response = await client.post(
298
+ url,
299
+ json={"federation_uuid": federation_uuid, "new_name": new_name},
300
+ headers=self.parent.headers,
301
+ timeout=self.parent.timeout
302
+ )
303
+ response.raise_for_status()
304
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
305
+ except httpx.HTTPError as e:
306
+ LOGS.error(f"[ASYNC] Error: {str(e)}")
307
+ raise WhatFuckError("[ASYNC] Error fetching") from e
@@ -0,0 +1,79 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # Copyright 2019-2025 (c) Randy W @xtdevs, @xtsea
4
+ #
5
+ # from : https://github.com/TeamKillerX
6
+ # Channel : @RendyProjects
7
+ # This program is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Affero General Public License as published by
9
+ # the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # This program is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Affero General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Affero General Public License
18
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
19
+
20
+ import json
21
+ import logging
22
+ from datetime import datetime as dt
23
+
24
+ import httpx
25
+
26
+ from Ryzenth._errors import ErrorParamsRequired, WhatFuckError
27
+
28
+ LOGS = logging.getLogger("[Ryzenth]")
29
+
30
+ class FontsAsync:
31
+ def __init__(self, parent):
32
+ self.parent = parent
33
+
34
+ async def scanning(
35
+ self,
36
+ text: str = None,
37
+ dot_access=False
38
+ ):
39
+ url = f"{self.parent.base_url}/v1/fonts-stylish/detected"
40
+ if not text:
41
+ raise ErrorParamsRequired("Invalid Params Text")
42
+ async with httpx.AsyncClient() as client:
43
+ try:
44
+ response = await client.get(
45
+ url,
46
+ params={"query": text},
47
+ headers=self.parent.headers,
48
+ timeout=self.parent.timeout
49
+ )
50
+ response.raise_for_status()
51
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
52
+ except httpx.HTTPError as e:
53
+ LOGS.error(f"[ASYNC] Error: {str(e)}")
54
+ raise WhatFuckError("[ASYNC] Error fetching") from e
55
+
56
+ class FontsSync:
57
+ def __init__(self, parent):
58
+ self.parent = parent
59
+
60
+ def scanning(
61
+ self,
62
+ text: str = None,
63
+ dot_access=False
64
+ ):
65
+ url = f"{self.parent.base_url}/v1/fonts-stylish/detected"
66
+ if not text:
67
+ raise ErrorParamsRequired("Invalid Params Text")
68
+ try:
69
+ response = httpx.get(
70
+ url,
71
+ params={"query": text},
72
+ headers=self.parent.headers,
73
+ timeout=self.parent.timeout
74
+ )
75
+ response.raise_for_status()
76
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
77
+ except httpx.HTTPError as e:
78
+ LOGS.error(f"[SYNC] Error fetching from fonts {e}")
79
+ raise WhatFuckError("[SYNC] Error fetching from fonts") from e
@@ -0,0 +1,61 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # Copyright 2019-2025 (c) Randy W @xtdevs, @xtsea
4
+ #
5
+ # from : https://github.com/TeamKillerX
6
+ # Channel : @RendyProjects
7
+ # This program is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Affero General Public License as published by
9
+ # the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # This program is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Affero General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Affero General Public License
18
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
19
+
20
+ import logging
21
+
22
+ import httpx
23
+
24
+ from Ryzenth._errors import WhatFuckError
25
+ from Ryzenth.types import QueryParameter
26
+
27
+ LOGS = logging.getLogger("[Ryzenth]")
28
+
29
+ class ImagesAsync:
30
+ def __init__(self, parent):
31
+ self.parent = parent
32
+
33
+ async def generate(self, params: QueryParameter):
34
+ url = f"{self.parent.base_url}/v1/flux/black-forest-labs/flux-1-schnell"
35
+ async with httpx.AsyncClient() as client:
36
+ try:
37
+ response = await client.get(url, params=params.dict(), headers=self.parent.headers, timeout=self.parent.timeout)
38
+ response.raise_for_status()
39
+ return response.content
40
+ except httpx.HTTPError as e:
41
+ LOGS.error(f"[ASYNC] Error: {str(e)}")
42
+ raise WhatFuckError("[ASYNC] Error fetching") from e
43
+
44
+ class ImagesSync:
45
+ def __init__(self, parent):
46
+ self.parent = parent
47
+
48
+ def generate(self, params: QueryParameter):
49
+ url = f"{self.parent.base_url}/v1/flux/black-forest-labs/flux-1-schnell"
50
+ try:
51
+ response = httpx.get(
52
+ url,
53
+ params=params.dict(),
54
+ headers=self.parent.headers,
55
+ timeout=self.parent.timeout
56
+ )
57
+ response.raise_for_status()
58
+ return response.content
59
+ except httpx.HTTPError as e:
60
+ LOGS.error(f"[SYNC] Error fetching from images {e}")
61
+ raise WhatFuckError("[SYNC] Error fetching from images") from e
@@ -0,0 +1,125 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # Copyright 2019-2025 (c) Randy W @xtdevs, @xtsea
4
+ #
5
+ # from : https://github.com/TeamKillerX
6
+ # Channel : @RendyProjects
7
+ # This program is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Affero General Public License as published by
9
+ # the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # This program is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Affero General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Affero General Public License
18
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
19
+
20
+ import json
21
+ import logging
22
+ from datetime import datetime as dt
23
+
24
+ import httpx
25
+
26
+ from Ryzenth._errors import WhatFuckError
27
+
28
+ LOGS = logging.getLogger("[Ryzenth]")
29
+
30
+ class ModeratorAsync:
31
+ def __init__(self, parent):
32
+ self.parent = parent
33
+
34
+ async def antievalai(
35
+ self,
36
+ query: str,
37
+ version: str,
38
+ to_dict_by_loads=False,
39
+ dot_access=False
40
+ ):
41
+ version_params = {
42
+ "v1": "v1",
43
+ "v2": "v2"
44
+ }
45
+ _version = version_params.get(version)
46
+ if not _version:
47
+ raise ValueError("Invalid Version Name")
48
+
49
+ url = f"{self.parent.base_url}/v1/ai/akenox/antievalai-{_version}"
50
+ async with httpx.AsyncClient() as client:
51
+ try:
52
+ response = await client.get(
53
+ url,
54
+ params={"query": query},
55
+ headers=self.parent.headers,
56
+ timeout=self.parent.timeout
57
+ )
58
+ response.raise_for_status()
59
+ if to_dict_by_loads:
60
+ try:
61
+ return {
62
+ "author": "TeamKillerX",
63
+ f"timestamps": dt.now(),
64
+ f"is_detect": json.loads(response.json()["results"])["is_detect"],
65
+ "source": "Powered by Ryzenth API"
66
+ }
67
+ except json.decoder.JSONDecodeError:
68
+ return {
69
+ "author": "TeamKillerX",
70
+ f"timestamps": dt.now(),
71
+ f"is_detect": False,
72
+ "source": "Powered by Ryzenth API"
73
+ }
74
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
75
+ except httpx.HTTPError as e:
76
+ LOGS.error(f"[ASYNC] Error: {str(e)}")
77
+ raise WhatFuckError("[ASYNC] Error fetching") from e
78
+
79
+ class ModeratorSync:
80
+ def __init__(self, parent):
81
+ self.parent = parent
82
+
83
+ def antievalai(
84
+ self,
85
+ query: str,
86
+ version: str,
87
+ to_dict_by_loads=False,
88
+ dot_access=False
89
+ ):
90
+ version_params = {
91
+ "v1": "v1",
92
+ "v2": "v2"
93
+ }
94
+ _version = version_params.get(version)
95
+ if not _version:
96
+ raise ValueError("Invalid Version Name")
97
+
98
+ url = f"{self.parent.base_url}/v1/ai/akenox/antievalai-{_version}"
99
+ try:
100
+ response = httpx.get(
101
+ url,
102
+ params={"query": query},
103
+ headers=self.parent.headers,
104
+ timeout=self.parent.timeout
105
+ )
106
+ response.raise_for_status()
107
+ if to_dict_by_loads:
108
+ try:
109
+ return {
110
+ "author": "TeamKillerX",
111
+ f"timestamps": dt.now(),
112
+ f"is_detect": json.loads(response.json()["results"])["is_detect"],
113
+ "source": "Powered by Ryzenth API"
114
+ }
115
+ except json.decoder.JSONDecodeError:
116
+ return {
117
+ "author": "TeamKillerX",
118
+ f"timestamps": dt.now(),
119
+ f"is_detect": False,
120
+ "source": "Powered by Ryzenth API"
121
+ }
122
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
123
+ except httpx.HTTPError as e:
124
+ LOGS.error(f"[SYNC] Error fetching from antievalai {e}")
125
+ raise WhatFuckError("[SYNC] Error fetching from antievalai") from e
Ryzenth/helper/_openai.py CHANGED
@@ -21,6 +21,7 @@ import logging
21
21
 
22
22
  import httpx
23
23
 
24
+ from Ryzenth._errors import WhatFuckError
24
25
  from Ryzenth.types import OpenaiWhisper
25
26
 
26
27
  LOGS = logging.getLogger("[Ryzenth]")
@@ -33,12 +34,17 @@ class WhisperAsync:
33
34
  url = f"{self.parent.base_url}/v1/ai/openai/whisper-large-v3-turbo"
34
35
  async with httpx.AsyncClient() as client:
35
36
  try:
36
- response = await client.get(url, params=params.dict(), headers=self.parent.headers, timeout=30)
37
+ response = await client.get(
38
+ url,
39
+ params=params.dict(),
40
+ headers=self.parent.headers,
41
+ timeout=self.parent.timeout
42
+ )
37
43
  response.raise_for_status()
38
44
  return self.parent.obj(response.json() or {}) if dot_access else response.json()
39
45
  except httpx.HTTPError as e:
40
46
  LOGS.error(f"[ASYNC] Error: {str(e)}")
41
- return None
47
+ raise WhatFuckError("[ASYNC] Error fetching") from e
42
48
 
43
49
  class WhisperSync:
44
50
  def __init__(self, parent):
@@ -51,10 +57,10 @@ class WhisperSync:
51
57
  url,
52
58
  params=params.dict(),
53
59
  headers=self.parent.headers,
54
- timeout=30
60
+ timeout=self.parent.timeout
55
61
  )
56
62
  response.raise_for_status()
57
63
  return self.parent.obj(response.json() or {}) if dot_access else response.json()
58
64
  except httpx.HTTPError as e:
59
65
  LOGS.error(f"[SYNC] Error fetching from whisper openai {e}")
60
- return None
66
+ raise WhatFuckError("[SYNC] Error fetching from whisper openai") from e
@@ -0,0 +1,66 @@
1
+ #!/usr/bin/env python
2
+ # -*- coding: utf-8 -*-
3
+ # Copyright 2019-2025 (c) Randy W @xtdevs, @xtsea
4
+ #
5
+ # from : https://github.com/TeamKillerX
6
+ # Channel : @RendyProjects
7
+ # This program is free software: you can redistribute it and/or modify
8
+ # it under the terms of the GNU Affero General Public License as published by
9
+ # the Free Software Foundation, either version 3 of the License, or
10
+ # (at your option) any later version.
11
+ #
12
+ # This program is distributed in the hope that it will be useful,
13
+ # but WITHOUT ANY WARRANTY; without even the implied warranty of
14
+ # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
15
+ # GNU Affero General Public License for more details.
16
+ #
17
+ # You should have received a copy of the GNU Affero General Public License
18
+ # along with this program. If not, see <https://www.gnu.org/licenses/>.
19
+
20
+ import logging
21
+
22
+ import httpx
23
+
24
+ from Ryzenth._errors import WhatFuckError
25
+ from Ryzenth.types import QueryParameter
26
+
27
+ LOGS = logging.getLogger("[Ryzenth]")
28
+
29
+ class WhatAsync:
30
+ def __init__(self, parent):
31
+ self.parent = parent
32
+
33
+ async def think(self, params: QueryParameter, dot_access=False):
34
+ url = f"{self.parent.base_url}/v1/ai/deepseek/deepseek-r1-distill-qwen-32b"
35
+ async with httpx.AsyncClient() as client:
36
+ try:
37
+ response = await client.get(
38
+ url,
39
+ params=params.dict(),
40
+ headers=self.parent.headers,
41
+ timeout=self.parent.timeout
42
+ )
43
+ response.raise_for_status()
44
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
45
+ except httpx.HTTPError as e:
46
+ LOGS.error(f"[ASYNC] Error: {str(e)}")
47
+ raise WhatFuckError("[ASYNC] Error fetching") from e
48
+
49
+ class WhatSync:
50
+ def __init__(self, parent):
51
+ self.parent = parent
52
+
53
+ def think(self, params: QueryParameter, dot_access=False):
54
+ url = f"{self.parent.base_url}/v1/ai/deepseek/deepseek-r1-distill-qwen-32b"
55
+ try:
56
+ response = httpx.get(
57
+ url,
58
+ params=params.dict(),
59
+ headers=self.parent.headers,
60
+ timeout=self.parent.timeout
61
+ )
62
+ response.raise_for_status()
63
+ return self.parent.obj(response.json() or {}) if dot_access else response.json()
64
+ except httpx.HTTPError as e:
65
+ LOGS.error(f"[SYNC] Error fetching from deepseek {e}")
66
+ raise WhatFuckError("[SYNC] Error fetching from deepseek") from e
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Ryzenth
3
- Version: 1.8.8
3
+ Version: 1.9.0
4
4
  Summary: Ryzenth Python Wrapper For Perfomance
5
5
  Author: TeamKillerX
6
6
  License: MIT
@@ -0,0 +1,19 @@
1
+ Ryzenth/__init__.py,sha256=CKayGQJ_ZUZF6OHyL9kCdTah05BUikXKWKXL_raAgo8,937
2
+ Ryzenth/__version__.py,sha256=twdc5C08GfAEZJ_2vw8Vu9ivAX2v2en0u5F_RcOWe_w,118
3
+ Ryzenth/_asynchisded.py,sha256=ZNLp1rOJ_4SYcyMeB02ybsSmU38GO0TpHsQHRiR2w6c,4909
4
+ Ryzenth/_client.py,sha256=Y-I1ug8Hf2eF74oDY4eICOTP_nuLXdsDSkyZhpdqZy4,1475
5
+ Ryzenth/_errors.py,sha256=_ViAlLpyKIEM5b2NQHNw8ftAvm80g7Rrv1QHWNAQ5LI,152
6
+ Ryzenth/_synchisded.py,sha256=KFO3Smy3qKhOPW9cVQ6uutspDZjiZz79hiLaXFgGRfA,4702
7
+ Ryzenth/helper/__init__.py,sha256=ANx8vCXJ9ReLXIDWUwyhrIbw7jIyUXMdP11qotrWWIE,1308
8
+ Ryzenth/helper/_federation.py,sha256=VM1mkuPj4SvlO-VcazIV0T5Ga56RdcpDo7qybXwFCow,13946
9
+ Ryzenth/helper/_fonts.py,sha256=jrZ_wTZiXuN8AbqrT8bqc09naEkEJqQ8AdA16e_rqlk,2767
10
+ Ryzenth/helper/_images.py,sha256=AfNQoxae-yI76PDUa-jx7tWBlJa4tRZQFDjeqBLKwVM,2309
11
+ Ryzenth/helper/_moderator.py,sha256=BCZ97DntbMaPmKKWZOPf0W9GjcxzwM2y1N9PqgRPT2w,4518
12
+ Ryzenth/helper/_openai.py,sha256=hUhmwxuKV-AAeEbDFm4RnkasHNJjFROLdw1q2j2t_Mc,2574
13
+ Ryzenth/helper/_thinking.py,sha256=BKHvQe16KPOGh7_vev-_Ed8jl6_77_8Ys-g0SDtvlSU,2557
14
+ Ryzenth/types/__init__.py,sha256=3eEOjoRcEPoE5J5oIhXEPH6vbYG7TLasTHFcbWGS-mU,1095
15
+ ryzenth-1.9.0.dist-info/licenses/LICENSE,sha256=C73aiGSgoCAVNzvAHs-TROaf5vV8yCj9nqpGrmfNHHo,1068
16
+ ryzenth-1.9.0.dist-info/METADATA,sha256=01OPOveR6quHQidtFmdMvKCX-V2Ii0vFOM-Z8MvpZWU,4181
17
+ ryzenth-1.9.0.dist-info/WHEEL,sha256=Nw36Djuh_5VDukK0H78QzOX-_FQEo6V37m3nkm96gtU,91
18
+ ryzenth-1.9.0.dist-info/top_level.txt,sha256=0vIhjOjoQuCxLeZO0of8VCx2jsri-bLHV28nh8wWDnc,8
19
+ ryzenth-1.9.0.dist-info/RECORD,,
@@ -1,5 +1,5 @@
1
1
  Wheel-Version: 1.0
2
- Generator: setuptools (80.4.0)
2
+ Generator: setuptools (80.7.1)
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
5
5
 
@@ -1,13 +0,0 @@
1
- Ryzenth/__init__.py,sha256=CKayGQJ_ZUZF6OHyL9kCdTah05BUikXKWKXL_raAgo8,937
2
- Ryzenth/__version__.py,sha256=WMw0ZhFbEu7caaKIRyF0MQHhrdWDRzwYZgq3FyCRvTw,118
3
- Ryzenth/_asynchisded.py,sha256=zt7bV3aieGreQULEwLmuwUt6amYrqht1BRB1dWBPEyA,5891
4
- Ryzenth/_client.py,sha256=Y-I1ug8Hf2eF74oDY4eICOTP_nuLXdsDSkyZhpdqZy4,1475
5
- Ryzenth/_synchisded.py,sha256=hTRlIsTXltDurPUbhx4a4o6VPOrX2bf-gLMIQYWFhlU,5729
6
- Ryzenth/helper/__init__.py,sha256=7EyYKljsMHWs7mkj7_zhPuOxo3evXS513tLbW2oezkI,918
7
- Ryzenth/helper/_openai.py,sha256=p79Ed_IMHeW69KCVxOiEB80h9fBzNLXXEeghkrphL8w,2299
8
- Ryzenth/types/__init__.py,sha256=3eEOjoRcEPoE5J5oIhXEPH6vbYG7TLasTHFcbWGS-mU,1095
9
- ryzenth-1.8.8.dist-info/licenses/LICENSE,sha256=C73aiGSgoCAVNzvAHs-TROaf5vV8yCj9nqpGrmfNHHo,1068
10
- ryzenth-1.8.8.dist-info/METADATA,sha256=OsHC_PluVNRpNgngga__8XtAvnafun9wNs4EuZQCrJQ,4181
11
- ryzenth-1.8.8.dist-info/WHEEL,sha256=DnLRTWE75wApRYVsjgc6wsVswC54sMSJhAEd4xhDpBk,91
12
- ryzenth-1.8.8.dist-info/top_level.txt,sha256=0vIhjOjoQuCxLeZO0of8VCx2jsri-bLHV28nh8wWDnc,8
13
- ryzenth-1.8.8.dist-info/RECORD,,