absfuyu 3.0.0__py3-none-any.whl → 3.1.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.
Potentially problematic release.
This version of absfuyu might be problematic. Click here for more details.
- absfuyu/config/config.json +1 -1
- absfuyu/extensions/dev/__init__.py +142 -2
- absfuyu/extensions/extra/data_analysis.py +687 -119
- absfuyu/fun/tarot.py +9 -7
- absfuyu/game/tictactoe2.py +90 -78
- absfuyu/general/data_extension.py +147 -11
- absfuyu/general/generator.py +65 -4
- absfuyu/general/human.py +27 -2
- absfuyu/util/performance.py +101 -14
- {absfuyu-3.0.0.dist-info → absfuyu-3.1.0.dist-info}/METADATA +23 -23
- {absfuyu-3.0.0.dist-info → absfuyu-3.1.0.dist-info}/RECORD +15 -15
- {absfuyu-3.0.0.dist-info → absfuyu-3.1.0.dist-info}/LICENSE +0 -0
- {absfuyu-3.0.0.dist-info → absfuyu-3.1.0.dist-info}/WHEEL +0 -0
- {absfuyu-3.0.0.dist-info → absfuyu-3.1.0.dist-info}/entry_points.txt +0 -0
- {absfuyu-3.0.0.dist-info → absfuyu-3.1.0.dist-info}/top_level.txt +0 -0
absfuyu/general/generator.py
CHANGED
|
@@ -3,14 +3,15 @@ Absfuyu: Generator
|
|
|
3
3
|
------------------
|
|
4
4
|
This generate stuff (Not python's ``generator``)
|
|
5
5
|
|
|
6
|
-
Version: 1.0
|
|
7
|
-
Date updated:
|
|
6
|
+
Version: 1.1.0
|
|
7
|
+
Date updated: 06/03/2024 (dd/mm/yyyy)
|
|
8
8
|
|
|
9
9
|
Features:
|
|
10
10
|
---------
|
|
11
11
|
- Generate random string
|
|
12
12
|
- Generate key
|
|
13
13
|
- Generate check digit
|
|
14
|
+
- Generate combinations of list in range
|
|
14
15
|
"""
|
|
15
16
|
|
|
16
17
|
|
|
@@ -24,10 +25,21 @@ __all__ = [
|
|
|
24
25
|
|
|
25
26
|
# Library
|
|
26
27
|
###########################################################################
|
|
28
|
+
from itertools import chain, combinations
|
|
27
29
|
from random import choice
|
|
28
30
|
import string
|
|
31
|
+
# from string import (
|
|
32
|
+
# ascii_letters as _ascii_letters,
|
|
33
|
+
# ascii_uppercase as _ascii_uppercase,
|
|
34
|
+
# ascii_lowercase as _ascii_lowercase,
|
|
35
|
+
# digits as _digits,
|
|
36
|
+
# printable as _printable,
|
|
37
|
+
# punctuation as _punctuation,
|
|
38
|
+
# )
|
|
39
|
+
from typing import List
|
|
29
40
|
|
|
30
41
|
from absfuyu.logger import logger
|
|
42
|
+
from absfuyu.util import set_max, set_min_max
|
|
31
43
|
|
|
32
44
|
|
|
33
45
|
# Class
|
|
@@ -45,10 +57,19 @@ class Charset:
|
|
|
45
57
|
SPECIAL = string.punctuation
|
|
46
58
|
ALL = string.printable
|
|
47
59
|
PRODUCT_KEY = "BCDFGHJKMNPQRTVWXY2346789" # Charset that various key makers use
|
|
60
|
+
# DEFAULT = _ascii_letters + _digits
|
|
61
|
+
# ALPHABET = _ascii_letters
|
|
62
|
+
# FULL = _ascii_letters + _digits + _punctuation
|
|
63
|
+
# UPPERCASE = _ascii_uppercase
|
|
64
|
+
# LOWERCASE = _ascii_lowercase
|
|
65
|
+
# DIGIT = _digits
|
|
66
|
+
# SPECIAL = _punctuation
|
|
67
|
+
# ALL = _printable
|
|
48
68
|
|
|
49
69
|
def __str__(self) -> str:
|
|
50
70
|
charset = [x for x in __class__.__dict__.keys() if not x.startswith("__")]
|
|
51
|
-
return f"List of
|
|
71
|
+
return f"List of Character set: {charset}"
|
|
72
|
+
|
|
52
73
|
def __repr__(self) -> str:
|
|
53
74
|
return self.__str__()
|
|
54
75
|
|
|
@@ -258,8 +279,48 @@ class Generator:
|
|
|
258
279
|
logger.debug(f"Output: {out}")
|
|
259
280
|
return out
|
|
260
281
|
|
|
282
|
+
@staticmethod
|
|
283
|
+
def combinations_range(sequence: list, *, min_len: int = 1, max_len: int = 0) -> List[tuple]:
|
|
284
|
+
"""
|
|
285
|
+
Generate all combinations of a ``sequence`` from ``min_len`` to ``max_len``
|
|
286
|
+
|
|
287
|
+
Parameters
|
|
288
|
+
----------
|
|
289
|
+
sequence : list
|
|
290
|
+
A sequence that need to generate combination
|
|
291
|
+
|
|
292
|
+
min_len : int
|
|
293
|
+
Minimum ``r`` of ``combinations``
|
|
294
|
+
(Default: ``1``)
|
|
295
|
+
|
|
296
|
+
max_len : int
|
|
297
|
+
Maximum ``r`` of ``combinations``
|
|
298
|
+
(Default: ``0`` - len of ``sequence``)
|
|
299
|
+
|
|
300
|
+
Returns
|
|
301
|
+
-------
|
|
302
|
+
list[tuple]
|
|
303
|
+
A list of all combinations from range(``min_len``, ``max_len``) of ``sequence``
|
|
304
|
+
"""
|
|
305
|
+
# Restrain
|
|
306
|
+
if max_len < 1:
|
|
307
|
+
max_len = len(sequence)
|
|
308
|
+
max_len = set_max(max_len, max_value=len(sequence))
|
|
309
|
+
min_len = set_min_max(min_len, min_value=1, max_value=max_len)
|
|
310
|
+
logger.debug(f"Combination range: [{min_len}, {max_len}]")
|
|
311
|
+
|
|
312
|
+
# Return
|
|
313
|
+
return list(
|
|
314
|
+
chain.from_iterable(
|
|
315
|
+
[
|
|
316
|
+
list(combinations(sequence, i))
|
|
317
|
+
for i in range(min_len, max_len + 1)
|
|
318
|
+
]
|
|
319
|
+
)
|
|
320
|
+
)
|
|
321
|
+
|
|
261
322
|
|
|
262
323
|
# Run
|
|
263
324
|
###########################################################################
|
|
264
325
|
if __name__ == "__main__":
|
|
265
|
-
logger.setLevel(10) # DEBUG
|
|
326
|
+
logger.setLevel(10) # DEBUG
|
absfuyu/general/human.py
CHANGED
|
@@ -3,8 +3,8 @@ Absfuyu: Human
|
|
|
3
3
|
--------------
|
|
4
4
|
Human related stuff
|
|
5
5
|
|
|
6
|
-
Version: 1.
|
|
7
|
-
Date updated:
|
|
6
|
+
Version: 1.3.0
|
|
7
|
+
Date updated: 08/12/2023 (dd/mm/yyyy)
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
10
|
|
|
@@ -28,6 +28,31 @@ from absfuyu.fun import zodiac_sign
|
|
|
28
28
|
from absfuyu.version import Version
|
|
29
29
|
|
|
30
30
|
|
|
31
|
+
# Sub-Class
|
|
32
|
+
###########################################################################
|
|
33
|
+
class _FloatBase:
|
|
34
|
+
"""To show some unit"""
|
|
35
|
+
|
|
36
|
+
def __init__(self, value: float) -> None:
|
|
37
|
+
self.value = value
|
|
38
|
+
|
|
39
|
+
def __str__(self) -> str:
|
|
40
|
+
return self.value.__str__()
|
|
41
|
+
|
|
42
|
+
def to_float(self) -> float:
|
|
43
|
+
return float(self.value)
|
|
44
|
+
|
|
45
|
+
|
|
46
|
+
class _Height(_FloatBase):
|
|
47
|
+
def __repr__(self) -> str:
|
|
48
|
+
return f"{self.value:.2f} cm"
|
|
49
|
+
|
|
50
|
+
|
|
51
|
+
class _Weight(_FloatBase):
|
|
52
|
+
def __repr__(self) -> str:
|
|
53
|
+
return f"{self.value:.2f} kg"
|
|
54
|
+
|
|
55
|
+
|
|
31
56
|
# Class
|
|
32
57
|
###########################################################################
|
|
33
58
|
class BloodType:
|
absfuyu/util/performance.py
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
# -*- coding: utf-8 -*-
|
|
2
1
|
"""
|
|
3
2
|
Absfuyu: Performance
|
|
4
3
|
--------------------
|
|
5
4
|
Performance Check
|
|
6
5
|
|
|
7
|
-
Version: 1.0
|
|
8
|
-
Date updated:
|
|
6
|
+
Version: 1.1.0
|
|
7
|
+
Date updated: 11/12/2023 (dd/mm/yyyy)
|
|
9
8
|
|
|
10
9
|
Feature:
|
|
11
10
|
--------
|
|
@@ -21,16 +20,20 @@ __all__ = [
|
|
|
21
20
|
# Wrapper
|
|
22
21
|
"measure_performance",
|
|
23
22
|
# Functions
|
|
24
|
-
"var_check",
|
|
23
|
+
"var_check",
|
|
24
|
+
"source_this",
|
|
25
25
|
]
|
|
26
26
|
|
|
27
27
|
|
|
28
28
|
# Library
|
|
29
29
|
###########################################################################
|
|
30
30
|
from functools import wraps as __wraps
|
|
31
|
-
from inspect import getsource
|
|
31
|
+
from inspect import getsource
|
|
32
32
|
from time import perf_counter as __perf_counter
|
|
33
33
|
import tracemalloc as __tracemalloc
|
|
34
|
+
from typing import Any, Callable, List, Optional, Tuple, Union
|
|
35
|
+
|
|
36
|
+
from absfuyu.general.data_extension import ListNoDunder
|
|
34
37
|
|
|
35
38
|
|
|
36
39
|
# Function
|
|
@@ -47,7 +50,7 @@ def measure_performance(func):
|
|
|
47
50
|
--------
|
|
48
51
|
>>> @measure_performance
|
|
49
52
|
>>> def test():
|
|
50
|
-
|
|
53
|
+
... return 1 + 1
|
|
51
54
|
>>> test()
|
|
52
55
|
----------------------------------------
|
|
53
56
|
Function: test
|
|
@@ -104,10 +107,20 @@ def measure_performance(func):
|
|
|
104
107
|
return wrapper
|
|
105
108
|
|
|
106
109
|
|
|
107
|
-
def var_check(variable):
|
|
110
|
+
def var_check(variable: Any, full: bool = False):
|
|
108
111
|
"""
|
|
109
112
|
Check a variable
|
|
110
|
-
|
|
113
|
+
|
|
114
|
+
Parameters
|
|
115
|
+
----------
|
|
116
|
+
variable : Any
|
|
117
|
+
Variable that needed to check
|
|
118
|
+
|
|
119
|
+
full : bool
|
|
120
|
+
| ``True``: Shows full detail
|
|
121
|
+
| ``False``: Hides ``dir`` and ``docstring``
|
|
122
|
+
|
|
123
|
+
|
|
111
124
|
Example:
|
|
112
125
|
--------
|
|
113
126
|
>>> test = "test"
|
|
@@ -140,14 +153,22 @@ def var_check(variable):
|
|
|
140
153
|
dict,
|
|
141
154
|
set, frozenset,
|
|
142
155
|
bool,
|
|
143
|
-
bytes,bytearray, memoryview,
|
|
144
|
-
type(None)
|
|
156
|
+
bytes, bytearray, memoryview,
|
|
157
|
+
type(None),
|
|
145
158
|
]
|
|
146
159
|
if type(variable) in lc:
|
|
147
160
|
pass
|
|
148
161
|
else:
|
|
149
162
|
docs = variable.__doc__
|
|
150
|
-
|
|
163
|
+
if full:
|
|
164
|
+
output["docstring"] = docs
|
|
165
|
+
except:
|
|
166
|
+
pass
|
|
167
|
+
|
|
168
|
+
# Dir
|
|
169
|
+
try:
|
|
170
|
+
if full:
|
|
171
|
+
output["dir"] = ListNoDunder(variable.__dir__())
|
|
151
172
|
except:
|
|
152
173
|
pass
|
|
153
174
|
|
|
@@ -155,7 +176,7 @@ def var_check(variable):
|
|
|
155
176
|
return output
|
|
156
177
|
|
|
157
178
|
|
|
158
|
-
def source_this(function) -> str:
|
|
179
|
+
def source_this(function: Callable) -> str:
|
|
159
180
|
"""
|
|
160
181
|
Show the source code of a function
|
|
161
182
|
|
|
@@ -169,10 +190,76 @@ def source_this(function) -> str:
|
|
|
169
190
|
str
|
|
170
191
|
Source code
|
|
171
192
|
"""
|
|
172
|
-
return
|
|
193
|
+
return getsource(function)
|
|
194
|
+
|
|
195
|
+
|
|
196
|
+
# Class
|
|
197
|
+
###########################################################################
|
|
198
|
+
class Checker:
|
|
199
|
+
"""Check a variable"""
|
|
200
|
+
def __init__(self, checker: Any) -> None:
|
|
201
|
+
self.item_to_check = checker
|
|
202
|
+
def __str__(self) -> str:
|
|
203
|
+
return self.item_to_check.__str__()
|
|
204
|
+
def __repr__(self) -> str:
|
|
205
|
+
return f"{self.__class__.__name__}({self.item_to_check})"
|
|
206
|
+
|
|
207
|
+
@property
|
|
208
|
+
def name(self) -> Union[Any, None]:
|
|
209
|
+
try:
|
|
210
|
+
return self.item_to_check.__name__
|
|
211
|
+
except:
|
|
212
|
+
return None
|
|
213
|
+
|
|
214
|
+
@property
|
|
215
|
+
def value(self) -> Any:
|
|
216
|
+
return self.item_to_check
|
|
217
|
+
|
|
218
|
+
@property
|
|
219
|
+
def docstring(self) -> Union[str, None]:
|
|
220
|
+
""":returns: ``self.item_to_check.__doc__``"""
|
|
221
|
+
return self.item_to_check.__doc__
|
|
222
|
+
|
|
223
|
+
@property
|
|
224
|
+
def class_(self) -> Any:
|
|
225
|
+
return type(self.item_to_check)
|
|
226
|
+
|
|
227
|
+
@property
|
|
228
|
+
def id_(self) -> int:
|
|
229
|
+
return id(self.item_to_check)
|
|
230
|
+
|
|
231
|
+
@property
|
|
232
|
+
def dir_(self) -> List[str]:
|
|
233
|
+
""":returns: ``dir(self.item_to_check)``"""
|
|
234
|
+
# return self.item_to_check.__dir__()
|
|
235
|
+
return ListNoDunder(self.item_to_check.__dir__())
|
|
236
|
+
|
|
237
|
+
@property
|
|
238
|
+
def source(self) -> Union[str, None]:
|
|
239
|
+
""":returns: Source code"""
|
|
240
|
+
try:
|
|
241
|
+
return getsource(self.item_to_check)
|
|
242
|
+
except:
|
|
243
|
+
return None
|
|
244
|
+
|
|
245
|
+
def check(self, full: bool = False):
|
|
246
|
+
"""
|
|
247
|
+
Check
|
|
248
|
+
"""
|
|
249
|
+
out = {
|
|
250
|
+
"name": self.name,
|
|
251
|
+
"value": self.value,
|
|
252
|
+
"class": self.class_,
|
|
253
|
+
"id": self.id_,
|
|
254
|
+
}
|
|
255
|
+
if full:
|
|
256
|
+
out["dir"] = self.dir_
|
|
257
|
+
out["docs"] = self.docstring
|
|
258
|
+
out["source"] = self.source
|
|
259
|
+
return out
|
|
173
260
|
|
|
174
261
|
|
|
175
262
|
# Run
|
|
176
263
|
###########################################################################
|
|
177
264
|
if __name__ == "__main__":
|
|
178
|
-
pass
|
|
265
|
+
pass
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: absfuyu
|
|
3
|
-
Version: 3.
|
|
3
|
+
Version: 3.1.0
|
|
4
4
|
Summary: A small collection of code
|
|
5
5
|
Author: somewhatcold (AbsoluteWinter)
|
|
6
6
|
License: MIT License
|
|
@@ -59,19 +59,19 @@ Requires-Dist: typing-extensions >=4.0.1 ; python_version < "3.11"
|
|
|
59
59
|
Provides-Extra: absfuyu-res
|
|
60
60
|
Requires-Dist: absfuyu-res ; extra == 'absfuyu-res'
|
|
61
61
|
Provides-Extra: all
|
|
62
|
-
Requires-Dist:
|
|
63
|
-
Requires-Dist: sphinx >=7.0.0 ; extra == 'all'
|
|
64
|
-
Requires-Dist: absfuyu-res ; extra == 'all'
|
|
65
|
-
Requires-Dist: pandas ; extra == 'all'
|
|
66
|
-
Requires-Dist: sphinx-rtd-theme ; extra == 'all'
|
|
62
|
+
Requires-Dist: click >=8.0.0 ; extra == 'all'
|
|
67
63
|
Requires-Dist: coverage ; extra == 'all'
|
|
68
|
-
Requires-Dist: pytest >=6.2.5 ; extra == 'all'
|
|
69
|
-
Requires-Dist: rich ; extra == 'all'
|
|
70
|
-
Requires-Dist: colorama >=0.4 ; extra == 'all'
|
|
71
64
|
Requires-Dist: black ; extra == 'all'
|
|
72
|
-
Requires-Dist: click >=8.0.0 ; extra == 'all'
|
|
73
|
-
Requires-Dist: numpy ; extra == 'all'
|
|
74
65
|
Requires-Dist: build ; extra == 'all'
|
|
66
|
+
Requires-Dist: sphinx-rtd-theme ; extra == 'all'
|
|
67
|
+
Requires-Dist: colorama >=0.4 ; extra == 'all'
|
|
68
|
+
Requires-Dist: pytest >=6.2.5 ; extra == 'all'
|
|
69
|
+
Requires-Dist: twine >=3.7.1 ; extra == 'all'
|
|
70
|
+
Requires-Dist: numpy ; extra == 'all'
|
|
71
|
+
Requires-Dist: pandas ; extra == 'all'
|
|
72
|
+
Requires-Dist: rich ; extra == 'all'
|
|
73
|
+
Requires-Dist: sphinx >=7.0.0 ; extra == 'all'
|
|
74
|
+
Requires-Dist: absfuyu-res ; extra == 'all'
|
|
75
75
|
Provides-Extra: beautiful
|
|
76
76
|
Requires-Dist: rich ; extra == 'beautiful'
|
|
77
77
|
Provides-Extra: black
|
|
@@ -88,28 +88,28 @@ Requires-Dist: colorama >=0.4 ; extra == 'colorama'
|
|
|
88
88
|
Provides-Extra: coverage
|
|
89
89
|
Requires-Dist: coverage ; extra == 'coverage'
|
|
90
90
|
Provides-Extra: dev
|
|
91
|
-
Requires-Dist:
|
|
92
|
-
Requires-Dist: sphinx >=7.0.0 ; extra == 'dev'
|
|
93
|
-
Requires-Dist: sphinx-rtd-theme ; extra == 'dev'
|
|
91
|
+
Requires-Dist: click >=8.0.0 ; extra == 'dev'
|
|
94
92
|
Requires-Dist: coverage ; extra == 'dev'
|
|
95
|
-
Requires-Dist: pytest >=6.2.5 ; extra == 'dev'
|
|
96
|
-
Requires-Dist: rich ; extra == 'dev'
|
|
97
|
-
Requires-Dist: colorama >=0.4 ; extra == 'dev'
|
|
98
93
|
Requires-Dist: black ; extra == 'dev'
|
|
99
|
-
Requires-Dist: click >=8.0.0 ; extra == 'dev'
|
|
100
94
|
Requires-Dist: build ; extra == 'dev'
|
|
95
|
+
Requires-Dist: sphinx-rtd-theme ; extra == 'dev'
|
|
96
|
+
Requires-Dist: colorama >=0.4 ; extra == 'dev'
|
|
97
|
+
Requires-Dist: pytest >=6.2.5 ; extra == 'dev'
|
|
98
|
+
Requires-Dist: twine >=3.7.1 ; extra == 'dev'
|
|
99
|
+
Requires-Dist: rich ; extra == 'dev'
|
|
100
|
+
Requires-Dist: sphinx >=7.0.0 ; extra == 'dev'
|
|
101
101
|
Provides-Extra: extra
|
|
102
102
|
Requires-Dist: click >=8.0.0 ; extra == 'extra'
|
|
103
|
-
Requires-Dist: numpy ; extra == 'extra'
|
|
104
103
|
Requires-Dist: colorama >=0.4 ; extra == 'extra'
|
|
104
|
+
Requires-Dist: numpy ; extra == 'extra'
|
|
105
105
|
Requires-Dist: pandas ; extra == 'extra'
|
|
106
106
|
Provides-Extra: full
|
|
107
|
-
Requires-Dist: absfuyu-res ; extra == 'full'
|
|
108
|
-
Requires-Dist: pandas ; extra == 'full'
|
|
109
|
-
Requires-Dist: rich ; extra == 'full'
|
|
110
|
-
Requires-Dist: colorama >=0.4 ; extra == 'full'
|
|
111
107
|
Requires-Dist: click >=8.0.0 ; extra == 'full'
|
|
108
|
+
Requires-Dist: colorama >=0.4 ; extra == 'full'
|
|
112
109
|
Requires-Dist: numpy ; extra == 'full'
|
|
110
|
+
Requires-Dist: pandas ; extra == 'full'
|
|
111
|
+
Requires-Dist: rich ; extra == 'full'
|
|
112
|
+
Requires-Dist: absfuyu-res ; extra == 'full'
|
|
113
113
|
Provides-Extra: numpy
|
|
114
114
|
Requires-Dist: numpy ; extra == 'numpy'
|
|
115
115
|
Provides-Extra: pandas
|
|
@@ -6,30 +6,30 @@ absfuyu/logger.py,sha256=EjAGnz_PReigh5kowvo1h89KzpIdyeacQG2JKipKZ5I,12883
|
|
|
6
6
|
absfuyu/sort.py,sha256=f31514lwPnp2wipSG5E6rIoLXmCHLJlujr2_o65tJcQ,6498
|
|
7
7
|
absfuyu/version.py,sha256=pF4rUiN_XTUfsKF6oYzhMWkOl3NsXfrN6bFAJA8bPPc,13962
|
|
8
8
|
absfuyu/config/__init__.py,sha256=tQL7ZuiY1m4fqnKRVNKX7v85srdzE5KS18BcNWWRGgg,7956
|
|
9
|
-
absfuyu/config/config.json,sha256=
|
|
9
|
+
absfuyu/config/config.json,sha256=zO_uHCqtlBw0kOmMYX0khFhTKc6oNiPIrOH62-O8DME,791
|
|
10
10
|
absfuyu/extensions/__init__.py,sha256=hxeZm3w00K4GC78cDTIo5ROWiWAZw4zEmlevfOqbNvo,146
|
|
11
11
|
absfuyu/extensions/beautiful.py,sha256=zN1-_bHytW3ImIEimJhE4WRzsqf9D3l9z-GImYB0D68,5240
|
|
12
|
-
absfuyu/extensions/dev/__init__.py,sha256=
|
|
12
|
+
absfuyu/extensions/dev/__init__.py,sha256=GDHf4ojXULZu8Py20R8roxSWL7gaC7Z65a1okwrFtp0,6424
|
|
13
13
|
absfuyu/extensions/dev/password_hash.py,sha256=toVWZKJ__jOxcmPhKBs58aYhzLV_0cF4AWwNzgACfBo,1794
|
|
14
14
|
absfuyu/extensions/dev/passwordlib.py,sha256=Eoywj0_1tu_ALvt6_csRPznQ03nzUGSWvk2HmLy4JXM,6796
|
|
15
15
|
absfuyu/extensions/dev/pkglib.py,sha256=X_SniqZbE2MdPQoh9uItJo1JTRbn43y2a8hkVy3ofW8,2215
|
|
16
16
|
absfuyu/extensions/dev/project_starter.py,sha256=l16FjIwD6ImYZRw08BitzhrKvugc9Q6PBEipj6XZa-8,1561
|
|
17
17
|
absfuyu/extensions/dev/shutdownizer.py,sha256=EMsUytPABrt1s3hpfwaE2ZpDNQncwKo9EDiYy3QFcT0,132
|
|
18
18
|
absfuyu/extensions/extra/__init__.py,sha256=8zkMYDaPvCamCU8AecKiaBhYv39xb43JhLqi8bNm9Tk,552
|
|
19
|
-
absfuyu/extensions/extra/data_analysis.py,sha256=
|
|
19
|
+
absfuyu/extensions/extra/data_analysis.py,sha256=OQhR38wLCWblQRwZT25WkBgeALWgv2gANQN52PrOnUw,26826
|
|
20
20
|
absfuyu/fun/WGS.py,sha256=tU6exyU2FeHB4AI0XqrKAB945XVNSb6NBGZFinjgNYg,9145
|
|
21
21
|
absfuyu/fun/__init__.py,sha256=fAu2odcOx6YpGXTb7aS69V70oBC6VfYugErC6fVNI58,6249
|
|
22
|
-
absfuyu/fun/tarot.py,sha256=
|
|
22
|
+
absfuyu/fun/tarot.py,sha256=VHFYbpZT-Ktf4LcGqXm137jEPN_4_cCMugf4ZVv9lMQ,2554
|
|
23
23
|
absfuyu/game/__init__.py,sha256=2J8k8ntI8wlHjNWSWbrktW4K2-vkB6oveyt177-kUtw,4663
|
|
24
24
|
absfuyu/game/sudoku.py,sha256=ub51EwTlfQLqw9la4HxfZdFE6aJXyPotXwOZ1W9h9_g,10450
|
|
25
25
|
absfuyu/game/tictactoe.py,sha256=nSVTnCWEy9d5Jeo3KRb3mfeR1pzWNmKxTa5JC7usQ-Y,15278
|
|
26
|
-
absfuyu/game/tictactoe2.py,sha256=
|
|
26
|
+
absfuyu/game/tictactoe2.py,sha256=lV1hJhS-qn8jLTo-C8M0wUnv27L2CW-AM_ohBLlWRiY,9639
|
|
27
27
|
absfuyu/game/wordle.py,sha256=ZohB73nQ7iCHMdReBtZ9bHFz6_DVKrsxeB9PbnV7L_s,101133
|
|
28
28
|
absfuyu/general/__init__.py,sha256=9L83GlWKZbYEAo_rDLEhet-ILOOZ4p5KH0jGaKXgYPg,2026
|
|
29
29
|
absfuyu/general/content.py,sha256=8ox5HlDuYqVuUO38BmfpIqE0t7f80mB5a6fGDFfc20c,17375
|
|
30
|
-
absfuyu/general/data_extension.py,sha256=
|
|
31
|
-
absfuyu/general/generator.py,sha256=
|
|
32
|
-
absfuyu/general/human.py,sha256=
|
|
30
|
+
absfuyu/general/data_extension.py,sha256=uWUuKBjbhn6tsETX22R1pGU5ttk_w_yN8l3UGvh4Ol0,43657
|
|
31
|
+
absfuyu/general/generator.py,sha256=Lm4MKXOCB6orXhCk1LgrZ_Tq8aMewJqaB6PikBB2ONY,9806
|
|
32
|
+
absfuyu/general/human.py,sha256=WKlCYOA9lPRsWDDKXc2yAqwE_VzmMdurqQKkSX7yXV8,9591
|
|
33
33
|
absfuyu/pkg_data/__init__.py,sha256=eIJGI9iXlJ6EqoNqjo2oB9HZ8KJ7lLK48SFyYWKbon8,4929
|
|
34
34
|
absfuyu/pkg_data/chemistry.pkl,sha256=kYWNa_PVffoDnzT8b9Jvimmf_GZshPe1D-SnEKERsLo,4655
|
|
35
35
|
absfuyu/pkg_data/tarot.pkl,sha256=ssXTCC_BQgslO5F-3a9HivbxFQ6BioIe2E1frPVi2m0,56195
|
|
@@ -44,12 +44,12 @@ absfuyu/util/api.py,sha256=h0J-RCNM1qJOwIgNuv-dPgCBvUpwgk1M1VO6m-7_0bI,4217
|
|
|
44
44
|
absfuyu/util/json_method.py,sha256=QMgMVe4mSKXMzGFpHLsfMrusphDlei7uAWntZSbggxQ,2695
|
|
45
45
|
absfuyu/util/lunar.py,sha256=Pr2wJa4JPkmKjINJOKrXx43Cco7p-3uSl_nSq0XsdwM,13839
|
|
46
46
|
absfuyu/util/path.py,sha256=0MDyr0WK827WsP2IogaR0_V8Tea5ZVDf7ceBhdzNtzE,13438
|
|
47
|
-
absfuyu/util/performance.py,sha256=
|
|
47
|
+
absfuyu/util/performance.py,sha256=qtdGy9Vtf38tjY2MAO4G8KywqkzkSMpfmvzYu1VnkYw,6561
|
|
48
48
|
absfuyu/util/pkl.py,sha256=3lDaXrhOaa-8tMv4YYAXd-cbfzbmSwQsmVolN9i0FoA,1577
|
|
49
49
|
absfuyu/util/zipped.py,sha256=F_h-1cDYqlhZFZlmkyLPxLwyuHALOe-tyaEI4Xu2Pvs,2529
|
|
50
|
-
absfuyu-3.
|
|
51
|
-
absfuyu-3.
|
|
52
|
-
absfuyu-3.
|
|
53
|
-
absfuyu-3.
|
|
54
|
-
absfuyu-3.
|
|
55
|
-
absfuyu-3.
|
|
50
|
+
absfuyu-3.1.0.dist-info/LICENSE,sha256=V0E-QreSFFwyrt5YpB6Q4ifIfQkEOlEk0P7Hmc9ZQvU,1076
|
|
51
|
+
absfuyu-3.1.0.dist-info/METADATA,sha256=VHd_XOgnNLd2RnUM02edyY9nbeZEc4AabeSA0_-xXy8,8185
|
|
52
|
+
absfuyu-3.1.0.dist-info/WHEEL,sha256=oiQVh_5PnQM0E3gPdiz09WCNmwiHDMaGer_elqB3coM,92
|
|
53
|
+
absfuyu-3.1.0.dist-info/entry_points.txt,sha256=KutJbJf591TkDp3b2Llhc7r6fA8K8ELs6rL7sRJTl7I,47
|
|
54
|
+
absfuyu-3.1.0.dist-info/top_level.txt,sha256=1Ud2uJ8XBmohoDfY4NqUpbuIMWMS3LowF_51uwUniY8,8
|
|
55
|
+
absfuyu-3.1.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|