Ryzenth 2.0.1__py3-none-any.whl → 2.0.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.
Ryzenth/__init__.py CHANGED
@@ -19,6 +19,11 @@
19
19
 
20
20
  from . import *
21
21
  from .__version__ import __version__
22
- from ._client import ApiKeyFrom, SmallConvertDot, UrHellFrom
22
+ from ._client import ApiKeyFrom, RyzenthApiClient, SmallConvertDot, UrHellFrom
23
23
 
24
- __all__ = [ "ApiKeyFrom", "UrHellFrom", "SmallConvertDot"]
24
+ __all__ = [
25
+ "ApiKeyFrom",
26
+ "RyzenthApiClient",
27
+ "UrHellFrom",
28
+ "SmallConvertDot"
29
+ ]
Ryzenth/__version__.py CHANGED
@@ -1,4 +1,10 @@
1
- __version__ = "2.0.1"
1
+ import platform
2
+
3
+
4
+ def get_user_agent() -> str:
5
+ return f"Ryzenth/Python-{platform.python_version()}"
6
+
7
+ __version__ = "2.0.3"
2
8
  __author__ = "TeamKillerX"
3
9
  __title__ = "Ryzenth"
4
10
  __description__ = "Ryzenth Python API Wrapper"
Ryzenth/_asynchisded.py CHANGED
@@ -18,11 +18,13 @@
18
18
  # along with this program. If not, see <https://www.gnu.org/licenses/>.
19
19
 
20
20
  import logging
21
+ import platform
21
22
  from typing import Union
22
23
 
23
24
  import httpx
24
25
  from box import Box
25
26
 
27
+ from .__version__ import get_user_agent
26
28
  from ._errors import InvalidModelError, WhatFuckError
27
29
  from ._shared import BASE_DICT_AI_RYZENTH, BASE_DICT_OFFICIAL, BASE_DICT_RENDER
28
30
  from .helper import (
@@ -34,14 +36,17 @@ from .helper import (
34
36
  WhatAsync,
35
37
  WhisperAsync,
36
38
  )
37
- from .types import DownloaderBy, QueryParameter, Username
39
+ from .types import DownloaderBy, QueryParameter, RequestXnxx, Username
38
40
 
39
41
 
40
42
  class RyzenthXAsync:
41
43
  def __init__(self, api_key: str, base_url: str = "https://randydev-ryu-js.hf.space/api"):
42
44
  self.api_key = api_key
43
45
  self.base_url = base_url.rstrip("/")
44
- self.headers = {"x-api-key": self.api_key}
46
+ self.headers = {
47
+ "User-Agent": get_user_agent(),
48
+ "x-api-key": self.api_key
49
+ }
45
50
  self.timeout = 10
46
51
  self.params = {}
47
52
  self.images = ImagesAsync(self)
@@ -66,7 +71,13 @@ class RyzenthXAsync:
66
71
  self,
67
72
  switch_name: str,
68
73
  *,
69
- params: Union[DownloaderBy, QueryParameter, Username] = None,
74
+ params: Union[
75
+ DownloaderBy,
76
+ QueryParameter,
77
+ Username,
78
+ RequestXnxx
79
+ ] = None,
80
+ params_only=True,
70
81
  on_render=False,
71
82
  dot_access=False
72
83
  ):
@@ -78,7 +89,12 @@ class RyzenthXAsync:
78
89
 
79
90
  async with httpx.AsyncClient() as client:
80
91
  try:
81
- response = await self._client_downloader_get(client, params, model_name)
92
+ response = await self._client_downloader_get(
93
+ client,
94
+ params,
95
+ params_only,
96
+ model_name
97
+ )
82
98
  response.raise_for_status()
83
99
  return self.obj(response.json() or {}) if dot_access else response.json()
84
100
  except httpx.HTTPError as e:
@@ -93,10 +109,10 @@ class RyzenthXAsync:
93
109
  timeout=self.timeout
94
110
  )
95
111
 
96
- async def _client_downloader_get(self, client, params, model_param):
112
+ async def _client_downloader_get(self, client, params, params_only, model_param):
97
113
  return await client.get(
98
114
  f"{self.base_url}/v1/dl/{model_param}",
99
- params=params.model_dump(),
115
+ params=params.model_dump() if params_only else None,
100
116
  headers=self.headers,
101
117
  timeout=self.timeout
102
118
  )
