reykit 1.1.0__py3-none-any.whl → 1.1.2__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.
- reykit/__init__.py +0 -6
- reykit/rcomm.py +12 -12
- reykit/rdata.py +4 -4
- reykit/remail.py +12 -14
- reykit/rexception.py +4 -4
- reykit/rimage.py +9 -9
- reykit/rlog.py +30 -30
- reykit/rmonkey.py +4 -5
- reykit/rmultitask.py +14 -15
- reykit/rnumber.py +2 -2
- reykit/ros.py +21 -21
- reykit/rrandom.py +10 -10
- reykit/rregex.py +10 -13
- reykit/rschedule.py +10 -10
- reykit/rstdout.py +13 -13
- reykit/rsystem.py +54 -54
- reykit/rtable.py +31 -31
- reykit/rtext.py +3 -3
- reykit/rtime.py +11 -31
- reykit/rtype.py +2 -2
- reykit/rwrap.py +16 -16
- reykit/rzip.py +4 -5
- reykit-1.1.2.dist-info/METADATA +44 -0
- reykit-1.1.2.dist-info/RECORD +30 -0
- {reykit-1.1.0.dist-info → reykit-1.1.2.dist-info}/WHEEL +1 -2
- reykit-1.1.2.dist-info/licenses/LICENSE +7 -0
- reykit-1.1.0.dist-info/METADATA +0 -29
- reykit-1.1.0.dist-info/RECORD +0 -30
- reykit-1.1.0.dist-info/top_level.txt +0 -1
reykit/rtable.py
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
|
12
|
-
from typing import Any, TypedDict,
|
12
|
+
from typing import Any, TypedDict, overload
|
13
13
|
from collections.abc import Iterable
|
14
14
|
from os.path import abspath as os_abspath
|
15
15
|
from pandas import DataFrame, ExcelWriter, isnull
|
@@ -34,13 +34,13 @@ __all__ = (
|
|
34
34
|
)
|
35
35
|
|
36
36
|
|
37
|
-
type Table =
|
38
|
-
SheetSet = TypedDict('SheetsSet', {'name': str, 'index': int, 'fields':
|
37
|
+
type Table = list[dict] | dict | CursorResult | DataFrame
|
38
|
+
SheetSet = TypedDict('SheetsSet', {'name': str, 'index': int, 'fields': str | list[str]})
|
39
39
|
|
40
40
|
|
41
41
|
def to_table(
|
42
|
-
data:
|
43
|
-
fields:
|
42
|
+
data: Table | Iterable[Iterable],
|
43
|
+
fields: Iterable | None = None
|
44
44
|
) -> list[dict]:
|
45
45
|
"""
|
46
46
|
Convert data to table in `list[dict]` format, keys and keys sort of the dictionary are the same.
|
@@ -95,23 +95,23 @@ def to_table(
|
|
95
95
|
|
96
96
|
@overload
|
97
97
|
def to_dict(
|
98
|
-
data:
|
99
|
-
key_field:
|
98
|
+
data: Table | Iterable[Iterable],
|
99
|
+
key_field: int | str = 0,
|
100
100
|
val_field: None = None
|
101
101
|
) -> dict[Any, dict]: ...
|
102
102
|
|
103
103
|
@overload
|
104
104
|
def to_dict(
|
105
|
-
data:
|
106
|
-
key_field:
|
107
|
-
val_field:
|
105
|
+
data: Table | Iterable[Iterable],
|
106
|
+
key_field: int | str = 0,
|
107
|
+
val_field: int | str = None
|
108
108
|
) -> dict: ...
|
109
109
|
|
110
110
|
def to_dict(
|
111
|
-
data:
|
112
|
-
key_field:
|
113
|
-
val_field:
|
114
|
-
) ->
|
111
|
+
data: Table | Iterable[Iterable],
|
112
|
+
key_field: int | str = 0,
|
113
|
+
val_field: int | str | None = None
|
114
|
+
) -> dict[Any, dict] | dict:
|
115
115
|
"""
|
116
116
|
Convert data as dictionary.
|
117
117
|
|
@@ -169,8 +169,8 @@ def to_dict(
|
|
169
169
|
|
170
170
|
|
171
171
|
def to_list(
|
172
|
-
data:
|
173
|
-
field:
|
172
|
+
data: Table | Iterable[Iterable],
|
173
|
+
field: int | str = 0,
|
174
174
|
) -> list:
|
175
175
|
"""
|
176
176
|
Convert data as list.
|
@@ -209,8 +209,8 @@ def to_list(
|
|
209
209
|
|
210
210
|
|
211
211
|
def to_df(
|
212
|
-
data:
|
213
|
-
fields:
|
212
|
+
data: Table | Iterable[Iterable],
|
213
|
+
fields: Iterable | None = None
|
214
214
|
) -> DataFrame:
|
215
215
|
"""
|
216
216
|
Convert data to table of `DataFrame` object.
|
@@ -253,8 +253,8 @@ def to_df(
|
|
253
253
|
|
254
254
|
|
255
255
|
def to_json(
|
256
|
-
data:
|
257
|
-
fields:
|
256
|
+
data: Table | Iterable[Iterable],
|
257
|
+
fields: Iterable | None = None,
|
258
258
|
compact: bool = True
|
259
259
|
) -> str:
|
260
260
|
"""
|
@@ -283,8 +283,8 @@ def to_json(
|
|
283
283
|
|
284
284
|
|
285
285
|
def to_text(
|
286
|
-
data:
|
287
|
-
fields:
|
286
|
+
data: Table | Iterable[Iterable],
|
287
|
+
fields: Iterable | None = None,
|
288
288
|
width: int = 100
|
289
289
|
) -> str:
|
290
290
|
"""
|
@@ -313,8 +313,8 @@ def to_text(
|
|
313
313
|
|
314
314
|
|
315
315
|
def to_sql(
|
316
|
-
data:
|
317
|
-
fields:
|
316
|
+
data: Table | Iterable[Iterable],
|
317
|
+
fields: Iterable | None = None
|
318
318
|
) -> str:
|
319
319
|
"""
|
320
320
|
Convert data to SQL string.
|
@@ -365,8 +365,8 @@ def to_sql(
|
|
365
365
|
|
366
366
|
|
367
367
|
def to_html(
|
368
|
-
data:
|
369
|
-
fields:
|
368
|
+
data: Table | Iterable[Iterable],
|
369
|
+
fields: Iterable | None = None
|
370
370
|
) -> str:
|
371
371
|
"""
|
372
372
|
Convert data to HTML string.
|
@@ -393,9 +393,9 @@ def to_html(
|
|
393
393
|
|
394
394
|
|
395
395
|
def to_csv(
|
396
|
-
data:
|
396
|
+
data: Table | Iterable[Iterable],
|
397
397
|
path: str = 'data.csv',
|
398
|
-
fields:
|
398
|
+
fields: Iterable | None = None
|
399
399
|
) -> str:
|
400
400
|
"""
|
401
401
|
Convert data to save CSV format file.
|
@@ -429,10 +429,10 @@ def to_csv(
|
|
429
429
|
|
430
430
|
|
431
431
|
def to_excel(
|
432
|
-
data:
|
432
|
+
data: Table | Iterable[Iterable],
|
433
433
|
path: str = 'data.xlsx',
|
434
|
-
group_field:
|
435
|
-
sheets_set: dict[
|
434
|
+
group_field: str | None = None,
|
435
|
+
sheets_set: dict[str | int, SheetSet] = {}
|
436
436
|
) -> str:
|
437
437
|
"""
|
438
438
|
Convert data to save Excel format file and return sheet name and sheet data.
|
reykit/rtext.py
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
|
12
|
-
from typing import Any, Literal
|
12
|
+
from typing import Any, Literal
|
13
13
|
from collections.abc import Iterable
|
14
14
|
from decimal import Decimal
|
15
15
|
from pprint import pformat as pprint_pformat
|
@@ -278,7 +278,7 @@ def join_filter_text(data: Iterable, char: str = ',', filter_: tuple = (None, ''
|
|
278
278
|
|
279
279
|
def add_text_frame(
|
280
280
|
*texts: str,
|
281
|
-
title:
|
281
|
+
title: str | None,
|
282
282
|
width: int,
|
283
283
|
frame: Literal['full', 'half', 'top', 'half_plain', 'top_plain']
|
284
284
|
) -> str:
|
@@ -289,7 +289,7 @@ def add_text_frame(
|
|
289
289
|
----------
|
290
290
|
texts : Texts.
|
291
291
|
title : Frame title.
|
292
|
-
- `
|
292
|
+
- `None | Literal['']`: No title.
|
293
293
|
- `str`: Use this value as the title.
|
294
294
|
width : Frame width.
|
295
295
|
frame : Frame type.
|
reykit/rtime.py
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
|
12
|
-
from typing import Any, TypedDict, Literal,
|
12
|
+
from typing import Any, TypedDict, Literal, overload, NoReturn
|
13
13
|
from collections.abc import Callable
|
14
14
|
from pandas import (
|
15
15
|
DataFrame,
|
@@ -47,7 +47,7 @@ __all__ = (
|
|
47
47
|
)
|
48
48
|
|
49
49
|
|
50
|
-
RecordData = TypedDict('RecordData', {'timestamp': int, 'datetime': datetime_datetime, 'timedelta':
|
50
|
+
RecordData = TypedDict('RecordData', {'timestamp': int, 'datetime': datetime_datetime, 'timedelta': datetime_timedelta | None, 'note': str | None})
|
51
51
|
|
52
52
|
|
53
53
|
@overload
|
@@ -78,13 +78,7 @@ def now(
|
|
78
78
|
'time_str',
|
79
79
|
'timestamp'
|
80
80
|
] = 'datetime'
|
81
|
-
) ->
|
82
|
-
datetime_datetime,
|
83
|
-
datetime_date,
|
84
|
-
datetime_time,
|
85
|
-
str,
|
86
|
-
int
|
87
|
-
]:
|
81
|
+
) -> datetime_datetime | datetime_date | datetime_time | str | int:
|
88
82
|
"""
|
89
83
|
Get the now time.
|
90
84
|
|
@@ -126,15 +120,7 @@ def now(
|
|
126
120
|
|
127
121
|
@overload
|
128
122
|
def time_to(
|
129
|
-
obj:
|
130
|
-
datetime_datetime,
|
131
|
-
datetime_date,
|
132
|
-
datetime_time,
|
133
|
-
datetime_timedelta,
|
134
|
-
time_struct_time,
|
135
|
-
pd_timestamp,
|
136
|
-
pd_timedelta
|
137
|
-
],
|
123
|
+
obj: datetime_datetime | datetime_date | datetime_time | datetime_timedelta | time_struct_time | pd_timestamp | pd_timedelta,
|
138
124
|
decimal: bool = False,
|
139
125
|
raising: bool = True
|
140
126
|
) -> str: ...
|
@@ -241,13 +227,7 @@ def time_to(
|
|
241
227
|
|
242
228
|
def text_to_time(
|
243
229
|
string: str
|
244
|
-
) ->
|
245
|
-
Union[
|
246
|
-
datetime_datetime,
|
247
|
-
datetime_date,
|
248
|
-
datetime_time
|
249
|
-
]
|
250
|
-
]:
|
230
|
+
) -> datetime_datetime | datetime_date | datetime_time | None:
|
251
231
|
"""
|
252
232
|
Convert text to time object.
|
253
233
|
|
@@ -332,11 +312,11 @@ def text_to_time(
|
|
332
312
|
def to_time(
|
333
313
|
obj: str,
|
334
314
|
raising: bool = True
|
335
|
-
) ->
|
315
|
+
) -> datetime_datetime | datetime_date | datetime_time: ...
|
336
316
|
|
337
317
|
@overload
|
338
318
|
def to_time(
|
339
|
-
obj:
|
319
|
+
obj: time_struct_time | float,
|
340
320
|
raising: bool = True
|
341
321
|
) -> datetime_datetime: ...
|
342
322
|
|
@@ -413,7 +393,7 @@ def to_time(
|
|
413
393
|
|
414
394
|
def sleep(
|
415
395
|
*thresholds: float,
|
416
|
-
precision:
|
396
|
+
precision: int | None = None
|
417
397
|
) -> float:
|
418
398
|
"""
|
419
399
|
Sleep random seconds.
|
@@ -452,7 +432,7 @@ def wait(
|
|
452
432
|
func: Callable[..., bool],
|
453
433
|
*args: Any,
|
454
434
|
_interval: float = 1,
|
455
|
-
_timeout:
|
435
|
+
_timeout: float | None = None,
|
456
436
|
**kwargs: Any
|
457
437
|
) -> float:
|
458
438
|
"""
|
@@ -522,7 +502,7 @@ class RTimeMark():
|
|
522
502
|
self.record: dict[int, RecordData] = {}
|
523
503
|
|
524
504
|
|
525
|
-
def mark(self, note:
|
505
|
+
def mark(self, note: str | None = None) -> int:
|
526
506
|
"""
|
527
507
|
Marking now time.
|
528
508
|
|
@@ -560,7 +540,7 @@ class RTimeMark():
|
|
560
540
|
return index
|
561
541
|
|
562
542
|
|
563
|
-
def report(self, title:
|
543
|
+
def report(self, title: str | None = None) -> DataFrame:
|
564
544
|
"""
|
565
545
|
Print and return time mark information table.
|
566
546
|
|
reykit/rtype.py
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
|
12
|
-
from typing import Any,
|
12
|
+
from typing import Any, Self
|
13
13
|
from collections.abc import Callable
|
14
14
|
|
15
15
|
|
@@ -86,7 +86,7 @@ class RSingleton(object):
|
|
86
86
|
When instantiated, method `__singleton__` will be called only once, and will accept arguments.
|
87
87
|
"""
|
88
88
|
|
89
|
-
_instance:
|
89
|
+
_instance: Self | None = None
|
90
90
|
|
91
91
|
|
92
92
|
def __new__(self, *arg: Any, **kwargs: Any) -> Self:
|
reykit/rwrap.py
CHANGED
@@ -9,7 +9,7 @@
|
|
9
9
|
"""
|
10
10
|
|
11
11
|
|
12
|
-
from typing import Any,
|
12
|
+
from typing import Any, Literal, overload
|
13
13
|
from collections.abc import Callable
|
14
14
|
from io import IOBase, StringIO
|
15
15
|
from inspect import getdoc
|
@@ -78,7 +78,7 @@ def wrap_frame(decorator: Callable) -> Callable:
|
|
78
78
|
|
79
79
|
# Decorate Decorator.
|
80
80
|
@overload
|
81
|
-
def wrap(func: Callable, *args: Any, _execute: None = None, **kwargs: Any) ->
|
81
|
+
def wrap(func: Callable, *args: Any, _execute: None = None, **kwargs: Any) -> Callable | Any: ...
|
82
82
|
|
83
83
|
@overload
|
84
84
|
def wrap(func: Callable, *args: Any, _execute: Literal[True] = None, **kwargs: Any) -> Any: ...
|
@@ -87,7 +87,7 @@ def wrap_frame(decorator: Callable) -> Callable:
|
|
87
87
|
def wrap(func: Callable, *args: Any, _execute: Literal[False] = None, **kwargs: Any) -> Callable: ...
|
88
88
|
|
89
89
|
@functools_wraps(decorator)
|
90
|
-
def wrap(func: Callable, *args: Any, _execute:
|
90
|
+
def wrap(func: Callable, *args: Any, _execute: bool | None = None, **kwargs: Any) -> Callable | Any:
|
91
91
|
"""
|
92
92
|
Decorative shell.
|
93
93
|
|
@@ -167,7 +167,7 @@ def wrap_runtime(
|
|
167
167
|
*args: Any,
|
168
168
|
_return_report: bool = False,
|
169
169
|
**kwargs: Any
|
170
|
-
) ->
|
170
|
+
) -> Any | tuple[Any, str]:
|
171
171
|
"""
|
172
172
|
Decorator, print or return runtime report of the function.
|
173
173
|
|
@@ -260,19 +260,19 @@ def wrap_thread(
|
|
260
260
|
def wrap_exc(
|
261
261
|
func: Callable,
|
262
262
|
*args: Any,
|
263
|
-
_exception:
|
264
|
-
_handler:
|
263
|
+
_exception: BaseException | tuple[BaseException, ...] = BaseException,
|
264
|
+
_handler: Callable | None = None,
|
265
265
|
**kwargs: Any
|
266
|
-
) ->
|
266
|
+
) -> Any | None: ...
|
267
267
|
|
268
268
|
@wrap_frame
|
269
269
|
def wrap_exc(
|
270
270
|
func: Callable,
|
271
271
|
*args: Any,
|
272
|
-
_exception:
|
273
|
-
_handler:
|
272
|
+
_exception: BaseException | tuple[BaseException, ...] = BaseException,
|
273
|
+
_handler: Callable | None = None,
|
274
274
|
**kwargs: Any
|
275
|
-
) ->
|
275
|
+
) -> Any | None:
|
276
276
|
"""
|
277
277
|
Decorator, execute function with `try` and `except` syntax.
|
278
278
|
|
@@ -307,8 +307,8 @@ def wrap_exc(
|
|
307
307
|
def wrap_retry(
|
308
308
|
func: Callable,
|
309
309
|
*args: Any,
|
310
|
-
_report:
|
311
|
-
_exception:
|
310
|
+
_report: str | None = None,
|
311
|
+
_exception: BaseException | tuple[BaseException, ...] = BaseException,
|
312
312
|
_try_total: int = 1,
|
313
313
|
_try_count: int = 0,
|
314
314
|
**kwargs: Any
|
@@ -318,8 +318,8 @@ def wrap_retry(
|
|
318
318
|
def wrap_retry(
|
319
319
|
func: Callable,
|
320
320
|
*args: Any,
|
321
|
-
_report:
|
322
|
-
_exception:
|
321
|
+
_report: str | None = None,
|
322
|
+
_exception: BaseException | tuple[BaseException, ...] = BaseException,
|
323
323
|
_try_total: int = 1,
|
324
324
|
_try_count: int = 0,
|
325
325
|
**kwargs: Any
|
@@ -569,7 +569,7 @@ def wrap_cache(
|
|
569
569
|
def wrap_redirect_stdout(
|
570
570
|
func: Callable,
|
571
571
|
*args: Any,
|
572
|
-
_redirect:
|
572
|
+
_redirect: list | IOBase | None = None,
|
573
573
|
**kwargs: Any
|
574
574
|
) -> Any: ...
|
575
575
|
|
@@ -577,7 +577,7 @@ def wrap_redirect_stdout(
|
|
577
577
|
def wrap_redirect_stdout(
|
578
578
|
func: Callable,
|
579
579
|
*args: Any,
|
580
|
-
_redirect:
|
580
|
+
_redirect: list | IOBase | None = None,
|
581
581
|
**kwargs: Any
|
582
582
|
) -> Any:
|
583
583
|
"""
|
reykit/rzip.py
CHANGED
@@ -10,7 +10,6 @@
|
|
10
10
|
|
11
11
|
|
12
12
|
from __future__ import annotations
|
13
|
-
from typing import Optional
|
14
13
|
from zipfile import ZipFile, is_zipfile, ZIP_DEFLATED
|
15
14
|
from os import getcwd as os_getcwd, walk as os_walk
|
16
15
|
from os.path import join as os_join, isfile as os_isfile
|
@@ -27,7 +26,7 @@ __all__ = (
|
|
27
26
|
|
28
27
|
def compress(
|
29
28
|
obj_path: str,
|
30
|
-
build_dir:
|
29
|
+
build_dir: str | None = None,
|
31
30
|
overwrite: bool = True
|
32
31
|
) -> None:
|
33
32
|
"""
|
@@ -82,8 +81,8 @@ def compress(
|
|
82
81
|
|
83
82
|
def decompress(
|
84
83
|
obj_path: str,
|
85
|
-
build_dir:
|
86
|
-
password:
|
84
|
+
build_dir: str | None = None,
|
85
|
+
password: str | None = None
|
87
86
|
) -> None:
|
88
87
|
"""
|
89
88
|
Decompress compressed object.
|
@@ -114,7 +113,7 @@ def decompress(
|
|
114
113
|
|
115
114
|
def zip(
|
116
115
|
obj_path: str,
|
117
|
-
build_dir:
|
116
|
+
build_dir: str | None = None
|
118
117
|
) -> None:
|
119
118
|
"""
|
120
119
|
Automatic judge and compress or decompress object.
|
@@ -0,0 +1,44 @@
|
|
1
|
+
Metadata-Version: 2.4
|
2
|
+
Name: reykit
|
3
|
+
Version: 1.1.2
|
4
|
+
Summary: Rey's kit method set.
|
5
|
+
Project-URL: homepage, https://github.com/reyxbo/reykit/
|
6
|
+
Author-email: Rey <reyxbo@163.com>
|
7
|
+
License: Copyright 2025 ReyXBo
|
8
|
+
|
9
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
10
|
+
|
11
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
12
|
+
|
13
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
14
|
+
License-File: LICENSE
|
15
|
+
Keywords: kit,rey,reyxbo,tool,tools
|
16
|
+
Requires-Python: >=3.12
|
17
|
+
Requires-Dist: aiohttp
|
18
|
+
Requires-Dist: apscheduler
|
19
|
+
Requires-Dist: captcha
|
20
|
+
Requires-Dist: concurrent-log-handler
|
21
|
+
Requires-Dist: filetype
|
22
|
+
Requires-Dist: pandas
|
23
|
+
Requires-Dist: pdfplumber
|
24
|
+
Requires-Dist: pillow
|
25
|
+
Requires-Dist: psutil
|
26
|
+
Requires-Dist: pymem
|
27
|
+
Requires-Dist: python-docx
|
28
|
+
Requires-Dist: pyzbar
|
29
|
+
Requires-Dist: qrcode
|
30
|
+
Requires-Dist: requests
|
31
|
+
Requires-Dist: tqdm
|
32
|
+
Requires-Dist: urwid
|
33
|
+
Requires-Dist: varname
|
34
|
+
Description-Content-Type: text/markdown
|
35
|
+
|
36
|
+
# reykit
|
37
|
+
|
38
|
+
> Rey's kit method set.
|
39
|
+
|
40
|
+
## Install
|
41
|
+
|
42
|
+
```
|
43
|
+
pip install reykit
|
44
|
+
```
|
@@ -0,0 +1,30 @@
|
|
1
|
+
reykit/__init__.py,sha256=QwnhdUDSXgjXJQ4ClaeP9oKXUXyQOPj5sApwGCDrILc,848
|
2
|
+
reykit/rall.py,sha256=mOFwHXZ4-BOkJ5Ptbm6lQc2zwNf_VqcqM6AYYnYPfoo,672
|
3
|
+
reykit/rcomm.py,sha256=LgSLrpUokOgdRMYwuZj6JNvxDyvENwsiOd6ZHo67HBg,11444
|
4
|
+
reykit/rdata.py,sha256=d5zO9dQotDGoXxNh1TvEZdIfacaW55yeb79r0bbgj0k,8470
|
5
|
+
reykit/remail.py,sha256=rK_hbqGeZh04DnVPtjODLsm_YfdrZ5L-Z6SbjplrfUc,6736
|
6
|
+
reykit/rexception.py,sha256=ftXVdEVkU0B0HXbKjQTiJRJVVGbvhorwWtMiplpN9Zk,8118
|
7
|
+
reykit/rimage.py,sha256=fQpIHX6Go3Jk_MDgsSDnZx27EZHumyGdgI9xyjP5lYQ,6275
|
8
|
+
reykit/rlog.py,sha256=4RqfYU7RZJJ3qUXHUTWFVgAM3nqjP4glDyRmvWNXpbk,26406
|
9
|
+
reykit/rmonkey.py,sha256=RqhmKXabl11s2RJaGizpm00Q1yEkul1Je5uxw8_thUk,7584
|
10
|
+
reykit/rmultitask.py,sha256=9UVAg8P85UsLS_exW-e6tZTa_b5r3ceL7LQRDrP8eAw,21981
|
11
|
+
reykit/rnumber.py,sha256=XseLDNLDOt-XYP2P9oDbkKYuHudeSoWzIHsOENO8vvE,3196
|
12
|
+
reykit/ros.py,sha256=flnczS5InFd9rVdXNi-amVETlIu1nwZPWSGySLMOPLw,39231
|
13
|
+
reykit/rrandom.py,sha256=fMeorpkjWAAtjD2oZCux3tpYuD2RRoBSkWI0M6NPM5Q,9102
|
14
|
+
reykit/rregex.py,sha256=XTlnDLior8yyncFdrTr9FsVlBcqMXvsWRfpmvQS-BR8,6089
|
15
|
+
reykit/rschedule.py,sha256=7EH_6TdEhwV-T6YyBEGYEcy85I1vTSNutDci-e_veTY,5796
|
16
|
+
reykit/rstdout.py,sha256=vSvD4QjYybNiGnowWLXRU6q1u9ERPjr8YTXgq82eYDU,9648
|
17
|
+
reykit/rsystem.py,sha256=LG0I4ZZjr-Bxfy6zbCqz3WvSG_bGYwtaBLowTHQ0mzY,34332
|
18
|
+
reykit/rtable.py,sha256=gXszf_9DE_5SMdNcxMX-xd4IpHGQVjGsN3NQIm7wVGY,12055
|
19
|
+
reykit/rtext.py,sha256=whaKpVkd36yYVtCmZ1ptp_TVRL1v3f7Jab0vPXC8wXY,11089
|
20
|
+
reykit/rtime.py,sha256=bV1sB_FHcqNJAP9L7WmYMZul3HrQM2QU9a2Q1zN98Aw,16980
|
21
|
+
reykit/rtype.py,sha256=HQFllZjKHPnGYLS-zTwC948Rt0HVsGY12eObjwFfOSo,1962
|
22
|
+
reykit/rwrap.py,sha256=AJBYTDLHLGlMSiGIKoVkCsQk-Y4nDHWWFVCdnz5Bwdk,15222
|
23
|
+
reykit/rzip.py,sha256=i6KkmeSWCnq025d-O1mbuCYezNRUhyY9OGVK0CRlNAM,3522
|
24
|
+
reykit/rdll/__init__.py,sha256=vM9V7wSNno-WH9RrxgHTIgCkQm8LmBFoLFO8z7qovNo,306
|
25
|
+
reykit/rdll/rdll_inject.py,sha256=bETl8tywtN1OiQudbA21u6GwBM_bqVX7jbiisNj_JBg,645
|
26
|
+
reykit/rdll/rdll_inject_core.py,sha256=Trgh_pdJs_Lw-Y-0Kkn8kHr4BnilM9dBKnHnX25T_pM,5092
|
27
|
+
reykit-1.1.2.dist-info/METADATA,sha256=2PvdTJEz7npFsQ53sEkQD4f8k7xHYLDAPZS81xxHQhM,1888
|
28
|
+
reykit-1.1.2.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
29
|
+
reykit-1.1.2.dist-info/licenses/LICENSE,sha256=UYLPqp7BvPiH8yEZduJqmmyEl6hlM3lKrFIefiD4rvk,1059
|
30
|
+
reykit-1.1.2.dist-info/RECORD,,
|
@@ -0,0 +1,7 @@
|
|
1
|
+
Copyright 2025 ReyXBo
|
2
|
+
|
3
|
+
Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the “Software”), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions:
|
4
|
+
|
5
|
+
The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software.
|
6
|
+
|
7
|
+
THE SOFTWARE IS PROVIDED “AS IS”, WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
reykit-1.1.0.dist-info/METADATA
DELETED
@@ -1,29 +0,0 @@
|
|
1
|
-
Metadata-Version: 2.4
|
2
|
-
Name: reykit
|
3
|
-
Version: 1.1.0
|
4
|
-
Summary: Rey's kit method set.
|
5
|
-
Home-page: https://github.com/reyxbo/reykit/
|
6
|
-
Author: Rey
|
7
|
-
Author-email: reyxbo@163.com
|
8
|
-
Requires-Dist: aiohttp
|
9
|
-
Requires-Dist: apscheduler
|
10
|
-
Requires-Dist: captcha
|
11
|
-
Requires-Dist: concurrent-log-handler
|
12
|
-
Requires-Dist: filetype
|
13
|
-
Requires-Dist: pandas
|
14
|
-
Requires-Dist: pyzbar
|
15
|
-
Requires-Dist: pdfplumber
|
16
|
-
Requires-Dist: psutil
|
17
|
-
Requires-Dist: pymem
|
18
|
-
Requires-Dist: python-docx
|
19
|
-
Requires-Dist: qrcode
|
20
|
-
Requires-Dist: requests
|
21
|
-
Requires-Dist: tqdm
|
22
|
-
Requires-Dist: urwid
|
23
|
-
Requires-Dist: varname
|
24
|
-
Requires-Dist: Pillow
|
25
|
-
Dynamic: author
|
26
|
-
Dynamic: author-email
|
27
|
-
Dynamic: home-page
|
28
|
-
Dynamic: requires-dist
|
29
|
-
Dynamic: summary
|
reykit-1.1.0.dist-info/RECORD
DELETED
@@ -1,30 +0,0 @@
|
|
1
|
-
reykit/__init__.py,sha256=cvteTneRjZ-mxhKx57bNG5pdQc4nEtNkGG8pNXmApQs,917
|
2
|
-
reykit/rall.py,sha256=mOFwHXZ4-BOkJ5Ptbm6lQc2zwNf_VqcqM6AYYnYPfoo,672
|
3
|
-
reykit/rcomm.py,sha256=_i0hrCB3moZhA3sm2ebg54i9dQ8QjI57ZV2cKm0vxA4,11523
|
4
|
-
reykit/rdata.py,sha256=qmx9yKrfP2frOQjj-34ze8sa1l4sOQXtemkKyrVtKXs,8495
|
5
|
-
reykit/remail.py,sha256=-uSU2yHyFbjs6X9M5Sjb4TMjw4cK8_Bnsmsaos3f0Rs,6860
|
6
|
-
reykit/rexception.py,sha256=sI5EKD5gfsdwApovA4DFnlm_MxmPp7TChNLzGmGvZ9M,8150
|
7
|
-
reykit/rimage.py,sha256=BmNNyhqezN9f40gaE5_rv6B7-v9mYkUwT8n2tfCDfdw,6331
|
8
|
-
reykit/rlog.py,sha256=J-fnY5B3Y2oJOuyHvemy6ltkr8he4spS3iQOADIUg00,26525
|
9
|
-
reykit/rmonkey.py,sha256=s8TdR-_tRRMiR11eCLHCkFAJuAZe7PVIhkR-74Xt8vw,7644
|
10
|
-
reykit/rmultitask.py,sha256=L4_dlIKGV3DrWlID2MDc1Fl-o0kt23l7oYGp4-WJRYU,22057
|
11
|
-
reykit/rnumber.py,sha256=MajaVOVa3_H1lm91cu9HLaLXd9ZsvZYFxXvcklC0LWs,3209
|
12
|
-
reykit/ros.py,sha256=wv1DM2N8MXBwGqBhNUSiDLrvHRK7syibhFwEPGkpxYM,39336
|
13
|
-
reykit/rrandom.py,sha256=88SN3BxbVqF0UQJxk6z_76butNnzePHsKD7izEYyNvs,9155
|
14
|
-
reykit/rregex.py,sha256=E9BConP7ADYyGVZ5jpxwUmtc_WXFb-I1Zjt6IZSHkIQ,6218
|
15
|
-
reykit/rschedule.py,sha256=TiIFQ0siL20nlhikWfvRGhOdeRbyHQtN6uxFivA2WoI,5852
|
16
|
-
reykit/rstdout.py,sha256=yjCTegPqm2FNIpNGVrmz16Jn2bNncYO1axuANVdTmVQ,9710
|
17
|
-
reykit/rsystem.py,sha256=jFaIk80gH2Ky-WKmu40jYN38wxmbI7SHcxMbbpABzdc,34623
|
18
|
-
reykit/rtable.py,sha256=ghsppMMOGkz3boV_CSxpkel5Lfj-ViBziZrpcCoY5YA,12229
|
19
|
-
reykit/rtext.py,sha256=xilQxaMMdaVCBk6rxQb1aI8-j52QVUH5EtTZVMQsa8Q,11108
|
20
|
-
reykit/rtime.py,sha256=2xOGGETwl1Sc3W80a2KiPbI4GsSfIyksTeXgqNOTYVw,17178
|
21
|
-
reykit/rtype.py,sha256=PbfaHjNQTMiZynlz8HwP2K9SS-t91ThMOYBxQIBf9Ug,1975
|
22
|
-
reykit/rwrap.py,sha256=4RdTxT2y7ViyeiWx2fJ54k9ZZT6Bmx5QStIiwEHB6rY,15320
|
23
|
-
reykit/rzip.py,sha256=HTrxyb4e6f38eOPFIXsdbcEwr7FQSqnU2MVmVRBYTbg,3563
|
24
|
-
reykit/rdll/__init__.py,sha256=vM9V7wSNno-WH9RrxgHTIgCkQm8LmBFoLFO8z7qovNo,306
|
25
|
-
reykit/rdll/rdll_inject.py,sha256=bETl8tywtN1OiQudbA21u6GwBM_bqVX7jbiisNj_JBg,645
|
26
|
-
reykit/rdll/rdll_inject_core.py,sha256=Trgh_pdJs_Lw-Y-0Kkn8kHr4BnilM9dBKnHnX25T_pM,5092
|
27
|
-
reykit-1.1.0.dist-info/METADATA,sha256=bbyeoS_7XYrdRSiOH0BD6CSIMRbeewvCIxtX01Z9acc,700
|
28
|
-
reykit-1.1.0.dist-info/WHEEL,sha256=zaaOINJESkSfm_4HQVc5ssNzHCPXhJm0kEUakpsEHaU,91
|
29
|
-
reykit-1.1.0.dist-info/top_level.txt,sha256=2hvySInjpVEcpYg-XFCYVU5xB2TWW8RovoDtBDzAqyE,7
|
30
|
-
reykit-1.1.0.dist-info/RECORD,,
|
@@ -1 +0,0 @@
|
|
1
|
-
reykit
|