absfuyu 4.1.1__py3-none-any.whl → 5.0.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.

Files changed (76) hide show
  1. absfuyu/__init__.py +4 -4
  2. absfuyu/__main__.py +13 -1
  3. absfuyu/cli/__init__.py +4 -2
  4. absfuyu/cli/color.py +7 -0
  5. absfuyu/cli/do_group.py +9 -91
  6. absfuyu/cli/tool_group.py +136 -0
  7. absfuyu/config/__init__.py +17 -34
  8. absfuyu/core/__init__.py +49 -0
  9. absfuyu/core/baseclass.py +299 -0
  10. absfuyu/core/baseclass2.py +165 -0
  11. absfuyu/core/decorator.py +67 -0
  12. absfuyu/core/docstring.py +163 -0
  13. absfuyu/core/dummy_cli.py +67 -0
  14. absfuyu/core/dummy_func.py +47 -0
  15. absfuyu/dxt/__init__.py +42 -0
  16. absfuyu/dxt/dictext.py +201 -0
  17. absfuyu/dxt/dxt_support.py +79 -0
  18. absfuyu/dxt/intext.py +586 -0
  19. absfuyu/dxt/listext.py +508 -0
  20. absfuyu/dxt/strext.py +530 -0
  21. absfuyu/{extensions → extra}/__init__.py +3 -2
  22. absfuyu/extra/beautiful.py +251 -0
  23. absfuyu/{extensions/extra → extra}/data_analysis.py +51 -82
  24. absfuyu/fun/__init__.py +110 -135
  25. absfuyu/fun/tarot.py +9 -17
  26. absfuyu/game/__init__.py +6 -0
  27. absfuyu/game/game_stat.py +6 -0
  28. absfuyu/game/sudoku.py +7 -1
  29. absfuyu/game/tictactoe.py +12 -5
  30. absfuyu/game/wordle.py +14 -8
  31. absfuyu/general/__init__.py +6 -79
  32. absfuyu/general/content.py +22 -36
  33. absfuyu/general/generator.py +17 -42
  34. absfuyu/general/human.py +108 -228
  35. absfuyu/general/shape.py +1334 -0
  36. absfuyu/logger.py +8 -13
  37. absfuyu/pkg_data/__init__.py +137 -99
  38. absfuyu/pkg_data/deprecated.py +133 -0
  39. absfuyu/pkg_data/passwordlib_lzma.pkl +0 -0
  40. absfuyu/sort.py +6 -130
  41. absfuyu/tools/__init__.py +2 -2
  42. absfuyu/tools/checksum.py +44 -22
  43. absfuyu/tools/converter.py +82 -50
  44. absfuyu/tools/keygen.py +25 -30
  45. absfuyu/tools/obfuscator.py +246 -112
  46. absfuyu/tools/passwordlib.py +330 -0
  47. absfuyu/tools/shutdownizer.py +287 -0
  48. absfuyu/tools/web.py +2 -9
  49. absfuyu/util/__init__.py +15 -15
  50. absfuyu/util/api.py +10 -15
  51. absfuyu/util/json_method.py +7 -24
  52. absfuyu/util/lunar.py +3 -9
  53. absfuyu/util/path.py +22 -27
  54. absfuyu/util/performance.py +43 -67
  55. absfuyu/util/shorten_number.py +65 -14
  56. absfuyu/util/zipped.py +9 -15
  57. absfuyu-5.0.0.dist-info/METADATA +143 -0
  58. absfuyu-5.0.0.dist-info/RECORD +68 -0
  59. absfuyu/core.py +0 -57
  60. absfuyu/everything.py +0 -32
  61. absfuyu/extensions/beautiful.py +0 -188
  62. absfuyu/extensions/dev/__init__.py +0 -244
  63. absfuyu/extensions/dev/password_hash.py +0 -80
  64. absfuyu/extensions/dev/passwordlib.py +0 -258
  65. absfuyu/extensions/dev/project_starter.py +0 -60
  66. absfuyu/extensions/dev/shutdownizer.py +0 -156
  67. absfuyu/extensions/extra/__init__.py +0 -24
  68. absfuyu/fun/WGS.py +0 -134
  69. absfuyu/general/data_extension.py +0 -1796
  70. absfuyu/tools/stats.py +0 -226
  71. absfuyu/util/pkl.py +0 -67
  72. absfuyu-4.1.1.dist-info/METADATA +0 -121
  73. absfuyu-4.1.1.dist-info/RECORD +0 -61
  74. {absfuyu-4.1.1.dist-info → absfuyu-5.0.0.dist-info}/WHEEL +0 -0
  75. {absfuyu-4.1.1.dist-info → absfuyu-5.0.0.dist-info}/entry_points.txt +0 -0
  76. {absfuyu-4.1.1.dist-info → absfuyu-5.0.0.dist-info}/licenses/LICENSE +0 -0