Ryzenth/_client.py CHANGED
@@ -18,10 +18,15 @@
18
18
  # along with this program. If not, see <https://www.gnu.org/licenses/>.
19
19
 
20
20
  import os
21
+ import platform
22
+ import typing as t
21
23
 
24
+ import aiohttp
22
25
  from box import Box
23
26
 
27
+ from .__version__ import get_user_agent
24
28
  from ._asynchisded import RyzenthXAsync
29
+ from ._errors import ForbiddenError, WhatFuckError
25
30
  from ._synchisded import RyzenthXSync
26
31
  from .helper import Decorators
27
32
 
@@ -59,3 +64,58 @@ class SmallConvertDot:
59
64
 
60
65
  def to_dot(self):
61
66
  return Box(self.obj if self.obj is not None else {})
67
+
68
+
69
+ class RyzenthApiClient:
70
+ BASE_URL = "https://randydev-ryu-js.hf.space"
71
+
72
+ def __init__(self, *, api_key: str) -> None:
73
+ if not api_key:
74
+ raise WhatFuckError("API Key cannot be empty.")
75
+ self._api_key: str = api_key
76
+ self._session: aiohttp.ClientSession = aiohttp.ClientSession(
77
+ headers={
78
+ "User-Agent": get_user_agent(),
79
+ "x-api-key": f"{self._api_key}"
80
+ }
81
+ )
82
+
83
+ @classmethod
84
+ def from_env(cls) -> "RyzenthApiClient":
85
+ api_key: t.Optional[str] = os.environ.get("RYZENTH_API_KEY")
86
+ if not api_key:
87
+ raise WhatFuckError("API Key cannot be empty.")
88
+ return cls(api_key=api_key)
89
+
90
+ async def get(self, path: str, params: t.Optional[dict] = None) -> dict:
91
+ url = f"{self.BASE_URL}{path}"
92
+ try:
93
+ async with self._session.get(url, params=params) as resp:
94
+ if resp.status == 403:
95
+ raise ForbiddenError("Access Forbidden: You may be blocked or banned.")
96
+ resp.raise_for_status()
97
+ return await resp.json()
98
+ except ForbiddenError as e:
99
+ return {"error": str(e)}
100
+ except aiohttp.ClientResponseError as e:
101
+ return {"error": f"HTTP Error: {e.status} {e.message}"}
102
+ except Exception as e:
103
+ return {"error": str(e)}
104
+
105
+ async def post(self, path: str, data: t.Optional[dict] = None, json: t.Optional[dict] = None) -> dict:
106
+ url = f"{self.BASE_URL}{path}"
107
+ try:
108
+ async with self._session.post(url, data=data, json=json) as resp:
109
+ if resp.status == 403:
110
+ raise ForbiddenError("Access Forbidden: You may be blocked or banned.")
111
+ resp.raise_for_status()
112
+ return await resp.json()
113
+ except ForbiddenError as e:
114
+ return {"error": str(e)}
115
+ except aiohttp.ClientResponseError as e:
116
+ return {"error": f"HTTP Error: {e.status} {e.message}"}
117
+ except Exception as e:
118
+ return {"error": str(e)}
119
+
120
+ async def close(self):
121
+ await self._session.close()
Ryzenth/_errors.py CHANGED
@@ -26,6 +26,10 @@ class WhatFuckError(Exception):
26
26
  class ParamsRequiredError(ValueError):
27
27
  pass
28
28
 
29
+ class ForbiddenError(Exception):
30
+ """Custom exception for 403 Forbidden"""
31
+ pass
32
+
29
33
  class RequiredError(ValueError):
30
34
  pass
31
35
 
@@ -46,6 +50,7 @@ class InvalidEmptyError(ValueError):
46
50
 
47
51
  __all__ = [
48
52
  "WhatFuckError",
53
+ "ForbiddenError",
49
54
  "ParamsRequiredError",
50
55
  "InvalidVersionError",
51
56
  "InvalidJSONDecodeError",
Ryzenth/_shared.py CHANGED
@@ -15,7 +15,9 @@ BASE_DICT_RENDER = {
15
15
  "pinterest-search": "pinterest-search-dl", #query #render
16
16
  "tiktok-search": "tiktok-search-dl", #query #render
17
17
  "yt-username": "yt-username", #username #render
18
- "tiktok-username": "tiktok-username" #username #render
18
+ "tiktok-username": "tiktok-username", #username #render
19
+ "xnxx-dl": "xnxx-dl", #types optional #render
20
+ "hentai-anime": "hentai-anime" #None, render
19
21
  }
20
22
 
21
23
  BASE_DICT_OFFICIAL = {
Ryzenth/_synchisded.py CHANGED
@@ -18,11 +18,13 @@
18
18
  # along with this program. If not, see <https://www.gnu.org/licenses/>.
19
19
 
20
20
  import logging
21
+ import platform
21
22
  from typing import Union
22
23
 
23
24
  import httpx
24
25
  from box import Box
25
26
 
27
+ from .__version__ import get_user_agent
26
28
  from ._errors import InvalidModelError, WhatFuckError
27
29
  from ._shared import BASE_DICT_AI_RYZENTH, BASE_DICT_OFFICIAL, BASE_DICT_RENDER
28
30
  from .helper import (
@@ -34,14 +36,17 @@ from .helper import (
34
36
  WhatSync,
35
37
  WhisperSync,
36
38
  )
37
- from .types import DownloaderBy, QueryParameter, Username
39
+ from .types import DownloaderBy, QueryParameter, RequestXnxx, Username
38
40
 
39
41
 
40
42
  class RyzenthXSync:
41
43
  def __init__(self, api_key: str, base_url: str = "https://randydev-ryu-js.hf.space/api"):
42
44
  self.api_key = api_key
43
45
  self.base_url = base_url.rstrip("/")
44
- self.headers = {"x-api-key": self.api_key}
46
+ self.headers = {
47
+ "User-Agent": get_user_agent(),
48
+ "x-api-key": self.api_key
49
+ }
45
50
  self.timeout = 10
46
51
  self.params = {}
47
52
  self.images = ImagesSync(self)
@@ -66,7 +71,13 @@ class RyzenthXSync:
66
71
  self,
67
72
  switch_name: str,
68
73
  *,
69
- params: Union[DownloaderBy, QueryParameter, Username] = None,
74
+ params: Union[
75
+ DownloaderBy,
76
+ QueryParameter,
77
+ Username,
78
+ RequestXnxx
79
+ ] = None,
80
+ params_only=True,
70
81
  on_render=False,
71
82
  dot_access=False
72
83
  ):
@@ -77,7 +88,7 @@ class RyzenthXSync:
77
88
  try:
78
89
  response = httpx.get(
79
90
  f"{self.base_url}/v1/dl/{model_name}",
80
- params=params.model_dump(),
91
+ params=params.model_dump() if params_only else None,
81
92
  headers=self.headers,
82
93
  timeout=self.timeout
83
94
  )
Ryzenth/helper/_images.py CHANGED
@@ -25,27 +25,36 @@ class ImagesAsync:
25
25
  def __init__(self, parent):
26
26
  self.parent = parent
27
27
 
28
- async def generate(self, params: QueryParameter):
28
+ async def generate(self, params: QueryParameter) -> bytes:
29
29
  url = f"{self.parent.base_url}/v1/flux/black-forest-labs/flux-1-schnell"
30
30
  async with self.parent.httpx.AsyncClient() as client:
31
31
  try:
32
- response = await client.get(url, params=params.dict(), headers=self.parent.headers, timeout=self.parent.timeout)
32
+ response = await client.get(
33
+ url,
34
+ params=params.model_dump(),
35
+ headers=self.parent.headers,
36
+ timeout=self.parent.timeout
37
+ )
33
38
  response.raise_for_status()
34
39
  return response.content
35
40
  except self.parent.httpx.HTTPError as e:
36
41
  self.parent.logger.error(f"[ASYNC] Error: {str(e)}")
37
42
  raise WhatFuckError("[ASYNC] Error fetching") from e
38
43
 
44
+ async def to_save(self, params: QueryParameter, file_path="fluxai.jpg"):
45
+ content = await self.generate(params)
46
+ return ResponseFileImage(content).to_save(file_path)
47
+
39
48
  class ImagesSync:
40
49
  def __init__(self, parent):
41
50
  self.parent = parent
42
51
 
43
- def generate(self, params: QueryParameter):
52
+ def generate(self, params: QueryParameter) -> bytes:
44
53
  url = f"{self.parent.base_url}/v1/flux/black-forest-labs/flux-1-schnell"
45
54
  try:
46
55
  response = self.parent.httpx.get(
47
56
  url,
48
- params=params.dict(),
57
+ params=params.model_dump(),
49
58
  headers=self.parent.headers,
50
59
  timeout=self.parent.timeout
51
60
  )
@@ -54,3 +63,17 @@ class ImagesSync:
54
63
  except self.parent.httpx.HTTPError as e:
55
64
  self.parent.logger.error(f"[SYNC] Error fetching from images {e}")
56
65
  raise WhatFuckError("[SYNC] Error fetching from images") from e
66
+
67
+ def to_save(self, params: QueryParameter, file_path="fluxai.jpg"):
68
+ content = self.generate(params)
69
+ return ResponseFileImage(content).to_save(file_path)
70
+
71
+
72
+ class ResponseFileImage:
73
+ def __init__(self, response_content: bytes):
74
+ self.response_content = response_content
75
+
76
+ def to_save(self, file_path="fluxai.jpg"):
77
+ with open(file_path, "wb") as f:
78
+ f.write(self.response_content)
79
+ return file_path
Ryzenth/helper/_openai.py CHANGED
@@ -31,7 +31,7 @@ class WhisperAsync:
31
31
  try:
32
32
  response = await client.get(
33
33
  url,
34
- params=params.dict(),
34
+ params=params.model_dump(),
35
35
  headers=self.parent.headers,
36
36
  timeout=self.parent.timeout
37
37
  )
@@ -50,7 +50,7 @@ class WhisperSync:
50
50
  try:
51
51
  response = self.parent.httpx.get(
52
52
  url,
53
- params=params.dict(),
53
+ params=params.model_dump(),
54
54
  headers=self.parent.headers,
55
55
  timeout=self.parent.timeout
56
56
  )
@@ -1,5 +1,5 @@
1
1
  from Ryzenth._synchisded import RyzenthXSync
2
- from Ryzenth.types import QueryParameter, Username
2
+ from Ryzenth.types import QueryParameter, RequestXnxx, Username
3
3
 
4
4
 
5
5
  def test_send_downloader():
@@ -23,3 +23,25 @@ def test_yt_username():
23
23
  on_render=True
24
24
  )
25
25
  assert result is not None
26
+
27
+ def test_hentai_anime():
28
+ ryz = RyzenthXSync("test", base_url="https://x-api-js.onrender.com/api")
29
+ result = ryz.send_downloader(
30
+ switch_name="hentai-anime",
31
+ params=None,
32
+ params_only=False,
33
+ on_render=True
34
+ )
35
+ assert result is not None
36
+
37
+ def test_xnxxdl():
38
+ ryz = RyzenthXSync("test", base_url="https://x-api-js.onrender.com/api")
39
+ result = ryz.send_downloader(
40
+ switch_name="xnxx-dl",
41
+ params=RequestXnxx(
42
+ query="boobs",
43
+ is_download=False
44
+ ),
45
+ on_render=True
46
+ )
47
+ assert result is not None
Ryzenth/types/__init__.py CHANGED
@@ -20,7 +20,7 @@
20
20
 
21
21
  from typing import Any, Optional
22
22
 
23
- from pydantic import BaseModel
23
+ from pydantic import BaseModel, Field
24
24
 
25
25
 
26
26
  class QueryParameter(BaseModel):
@@ -37,6 +37,11 @@ class OpenaiWhisper(BaseModel):
37
37
  language: Optional[str] = None
38
38
  task: Optional[str] = None
39
39
 
40
+ class RequestXnxx(BaseModel):
41
+ query: str
42
+ is_download: bool = Field(False, alias="isDownload")
43
+ url: Optional[str] = None
44
+
40
45
  class RequestHumanizer(BaseModel):
41
46
  text: str
42
47
  writing_style: str
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: Ryzenth
3
- Version: 2.0.1
3
+ Version: 2.0.3
4
4
  Summary: Ryzenth Python Wrapper For Perfomance
5
5
  Author: TeamKillerX
6
6
  License: MIT
@@ -0,0 +1,28 @@
1
+ Ryzenth/__init__.py,sha256=ON7RbtPrgK-Fw414Vro5J2OAGocv0522rRIojMNX2Q0,1043
2
+ Ryzenth/__version__.py,sha256=qdsh9AD4vL81AgWaBd-4NX-_-yG0wb7dkh-Qm0KpXsw,223
3
+ Ryzenth/_asynchisded.py,sha256=5ZjrXZzMSZw3T6kQ3eg-owgH1Y2dmGWJy9AOQqcoFUQ,5051
4
+ Ryzenth/_client.py,sha256=dMHpNHZD_Cr0v0h5IY1gUS0vFdNZJN92ym1iI1K7AY0,4161
5
+ Ryzenth/_errors.py,sha256=Jd5GVEz3PQF-xaPVuEc8X5-3eFERDV-8kc8NOreV6qQ,1566
6
+ Ryzenth/_shared.py,sha256=zlERjX4XmYsDbkei8BRQ_-G1ozPlsn0SSalsAN6roT0,1682
7
+ Ryzenth/_synchisded.py,sha256=Ns0F4iA4kWUg2j5u0Tyqj2E1mXIMs29IoQZCYW5G1Gw,4922
8
+ Ryzenth/helper/__init__.py,sha256=BkP6fQ3IJnOqyXn07jD7anumVPlm8lVPNkFnK9b6XpE,1447
9
+ Ryzenth/helper/_decorators.py,sha256=rEdJRoQrJfqd4LqNOiFfPwEQwMU4uVuEsoqRuQfw99I,2125
10
+ Ryzenth/helper/_federation.py,sha256=pfqqGjg179f-olvW1Z7aX1nQf0GQJdSK4NDMaMDxmbA,14552
11
+ Ryzenth/helper/_fonts.py,sha256=Yy5qWdumGf0Y7tcvEXGLSn87mKlr-x_gmO241a465j8,3035
12
+ Ryzenth/helper/_images.py,sha256=sDIqo964oDeLvhf1XtJ1khNgSuYXSzmQY9w_jJS89fI,3073
13
+ Ryzenth/helper/_moderator.py,sha256=fAi0Xxk6CSShXl94H0FT8oDn6FttVq3ysBiROjSesCw,5501
14
+ Ryzenth/helper/_openai.py,sha256=YkoW40X7Hgo_gQCWqrxHAe_uTx1fR5AyFAZh2MMiNJo,2582
15
+ Ryzenth/helper/_ryzenth.py,sha256=VPjo09JOjtzS74AxUwcXsaWFGY923_scqZ2ujzBEa3A,2874
16
+ Ryzenth/helper/_thinking.py,sha256=OTmV9FQYVbsWupZA-jvywWJBdO6UyioVBkBMsFazBWQ,2566
17
+ Ryzenth/pyoraddons/__init__.py,sha256=Xt4w4YHoFKwMZe8QslhLKp6mHBjBowvYjzkN95ikpjU,3175
18
+ Ryzenth/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
+ Ryzenth/tests/test_deepseek.py,sha256=_KbYr-haKBt5Xc-YULBL9Ic5OM02SX17hvQWWjYpNAk,255
20
+ Ryzenth/tests/test_moderator.py,sha256=wc9A_0gx3LobMD7CDS-h2eTNPNYxeJk_rqtd2QTt428,291
21
+ Ryzenth/tests/test_send.py,sha256=yPQV3XRsPKBo4eSsz5kc2R6BEuru0zmMexYshX0Ac3s,573
22
+ Ryzenth/tests/test_send_downloader.py,sha256=23Lkq6bkh5SVDZ2hRH1Q3nlqpl-dqqGMSznDkmgDbhc,1318
23
+ Ryzenth/types/__init__.py,sha256=2q3Oy7wCtgHa1cVY1JVN6cJht7uEAva3yFijSiJxYdI,1392
24
+ ryzenth-2.0.3.dist-info/licenses/LICENSE,sha256=C73aiGSgoCAVNzvAHs-TROaf5vV8yCj9nqpGrmfNHHo,1068
25
+ ryzenth-2.0.3.dist-info/METADATA,sha256=E-HO1-AV9MWenAxg_LRpRRfvDIYcocT0LzIUCFn7vTg,4390
26
+ ryzenth-2.0.3.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
+ ryzenth-2.0.3.dist-info/top_level.txt,sha256=0vIhjOjoQuCxLeZO0of8VCx2jsri-bLHV28nh8wWDnc,8
28
+ ryzenth-2.0.3.dist-info/RECORD,,
@@ -1,28 +0,0 @@
1
- Ryzenth/__init__.py,sha256=vM1IVkgRFQT5o15KYKx8kY59114Jw5taP8ytm9YJy94,996
2
- Ryzenth/__version__.py,sha256=7TfjoHIGnI-uQvSrKq8eS0RolxAcGgJ9hf1YEC2zsYg,118
3
- Ryzenth/_asynchisded.py,sha256=QmPWelWBvm6EAx0HDBBVWD20bUCZZY0xUPxSWYv_G3c,4686
4
- Ryzenth/_client.py,sha256=1DhB0Ey-XM8kSpP3ztNkGkrevyLssdFAwLf4mjI6DWU,1867
5
- Ryzenth/_errors.py,sha256=PwXVGoRQQYw05YYsh7bCRxr3jpV5k31fXCNNweag8LY,1456
6
- Ryzenth/_shared.py,sha256=TeI0F7E_yzWXmYIQP4dsKqB2h2c0kkCfKgsssnfCe3Y,1582
7
- Ryzenth/_synchisded.py,sha256=o6R1-CCkXLs83TE6xAKTyiWiETx98OS8DfnYilqELhU,4681
8
- Ryzenth/helper/__init__.py,sha256=BkP6fQ3IJnOqyXn07jD7anumVPlm8lVPNkFnK9b6XpE,1447
9
- Ryzenth/helper/_decorators.py,sha256=rEdJRoQrJfqd4LqNOiFfPwEQwMU4uVuEsoqRuQfw99I,2125
10
- Ryzenth/helper/_federation.py,sha256=pfqqGjg179f-olvW1Z7aX1nQf0GQJdSK4NDMaMDxmbA,14552
11
- Ryzenth/helper/_fonts.py,sha256=Yy5qWdumGf0Y7tcvEXGLSn87mKlr-x_gmO241a465j8,3035
12
- Ryzenth/helper/_images.py,sha256=oOqojWiiYMZja1LloY_c-qIbH-s35yENohpBbZYDHCc,2305
13
- Ryzenth/helper/_moderator.py,sha256=fAi0Xxk6CSShXl94H0FT8oDn6FttVq3ysBiROjSesCw,5501
14
- Ryzenth/helper/_openai.py,sha256=cbQkEZ_B4NQEnnqG4Wobf_k6HLtKfpeMRJ8vFPuEWUQ,2570
15
- Ryzenth/helper/_ryzenth.py,sha256=VPjo09JOjtzS74AxUwcXsaWFGY923_scqZ2ujzBEa3A,2874
16
- Ryzenth/helper/_thinking.py,sha256=OTmV9FQYVbsWupZA-jvywWJBdO6UyioVBkBMsFazBWQ,2566
17
- Ryzenth/pyoraddons/__init__.py,sha256=Xt4w4YHoFKwMZe8QslhLKp6mHBjBowvYjzkN95ikpjU,3175
18
- Ryzenth/tests/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
19
- Ryzenth/tests/test_deepseek.py,sha256=_KbYr-haKBt5Xc-YULBL9Ic5OM02SX17hvQWWjYpNAk,255
20
- Ryzenth/tests/test_moderator.py,sha256=wc9A_0gx3LobMD7CDS-h2eTNPNYxeJk_rqtd2QTt428,291
21
- Ryzenth/tests/test_send.py,sha256=yPQV3XRsPKBo4eSsz5kc2R6BEuru0zmMexYshX0Ac3s,573
22
- Ryzenth/tests/test_send_downloader.py,sha256=hGlRK3diXmJLsSnbeuNsJh1YoZqhe2E8W7NNokMNoaQ,708
23
- Ryzenth/types/__init__.py,sha256=G99dsLqka-fu9T3dtQO7---oTUQF2ygzea9DAwrJ48U,1252
24
- ryzenth-2.0.1.dist-info/licenses/LICENSE,sha256=C73aiGSgoCAVNzvAHs-TROaf5vV8yCj9nqpGrmfNHHo,1068
25
- ryzenth-2.0.1.dist-info/METADATA,sha256=pmc45mRVte-O2AoRAsFoagXWzWanHmCO-6PJGvjMLbQ,4390
26
- ryzenth-2.0.1.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
27
- ryzenth-2.0.1.dist-info/top_level.txt,sha256=0vIhjOjoQuCxLeZO0of8VCx2jsri-bLHV28nh8wWDnc,8
28
- ryzenth-2.0.1.dist-info/RECORD,,