absfuyu/tools/stats.py DELETED
@@ -1,226 +0,0 @@
1
- # flake8: noqa
2
- """
3
- Absfuyu: Stats
4
- --------------
5
- List's stats (soon will be deprecated)
6
-
7
- Version: 2.0.3
8
- Date updated: 26/11/2023 (dd/mm/yyyy)
9
- """
10
-
11
- # Module level
12
- ###########################################################################
13
- __all__ = ["ListStats"]
14
-
15
-
16
- # Library
17
- ###########################################################################
18
- import math
19
- from typing import List, Union
20
-
21
- from absfuyu.general.data_extension import ListExt
22
- from absfuyu.logger import logger
23
-
24
-
25
- # Class
26
- ###########################################################################
27
- class ListStats(List[Union[int, float]]):
28
- """Stats"""
29
-
30
- def mean(self) -> float:
31
- """
32
- Mean/Average
33
-
34
- Returns
35
- -------
36
- float
37
- Mean/Average value
38
-
39
-
40
- Example:
41
- --------
42
- >>> test = ListStats([1, 2, 3, 4, 5, 6])
43
- >>> test.mean()
44
- 3.5
45
- """
46
- s = sum(self)
47
- return s / len(self)
48
-
49
- def median(self) -> Union[int, float]:
50
- """
51
- Median/Middle
52
-
53
- Returns
54
- -------
55
- int | float
56
- Median/Middle value
57
-
58
-
59
- Example:
60
- --------
61
- >>> test = ListStats([1, 2, 3, 4, 5, 6])
62
- >>> test.median()
63
- 3.5
64
- """
65
- lst = sorted(self)
66
- LENGTH = len(lst)
67
- if LENGTH % 2 != 0:
68
- return lst[math.floor(LENGTH / 2)]
69
- else:
70
- num1 = lst[math.floor(LENGTH / 2) - 1]
71
- num2 = lst[math.floor(LENGTH / 2)]
72
- med = (num1 + num2) / 2
73
- return med
74
-
75
- def mode(self) -> List[Union[int, float]]:
76
- """
77
- Mode:
78
-
79
- The Mode value is the value that appears the most number of times
80
-
81
- Returns
82
- -------
83
- list[int | float]
84
- Mode value
85
-
86
-
87
- Example:
88
- --------
89
- >>> test = ListStats([1, 1, 2, 3, 4, 5, 6])
90
- >>> test.mode()
91
- [1]
92
- """
93
- lst = self
94
- frequency = ListExt(lst).freq()
95
-
96
- max_val = max(frequency.values()) # type: ignore
97
- keys = []
98
-
99
- for k, v in frequency.items(): # type: ignore
100
- if v == max_val:
101
- keys.append(k)
102
-
103
- return keys
104
-
105
- def var(self) -> float:
106
- """
107
- Variance
108
-
109
- Returns
110
- -------
111
- float
112
- Variance value
113
-
114
-
115
- Example:
116
- --------
117
- >>> test = ListStats([1, 2, 3, 4, 5, 6])
118
- >>> test.var()
119
- 2.9166666666666665
120
- """
121
- lst = self
122
- MEAN = self.mean()
123
- v = [(x - MEAN) ** 2 for x in lst]
124
- out = sum(v) / len(v)
125
- return out
126
-
127
- def std(self) -> float:
128
- """
129
- Standard deviation
130
-
131
- Returns
132
- -------
133
- float
134
- Standard deviation value
135
-
136
-
137
- Example:
138
- --------
139
- >>> test = ListStats([1, 2, 3, 4, 5, 6])
140
- >>> test.std()
141
- 1.707825127659933
142
- """
143
- sd = math.sqrt(self.var())
144
- return sd
145
-
146
- def percentile(self, percent: int = 50) -> Union[int, float]:
147
- """
148
- Percentile
149
-
150
- Parameters
151
- ----------
152
- percent : int
153
- Which percentile
154
- (Default: ``50``)
155
-
156
- Returns
157
- -------
158
- int | float
159
- Percentile value
160
-
161
-
162
- Example:
163
- --------
164
- >>> test = ListStats([1, 2, 3, 4, 5, 6])
165
- >>> test.percentile()
166
- 4
167
- """
168
- lst = self
169
- idx = math.floor(len(lst) / 100 * percent)
170
- if idx == len(lst):
171
- idx -= 1
172
- return sorted(lst)[idx]
173
-
174
- def summary(self):
175
- """
176
- Quick summary of data
177
-
178
- Returns
179
- -------
180
- dict
181
- Summary of data
182
-
183
-
184
- Example:
185
- --------
186
- >>> test = ListStats([1, 2, 3, 4, 5, 6])
187
- >>> test.summary()
188
- {
189
- 'Observations': 6,
190
- 'Mean': 3.5,
191
- 'Median': 3.5,
192
- 'Mode': [1, 2, 3, 4, 5, 6],
193
- 'Standard deviation': 1.707825127659933,
194
- 'Variance': 2.9166666666666665,
195
- 'Max': 6,
196
- 'Min': 1,
197
- 'Percentiles': {'1st Quartile': 2, '2nd Quartile': 4, '3rd Quartile': 5}
198
- }
199
- """
200
- lst = self
201
- output = {
202
- "Observations": len(lst),
203
- "Mean": self.mean(),
204
- "Median": self.median(),
205
- "Mode": self.mode(),
206
- "Standard deviation": self.std(),
207
- "Variance": self.var(),
208
- "Max": max(lst),
209
- "Min": min(lst),
210
- "Percentiles": {
211
- "1st Quartile": self.percentile(25),
212
- "2nd Quartile": self.percentile(50),
213
- "3rd Quartile": self.percentile(75),
214
- },
215
- }
216
- return output
217
-
218
-
219
- # Run
220
- ###########################################################################
221
- if __name__ == "__main__":
222
- logger.setLevel(10)
223
- from rich import print
224
-
225
- test = ListStats([1, 8, 9, 2, 3, 4, 4])
226
- print(test.summary())
absfuyu/util/pkl.py DELETED
@@ -1,67 +0,0 @@
1
- """
2
- Absfuyu: Pickle
3
- ---------------
4
- ``pickle`` wrapper
5
-
6
- Version: 1.0.2
7
- Last update: 24/11/2023 (dd/mm/yyyy)
8
- """
9
-
10
- # Module level
11
- ###########################################################################
12
- __all__ = ["Pickler"]
13
-
14
-
15
- # Library
16
- ###########################################################################
17
- import pickle
18
- from pathlib import Path
19
- from typing import Any
20
-
21
-
22
- # Class
23
- ###########################################################################
24
- class Pickler:
25
- """Save and load pickle file"""
26
-
27
- def __init__(self) -> None:
28
- pass
29
-
30
- def __str__(self) -> str:
31
- return f"{self.__class__.__name__}()"
32
-
33
- def __repr__(self) -> str:
34
- return self.__str__()
35
-
36
- @staticmethod
37
- def save(location: Path, data: Any) -> None:
38
- """
39
- Save to pickle format
40
-
41
- :param location: Save location
42
- :type location: Path
43
- :param data: Data want to be saved
44
- :type data: Any
45
- """
46
- with open(Path(location), "wb") as file:
47
- pickle.dump(data, file)
48
-
49
- @staticmethod
50
- def load(location: Path) -> Any:
51
- """
52
- Load pickled file
53
-
54
- :param location: Load location
55
- :type location: Path
56
- :returns: Loaded data
57
- :rtype: Any
58
- """
59
- with open(Path(location), "rb") as file:
60
- data = pickle.load(file)
61
- return data
62
-
63
-
64
- # Run
65
- ###########################################################################
66
- if __name__ == "__main__":
67
- pass
@@ -1,121 +0,0 @@
1
- Metadata-Version: 2.4
2
- Name: absfuyu
3
- Version: 4.1.1
4
- Summary: A small collection of code
5
- Project-URL: Homepage, https://github.com/AbsoluteWinter/absfuyu-public
6
- Project-URL: Documentation, https://absolutewinter.github.io/absfuyu-docs/
7
- Project-URL: Repository, https://github.com/AbsoluteWinter/absfuyu-public
8
- Project-URL: Issues, https://github.com/AbsoluteWinter/absfuyu-public/issues
9
- Author: somewhatcold (AbsoluteWinter)
10
- License: MIT License
11
- License-File: LICENSE
12
- Keywords: utilities
13
- Classifier: Development Status :: 5 - Production/Stable
14
- Classifier: Intended Audience :: Developers
15
- Classifier: Intended Audience :: End Users/Desktop
16
- Classifier: License :: OSI Approved :: MIT License
17
- Classifier: Natural Language :: English
18
- Classifier: Operating System :: OS Independent
19
- Classifier: Programming Language :: Python :: 3
20
- Classifier: Programming Language :: Python :: 3 :: Only
21
- Classifier: Programming Language :: Python :: 3.11
22
- Classifier: Programming Language :: Python :: 3.12
23
- Classifier: Programming Language :: Python :: 3.13
24
- Classifier: Topic :: Software Development :: Libraries
25
- Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
- Classifier: Topic :: Utilities
27
- Requires-Python: <4,>=3.11
28
- Requires-Dist: bs4
29
- Requires-Dist: click>=8.0.0
30
- Requires-Dist: colorama
31
- Requires-Dist: deprecated
32
- Requires-Dist: python-dateutil
33
- Requires-Dist: requests
34
- Requires-Dist: typing-extensions>=4.5.0; python_version < '3.12'
35
- Requires-Dist: unidecode
36
- Provides-Extra: beautiful
37
- Requires-Dist: rich; extra == 'beautiful'
38
- Provides-Extra: dev
39
- Requires-Dist: hatch; extra == 'dev'
40
- Requires-Dist: pytest; extra == 'dev'
41
- Provides-Extra: extra
42
- Requires-Dist: numpy; extra == 'extra'
43
- Requires-Dist: pandas; extra == 'extra'
44
- Provides-Extra: full
45
- Requires-Dist: absfuyu-res; extra == 'full'
46
- Requires-Dist: numpy; extra == 'full'
47
- Requires-Dist: pandas; extra == 'full'
48
- Requires-Dist: rich; extra == 'full'
49
- Requires-Dist: tqdm; extra == 'full'
50
- Provides-Extra: res
51
- Requires-Dist: absfuyu-res; extra == 'res'
52
- Description-Content-Type: text/markdown
53
-
54
- <div align="center">
55
- <h1 align="center">
56
- <img src="https://github.com/AbsoluteWinter/AbsoluteWinter.github.io/blob/main/absfuyu/images/repository-image-crop.png?raw=true" alt="absfuyu"/>
57
- </h1>
58
- <p align="center">
59
- <a href="https://pypi.org/project/absfuyu/"><img src="https://img.shields.io/pypi/pyversions/absfuyu?style=flat-square&logo=python" alt="PyPI Supported Versions"/></a>
60
- <a href="https://pypi.org/project/absfuyu/"><img src="https://img.shields.io/pypi/dm/absfuyu?style=flat-square&color=blue" alt="PyPI Downloads"/></a>
61
- <a href="https://pypi.org/project/absfuyu/"><img src="https://img.shields.io/pypi/v/absfuyu?style=flat-square&logo=pypi" /></a>
62
- <a><img src="https://img.shields.io/pypi/l/absfuyu?style=flat-square&logo=github&color=blue"/></a>
63
- <a><img src="https://img.shields.io/badge/code%20style-black-black?style=flat-square"/></a>
64
- <a href="https://github.com/astral-sh/ruff"><img src="https://img.shields.io/endpoint?url=https://raw.githubusercontent.com/astral-sh/ruff/main/assets/badge/v2.json&style=flat-square" alt="Ruff" style="max-width:100%;"></a>
65
- </p>
66
- </div>
67
-
68
-
69
- ---
70
-
71
- ## **SUMMARY:**
72
-
73
- *TL;DR: A collection of code*
74
-
75
- ## **INSTALLATION:**
76
-
77
- ```bash
78
- $ pip install -U absfuyu
79
- ```
80
-
81
- ## **USAGE:**
82
-
83
- ```python
84
- import absfuyu
85
- help(absfuyu)
86
- ```
87
-
88
- ## **DOCUMENTATION:**
89
-
90
- > [here](https://absolutewinter.github.io/absfuyu/)
91
-
92
- ## **DEV SETUP**
93
-
94
- 1. Create virtual environment
95
-
96
- ```bash
97
- python -m venv env
98
- ```
99
-
100
- Note: Might need to run this in powershell (windows)
101
-
102
- ```powershell
103
- Set-ExecutionPolicy -ExecutionPolicy Unrestricted -Scope CurrentUser
104
- ```
105
-
106
- 2. Install required packages
107
-
108
- ```bash
109
- python -m pip install -e .[full,dev]
110
- ```
111
-
112
- 3. Getting info of dev environment
113
-
114
- ```bash
115
- hatch env show
116
- ```
117
-
118
-
119
- ## **LICENSE:**
120
-
121
- MIT License
@@ -1,61 +0,0 @@
1
- absfuyu/__init__.py,sha256=EGTitZIqMbg-jQFJD5nJi4papdMQsCoYnr-9EnvlUmI,638
2
- absfuyu/__main__.py,sha256=OpMwc35W5VANzw6gvlqJaJOl2H89i_frFZbleUQwDss,163
3
- absfuyu/core.py,sha256=MZQH3hpUAamGx2NM-TlIWvAnRBBwa9R9fm7F2WFe60c,1240
4
- absfuyu/everything.py,sha256=PGIXlqgxyADFPygohVYVIb7fZz72L_xXrlLX0WImuYg,788
5
- absfuyu/logger.py,sha256=Pue3oWYYSF03A-fVp3E137jzlZVI71mYqddic8myauQ,13141
6
- absfuyu/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
7
- absfuyu/sort.py,sha256=Z9nK15WehmZjlUNwvAOwF4FhV-rFcqlXkCcehNYmo78,6827
8
- absfuyu/version.py,sha256=KMaeXNl93L4VU2RnTySoFv23IDyTvHfy84nyatFcKaE,14128
9
- absfuyu/cli/__init__.py,sha256=nKTbe4iPpkjtDDMJwVY36heInKDm1zyek9ags5an7s4,1105
10
- absfuyu/cli/color.py,sha256=7M3XqFllt26tv_NR5qKgyTId6wnVADtUB74cDYy8pOQ,497
11
- absfuyu/cli/config_group.py,sha256=FsyYm2apSyAA2PAD12CpHAizenRds_QlLf8j0AlLuVo,1230
12
- absfuyu/cli/do_group.py,sha256=HS1G9nFnqtmNVwWZiOGvu4RB6URT2VnCpEtdY9e7n2Q,4132
13
- absfuyu/cli/game_group.py,sha256=ySpL2hm4VCplhNY0s22kBGI5eFCdJj9fm1T58yftU74,2348
14
- absfuyu/config/__init__.py,sha256=4r77tFm3mgHX8H1uWWNXC_FZ8hiSJzsYAyiStZiVj5w,8641
15
- absfuyu/config/config.json,sha256=-ZQnmDuLq0aAFfsrQbSNR3tq5k9Eu9IVUQgYD9htIQM,646
16
- absfuyu/extensions/__init__.py,sha256=hxeZm3w00K4GC78cDTIo5ROWiWAZw4zEmlevfOqbNvo,146
17
- absfuyu/extensions/beautiful.py,sha256=eGfmJ72UQTVvevMCr80RoyYuCYxLaHkvAm1Kk2pkqc0,5331
18
- absfuyu/extensions/dev/__init__.py,sha256=sr80dV4a2gktP3GhAYHQdFM5vDkXyTsSi74yCbnLc0E,6534
19
- absfuyu/extensions/dev/password_hash.py,sha256=AO8VSW9s9VyrTCGgrN-HLqYIUWAYFSds6vLYrhH-ako,1826
20
- absfuyu/extensions/dev/passwordlib.py,sha256=RvN-AOYann_K-OXVJOmtfTi38uYlcr7Gd2OnGe0I1og,6812
21
- absfuyu/extensions/dev/project_starter.py,sha256=RkTHwMXdChB45d7rrDuDMzo3a34-P514JlOmYHHNads,1593
22
- absfuyu/extensions/dev/shutdownizer.py,sha256=Vm9AUsUGyvRWRYAl4fp4CriSmixzBtV8ZGvqmNjdEvo,4027
23
- absfuyu/extensions/extra/__init__.py,sha256=gUB8fIOz4V9xQxk689dMe7NFFu_r-CneCsi32DtjQAo,552
24
- absfuyu/extensions/extra/data_analysis.py,sha256=JR8smS6gVRZ4jJtboshCpC3jFabVLQ8LBhWOA-sfIG4,32969
25
- absfuyu/fun/WGS.py,sha256=Aug9BsLTawBDkjdCQ3oqWAfGGeY6ZSBV1kENrTVnlUA,9461
26
- absfuyu/fun/__init__.py,sha256=AOaq3NdgaK7e5hk622Wspiu6Z2biVK-jpk2FChn05rA,6366
27
- absfuyu/fun/tarot.py,sha256=Y0z5rNWLOmqfJV961L_9LzUORRNR89Vegy7KqgNR9xs,2539
28
- absfuyu/game/__init__.py,sha256=qOPsnjKXSc1LobDQmF131BrBIyOEy0oddFRCEHsg8P8,4419
29
- absfuyu/game/game_stat.py,sha256=xayD7zkcR76m-5UOx8flEE5MO_LEZoCe6FnFyPg4YE4,963
30
- absfuyu/game/sudoku.py,sha256=zMsQ2opVFpREZMdSmu2ZXwV4mu463rRLdwrGV9qwg2s,10130
31
- absfuyu/game/tictactoe.py,sha256=OfI7WHxxiAbhuRAt8qsDG1BJuc3hlhX4N6-HORq9fbI,9603
32
- absfuyu/game/wordle.py,sha256=1RpgB8fBgcL_E2TgbTFXjZHtzthJQysCAl0fbK_LG5w,101336
33
- absfuyu/general/__init__.py,sha256=6AJZ7Ul6l8MKaqEwRD2ktQUIBfhTPaDUYDQB7MUQ5rc,2481
34
- absfuyu/general/content.py,sha256=IfX5SkgoD-sjYJrbRHRIS5-g6fGp_X65A07ViB0zLpk,17443
35
- absfuyu/general/data_extension.py,sha256=tvZM4moHNxqOh_iT6ekFELZgfhiIoZ8SUqm9wUIaokU,48938
36
- absfuyu/general/generator.py,sha256=PW_4Z-YZ30StwDuUUfHD7B0qnVKMo_ZZHHKj54BzgXk,9731
37
- absfuyu/general/human.py,sha256=drZT1nI_YwGMOwZu8pbzf3frM-SUY15cOcnUpc4pzQk,12241
38
- absfuyu/pkg_data/__init__.py,sha256=VbUoFnUDiw_3bKZVvIzwf_ve0y97rmhfpkbbrP_ob_w,4761
39
- absfuyu/pkg_data/chemistry.pkl,sha256=kYWNa_PVffoDnzT8b9Jvimmf_GZshPe1D-SnEKERsLo,4655
40
- absfuyu/pkg_data/tarot.pkl,sha256=ssXTCC_BQgslO5F-3a9HivbxFQ6BioIe2E1frPVi2m0,56195
41
- absfuyu/tools/__init__.py,sha256=VDmmMLEfiRyUWPVrPYc8JUEa5TXjLguKVnyI3YavFv0,118
42
- absfuyu/tools/checksum.py,sha256=cLSuL_ZsoroFYYVR1GhOfBbon_iXEm1OazbjYFPJabM,4393
43
- absfuyu/tools/converter.py,sha256=8jqOSdkbzzupKJcBndV5q4OBu2kWFWpV3j2IswS4Vqc,10609
44
- absfuyu/tools/keygen.py,sha256=drj8OUDCXrLvcVf9_Shd5UMShm_mBTxa9Sg_BrAT5yM,7356
45
- absfuyu/tools/obfuscator.py,sha256=kiaFvMw2RwEfZvXKdbUrEYA_AuVETivoL2eVmtUWU4w,8669
46
- absfuyu/tools/stats.py,sha256=zZNK59qn0xqQlyw5CP3MP5WRMSxncdKZythqvgNR1lQ,5191
47
- absfuyu/tools/web.py,sha256=Mb5RYj1Fu5eB-mYMusyrE2JG6_ZPEf8WT72Z8q6Ep74,1406
48
- absfuyu/util/__init__.py,sha256=1V2DwIUt-bSiSURnk6AzfKB0HRLHwoi8_6RaIvywlzU,3716
49
- absfuyu/util/api.py,sha256=qI3T3bO_dRyRLjmeCtKAJzWr5v7b8ZG1U1rsb4UJk2g,4395
50
- absfuyu/util/json_method.py,sha256=8DlNXRNqHKbbikG3p08LEKWuw8FxjYP7k_sCYhwH9Bg,2684
51
- absfuyu/util/lunar.py,sha256=xW7HcgyIRjWBhQv36RimNZIT8Ed_X83moqr5h5-Ku9k,13750
52
- absfuyu/util/path.py,sha256=p4Ac98FfW5pXLNRRuQ_QEx_G7-UOSBKABAg_xrOq7u4,16628
53
- absfuyu/util/performance.py,sha256=F-aLJ-5wmwkiOdl9_wZcFRKifL9zOahw52JeL4TbCuQ,9105
54
- absfuyu/util/pkl.py,sha256=ZZf6-PFC2uRGXqARNi0PGH3A0IXwMP0sYPWZJXENvak,1559
55
- absfuyu/util/shorten_number.py,sha256=_R_FhzBYDvtX_B8jA0WhVyG2G_s-kyolra9Y2gH5e4w,6603
56
- absfuyu/util/zipped.py,sha256=CU_le1MynFwHfpajCRRJ7_A-r1jfMjt9uu72jLooW6w,3111
57
- absfuyu-4.1.1.dist-info/METADATA,sha256=dJJP-975rfpiV712uDMRZXbnOhDtmLGkfAWMfriu9L0,3794
58
- absfuyu-4.1.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
59
- absfuyu-4.1.1.dist-info/entry_points.txt,sha256=bW5CgJRTTWJ2Pywojo07sf-YucRPcnHzMmETh5avbX0,79
60
- absfuyu-4.1.1.dist-info/licenses/LICENSE,sha256=pFCHBSNSzdXwYG1AHpq7VcofI1NMQ1Fc77RzZ4Ln2O4,1097
61
- absfuyu-4.1.1.dist-info/RECORD,,