absfuyu 3.4.0__py3-none-any.whl → 4.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.
- absfuyu/__init__.py +1 -1
- absfuyu/cli/do_group.py +14 -2
- absfuyu/config/__init__.py +13 -13
- absfuyu/core.py +5 -16
- absfuyu/extensions/extra/data_analysis.py +74 -28
- absfuyu/fun/__init__.py +24 -23
- absfuyu/fun/tarot.py +6 -7
- absfuyu/game/__init__.py +1 -1
- absfuyu/game/sudoku.py +6 -5
- absfuyu/game/tictactoe.py +4 -4
- absfuyu/general/data_extension.py +41 -60
- absfuyu/pkg_data/__init__.py +13 -20
- absfuyu/tools/converter.py +9 -10
- absfuyu/util/__init__.py +13 -14
- absfuyu/util/api.py +7 -7
- absfuyu/util/json_method.py +9 -9
- absfuyu/util/lunar.py +7 -8
- absfuyu/util/path.py +23 -21
- absfuyu/util/performance.py +8 -8
- absfuyu/util/zipped.py +18 -6
- {absfuyu-3.4.0.dist-info → absfuyu-4.0.0.dist-info}/METADATA +5 -9
- {absfuyu-3.4.0.dist-info → absfuyu-4.0.0.dist-info}/RECORD +25 -25
- {absfuyu-3.4.0.dist-info → absfuyu-4.0.0.dist-info}/WHEEL +1 -1
- {absfuyu-3.4.0.dist-info → absfuyu-4.0.0.dist-info}/entry_points.txt +0 -0
- {absfuyu-3.4.0.dist-info → absfuyu-4.0.0.dist-info}/licenses/LICENSE +0 -0
absfuyu/util/lunar.py
CHANGED
|
@@ -4,8 +4,8 @@ Absfuyu: Lunar calendar
|
|
|
4
4
|
-----------------------
|
|
5
5
|
Convert to lunar calendar
|
|
6
6
|
|
|
7
|
-
Version: 1.0.
|
|
8
|
-
Date updated:
|
|
7
|
+
Version: 1.0.3
|
|
8
|
+
Date updated: 15/11/2024 (dd/mm/yyyy)
|
|
9
9
|
|
|
10
10
|
Source:
|
|
11
11
|
-------
|
|
@@ -22,7 +22,6 @@ __all__ = ["LunarCalendar"]
|
|
|
22
22
|
###########################################################################
|
|
23
23
|
import math
|
|
24
24
|
from datetime import date, datetime
|
|
25
|
-
from typing import Optional, Union
|
|
26
25
|
|
|
27
26
|
|
|
28
27
|
# Class
|
|
@@ -56,9 +55,9 @@ class LunarCalendar:
|
|
|
56
55
|
def _julian_day_from_date(
|
|
57
56
|
self,
|
|
58
57
|
*,
|
|
59
|
-
overwrite_year:
|
|
60
|
-
overwrite_month:
|
|
61
|
-
overwrite_day:
|
|
58
|
+
overwrite_year: int | None = None,
|
|
59
|
+
overwrite_month: int | None = None,
|
|
60
|
+
overwrite_day: int | None = None,
|
|
62
61
|
) -> int:
|
|
63
62
|
"""
|
|
64
63
|
Compute the (integral) Julian day number of `self.date`
|
|
@@ -211,7 +210,7 @@ class LunarCalendar:
|
|
|
211
210
|
"""
|
|
212
211
|
return int(self._new_moon(k) + 0.5 + self.time_zone / 24.0)
|
|
213
212
|
|
|
214
|
-
def _get_lunar_month_11(self, *, overwrite_year:
|
|
213
|
+
def _get_lunar_month_11(self, *, overwrite_year: int | None = None) -> int:
|
|
215
214
|
"""
|
|
216
215
|
Find the day that starts the luner month 11
|
|
217
216
|
of the given year for the given time zone.
|
|
@@ -373,7 +372,7 @@ class LunarCalendar:
|
|
|
373
372
|
return cls(year, month, day, lunar_leap=lunar_leap).to_lunar()
|
|
374
373
|
|
|
375
374
|
@classmethod
|
|
376
|
-
def from_datetime(cls, datetime_object:
|
|
375
|
+
def from_datetime(cls, datetime_object: date | datetime):
|
|
377
376
|
"""
|
|
378
377
|
Convert from ``datetime.datetime`` object
|
|
379
378
|
|
absfuyu/util/path.py
CHANGED
|
@@ -3,8 +3,8 @@ Absfuyu: Path
|
|
|
3
3
|
-------------
|
|
4
4
|
Path related
|
|
5
5
|
|
|
6
|
-
Version: 1.6.
|
|
7
|
-
Date updated:
|
|
6
|
+
Version: 1.6.7
|
|
7
|
+
Date updated: 06/01/2025 (dd/mm/yyyy)
|
|
8
8
|
|
|
9
9
|
Feature:
|
|
10
10
|
--------
|
|
@@ -32,7 +32,7 @@ import shutil
|
|
|
32
32
|
from datetime import datetime
|
|
33
33
|
from functools import partial
|
|
34
34
|
from pathlib import Path
|
|
35
|
-
from typing import Any,
|
|
35
|
+
from typing import Any, Literal, NamedTuple
|
|
36
36
|
|
|
37
37
|
from deprecated.sphinx import versionadded
|
|
38
38
|
|
|
@@ -69,7 +69,7 @@ class DirectoryInfo(NamedTuple):
|
|
|
69
69
|
class DirectoryBase:
|
|
70
70
|
def __init__(
|
|
71
71
|
self,
|
|
72
|
-
source_path:
|
|
72
|
+
source_path: str | Path,
|
|
73
73
|
create_if_not_exist: bool = False,
|
|
74
74
|
) -> None:
|
|
75
75
|
"""
|
|
@@ -114,21 +114,21 @@ class DirectoryBase:
|
|
|
114
114
|
# Everything
|
|
115
115
|
@property
|
|
116
116
|
@versionadded(version="3.3.0")
|
|
117
|
-
def everything(self) ->
|
|
117
|
+
def everything(self) -> list[Path]:
|
|
118
118
|
"""
|
|
119
119
|
Every folders and files in this Directory
|
|
120
120
|
"""
|
|
121
121
|
return list(x for x in self.source_path.glob("**/*"))
|
|
122
122
|
|
|
123
123
|
@versionadded(version="3.3.0")
|
|
124
|
-
def _every_folder(self) ->
|
|
124
|
+
def _every_folder(self) -> list[Path]:
|
|
125
125
|
"""
|
|
126
126
|
Every folders in this Directory
|
|
127
127
|
"""
|
|
128
128
|
return list(x for x in self.source_path.glob("**/*") if x.is_dir())
|
|
129
129
|
|
|
130
130
|
@versionadded(version="3.3.0")
|
|
131
|
-
def _every_file(self) ->
|
|
131
|
+
def _every_file(self) -> list[Path]:
|
|
132
132
|
"""
|
|
133
133
|
Every folders in this Directory
|
|
134
134
|
"""
|
|
@@ -224,7 +224,7 @@ class DirectoryBasicOperation(DirectoryBase):
|
|
|
224
224
|
logger.debug("Overwriting file...DONE")
|
|
225
225
|
|
|
226
226
|
# Delete folder
|
|
227
|
-
def _mtime_folder(self) ->
|
|
227
|
+
def _mtime_folder(self) -> list[FileOrFolderWithModificationTime]:
|
|
228
228
|
"""
|
|
229
229
|
Get modification time of file/folder (first level only)
|
|
230
230
|
"""
|
|
@@ -236,7 +236,7 @@ class DirectoryBasicOperation(DirectoryBase):
|
|
|
236
236
|
]
|
|
237
237
|
|
|
238
238
|
@staticmethod
|
|
239
|
-
def _delete_files(list_of_files:
|
|
239
|
+
def _delete_files(list_of_files: list[Path]) -> None:
|
|
240
240
|
"""
|
|
241
241
|
Delete files/folders
|
|
242
242
|
"""
|
|
@@ -316,7 +316,9 @@ class DirectoryBasicOperation(DirectoryBase):
|
|
|
316
316
|
logger.error(f"Removing {self.source_path}...FAILED\n{e}")
|
|
317
317
|
|
|
318
318
|
# Zip
|
|
319
|
-
def compress(
|
|
319
|
+
def compress(
|
|
320
|
+
self, *, format: Literal["zip", "tar", "gztar", "bztar", "xztar"] = "zip"
|
|
321
|
+
) -> Path | None:
|
|
320
322
|
"""
|
|
321
323
|
Compress the directory (Default: Create ``.zip`` file)
|
|
322
324
|
|
|
@@ -366,7 +368,7 @@ class Directory(DirectoryBasicOperation, DirectoryTree):
|
|
|
366
368
|
"""
|
|
367
369
|
|
|
368
370
|
# Directory structure
|
|
369
|
-
def _list_dir(self, *ignore: str) ->
|
|
371
|
+
def _list_dir(self, *ignore: str) -> list[Path]:
|
|
370
372
|
"""
|
|
371
373
|
List all directories and files
|
|
372
374
|
|
|
@@ -395,7 +397,7 @@ class Directory(DirectoryBasicOperation, DirectoryTree):
|
|
|
395
397
|
|
|
396
398
|
@staticmethod
|
|
397
399
|
@versionadded(version="3.3.0")
|
|
398
|
-
def _split_dir(list_of_path:
|
|
400
|
+
def _split_dir(list_of_path: list[Path]) -> list[list[str]]:
|
|
399
401
|
"""
|
|
400
402
|
Split pathname by ``os.sep``
|
|
401
403
|
|
|
@@ -421,11 +423,11 @@ class Directory(DirectoryBasicOperation, DirectoryTree):
|
|
|
421
423
|
|
|
422
424
|
def _separate_dir_and_files(
|
|
423
425
|
self,
|
|
424
|
-
list_of_path:
|
|
426
|
+
list_of_path: list[Path],
|
|
425
427
|
*,
|
|
426
|
-
tab_symbol:
|
|
427
|
-
sub_dir_symbol:
|
|
428
|
-
) ->
|
|
428
|
+
tab_symbol: str | None = None,
|
|
429
|
+
sub_dir_symbol: str | None = None,
|
|
430
|
+
) -> list[str]:
|
|
429
431
|
"""
|
|
430
432
|
Separate dir and file and transform into folder structure
|
|
431
433
|
|
|
@@ -453,7 +455,7 @@ class Directory(DirectoryBasicOperation, DirectoryTree):
|
|
|
453
455
|
if not sub_dir_symbol:
|
|
454
456
|
sub_dir_symbol = "|-- "
|
|
455
457
|
|
|
456
|
-
temp:
|
|
458
|
+
temp: list[list[str]] = self._split_dir(list_of_path)
|
|
457
459
|
|
|
458
460
|
return [ # Returns n-tab space with sub-dir-symbol for the last item in x
|
|
459
461
|
f"{tab_symbol * (len(x) - 1)}{sub_dir_symbol}{x[-1]}" for x in temp
|
|
@@ -485,8 +487,8 @@ class Directory(DirectoryBasicOperation, DirectoryTree):
|
|
|
485
487
|
)
|
|
486
488
|
...
|
|
487
489
|
"""
|
|
488
|
-
temp:
|
|
489
|
-
out:
|
|
490
|
+
temp: list[Path] = self._list_dir(*ignore)
|
|
491
|
+
out: list[str] = self._separate_dir_and_files(temp)
|
|
490
492
|
return "\n".join(out) # Join the list
|
|
491
493
|
|
|
492
494
|
def list_structure_pkg(self) -> str:
|
|
@@ -506,7 +508,7 @@ class Directory(DirectoryBasicOperation, DirectoryTree):
|
|
|
506
508
|
class SaveFileAs:
|
|
507
509
|
"""File as multiple file type"""
|
|
508
510
|
|
|
509
|
-
def __init__(self, data: Any, *, encoding:
|
|
511
|
+
def __init__(self, data: Any, *, encoding: str | None = "utf-8") -> None:
|
|
510
512
|
"""
|
|
511
513
|
:param encoding: Default: utf-8
|
|
512
514
|
"""
|
|
@@ -519,7 +521,7 @@ class SaveFileAs:
|
|
|
519
521
|
def __repr__(self) -> str:
|
|
520
522
|
return self.__str__()
|
|
521
523
|
|
|
522
|
-
def to_txt(self, path:
|
|
524
|
+
def to_txt(self, path: str | Path) -> None:
|
|
523
525
|
"""
|
|
524
526
|
Save as ``.txt`` file
|
|
525
527
|
|
absfuyu/util/performance.py
CHANGED
|
@@ -3,8 +3,8 @@ Absfuyu: Performance
|
|
|
3
3
|
--------------------
|
|
4
4
|
Performance Check
|
|
5
5
|
|
|
6
|
-
Version: 1.2.
|
|
7
|
-
Date updated:
|
|
6
|
+
Version: 1.2.4
|
|
7
|
+
Date updated: 15/11/2024 (dd/mm/yyyy)
|
|
8
8
|
|
|
9
9
|
Feature:
|
|
10
10
|
--------
|
|
@@ -33,7 +33,7 @@ import time
|
|
|
33
33
|
import tracemalloc
|
|
34
34
|
from functools import wraps
|
|
35
35
|
from inspect import getsource
|
|
36
|
-
from typing import Any, Callable
|
|
36
|
+
from typing import Any, Callable
|
|
37
37
|
|
|
38
38
|
from deprecated.sphinx import versionadded, versionchanged
|
|
39
39
|
|
|
@@ -271,7 +271,7 @@ class Checker:
|
|
|
271
271
|
return f"{self.__class__.__name__}({self.item_to_check})"
|
|
272
272
|
|
|
273
273
|
@property
|
|
274
|
-
def name(self) ->
|
|
274
|
+
def name(self) -> Any | None:
|
|
275
275
|
"""``__name__`` of variable (if any)"""
|
|
276
276
|
try:
|
|
277
277
|
return self.item_to_check.__name__
|
|
@@ -284,7 +284,7 @@ class Checker:
|
|
|
284
284
|
return self.item_to_check
|
|
285
285
|
|
|
286
286
|
@property
|
|
287
|
-
def docstring(self) ->
|
|
287
|
+
def docstring(self) -> str | None:
|
|
288
288
|
"""``__doc__`` of variable (if any)"""
|
|
289
289
|
return self.item_to_check.__doc__ # type: ignore
|
|
290
290
|
|
|
@@ -299,20 +299,20 @@ class Checker:
|
|
|
299
299
|
return id(self.item_to_check)
|
|
300
300
|
|
|
301
301
|
@property
|
|
302
|
-
def dir_(self) ->
|
|
302
|
+
def dir_(self) -> list[str]:
|
|
303
303
|
"""``dir()`` of variable"""
|
|
304
304
|
# return self.item_to_check.__dir__()
|
|
305
305
|
return ListNoDunder(self.item_to_check.__dir__())
|
|
306
306
|
|
|
307
307
|
@property
|
|
308
|
-
def source(self) ->
|
|
308
|
+
def source(self) -> str | None:
|
|
309
309
|
"""Source code of variable (if available)"""
|
|
310
310
|
try:
|
|
311
311
|
return getsource(self.item_to_check)
|
|
312
312
|
except Exception:
|
|
313
313
|
return None
|
|
314
314
|
|
|
315
|
-
def check(self, full: bool = False) ->
|
|
315
|
+
def check(self, full: bool = False) -> dict[str, Any]:
|
|
316
316
|
"""
|
|
317
317
|
Check the variable
|
|
318
318
|
|
absfuyu/util/zipped.py
CHANGED
|
@@ -3,8 +3,8 @@ Absfuyu: Zipped
|
|
|
3
3
|
---------------
|
|
4
4
|
Zipping stuff (deprecated soon, most features already in absfuyu.util.path.Directory)
|
|
5
5
|
|
|
6
|
-
Version: 1.0
|
|
7
|
-
Date updated:
|
|
6
|
+
Version: 1.1.0
|
|
7
|
+
Date updated: 07/01/2025 (dd/mm/yyyy)
|
|
8
8
|
"""
|
|
9
9
|
|
|
10
10
|
# Module level
|
|
@@ -17,7 +17,6 @@ __all__ = ["Zipper"]
|
|
|
17
17
|
import shutil
|
|
18
18
|
import zipfile
|
|
19
19
|
from pathlib import Path
|
|
20
|
-
from typing import Union
|
|
21
20
|
|
|
22
21
|
from absfuyu.logger import logger
|
|
23
22
|
|
|
@@ -26,9 +25,7 @@ from absfuyu.logger import logger
|
|
|
26
25
|
class Zipper:
|
|
27
26
|
"""Zip file or folder"""
|
|
28
27
|
|
|
29
|
-
def __init__(
|
|
30
|
-
self, path_to_zip: Union[str, Path], name: Union[str, None] = None
|
|
31
|
-
) -> None:
|
|
28
|
+
def __init__(self, path_to_zip: str | Path, name: str | None = None) -> None:
|
|
32
29
|
"""
|
|
33
30
|
path_to_zip: source location
|
|
34
31
|
name: zipped file name
|
|
@@ -77,6 +74,21 @@ class Zipper:
|
|
|
77
74
|
except OSError as e:
|
|
78
75
|
logger.error(f"Error: {e.filename} - {e.strerror}.")
|
|
79
76
|
|
|
77
|
+
# Added in version 4.0.0
|
|
78
|
+
def unzip(self):
|
|
79
|
+
"""
|
|
80
|
+
Unzip every archive files in directory
|
|
81
|
+
"""
|
|
82
|
+
_valid = [".zip", ".cbz"]
|
|
83
|
+
for x in self.source_path.glob("*"):
|
|
84
|
+
if x.suffix.lower() in _valid:
|
|
85
|
+
logger.debug(f"Unzipping {x.name}...")
|
|
86
|
+
if x.suffix.lower() == ".cbz":
|
|
87
|
+
temp = x.rename(x.with_suffix(".zip"))
|
|
88
|
+
shutil.unpack_archive(temp, temp.parent.joinpath(temp.stem))
|
|
89
|
+
else:
|
|
90
|
+
shutil.unpack_archive(x, x.parent.joinpath(x.stem))
|
|
91
|
+
|
|
80
92
|
|
|
81
93
|
# Run
|
|
82
94
|
###########################################################################
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: absfuyu
|
|
3
|
-
Version:
|
|
3
|
+
Version: 4.0.0
|
|
4
4
|
Summary: A small collection of code
|
|
5
5
|
Project-URL: Homepage, https://github.com/AbsoluteWinter/absfuyu-public
|
|
6
6
|
Project-URL: Documentation, https://absolutewinter.github.io/absfuyu-docs/
|
|
@@ -18,24 +18,20 @@ Classifier: Natural Language :: English
|
|
|
18
18
|
Classifier: Operating System :: OS Independent
|
|
19
19
|
Classifier: Programming Language :: Python :: 3
|
|
20
20
|
Classifier: Programming Language :: Python :: 3 :: Only
|
|
21
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
22
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
23
|
-
Classifier: Programming Language :: Python :: 3.10
|
|
24
21
|
Classifier: Programming Language :: Python :: 3.11
|
|
25
22
|
Classifier: Programming Language :: Python :: 3.12
|
|
23
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
26
24
|
Classifier: Topic :: Software Development :: Libraries
|
|
27
25
|
Classifier: Topic :: Software Development :: Libraries :: Python Modules
|
|
28
26
|
Classifier: Topic :: Utilities
|
|
29
|
-
Requires-Python: <4,>=3.
|
|
27
|
+
Requires-Python: <4,>=3.11
|
|
30
28
|
Requires-Dist: bs4
|
|
31
29
|
Requires-Dist: click>=8.0.0
|
|
32
30
|
Requires-Dist: colorama
|
|
33
31
|
Requires-Dist: deprecated
|
|
34
|
-
Requires-Dist: importlib-resources; python_version < '3.10'
|
|
35
32
|
Requires-Dist: python-dateutil
|
|
36
33
|
Requires-Dist: requests
|
|
37
|
-
Requires-Dist:
|
|
38
|
-
Requires-Dist: typing-extensions>=4.0.1; python_version < '3.11'
|
|
34
|
+
Requires-Dist: typing-extensions>=4.5.0; python_version < '3.12'
|
|
39
35
|
Requires-Dist: unidecode
|
|
40
36
|
Provides-Extra: beautiful
|
|
41
37
|
Requires-Dist: rich; extra == 'beautiful'
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
absfuyu/__init__.py,sha256=
|
|
1
|
+
absfuyu/__init__.py,sha256=3QPuQhsAV4d3FaiT_3HTn6df1fPKIPDCxng8qpVULDU,638
|
|
2
2
|
absfuyu/__main__.py,sha256=OpMwc35W5VANzw6gvlqJaJOl2H89i_frFZbleUQwDss,163
|
|
3
|
-
absfuyu/core.py,sha256=
|
|
3
|
+
absfuyu/core.py,sha256=NW8veKHacn7hPqlnVXLGEmj_gzip2R3JgfFNwUTuwtU,959
|
|
4
4
|
absfuyu/everything.py,sha256=PGIXlqgxyADFPygohVYVIb7fZz72L_xXrlLX0WImuYg,788
|
|
5
5
|
absfuyu/logger.py,sha256=vT0CniqNv-cNXbtkhu1jaOhehHvlInHQt1PFsna5qIY,13135
|
|
6
6
|
absfuyu/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
@@ -9,9 +9,9 @@ absfuyu/version.py,sha256=KMaeXNl93L4VU2RnTySoFv23IDyTvHfy84nyatFcKaE,14128
|
|
|
9
9
|
absfuyu/cli/__init__.py,sha256=nKTbe4iPpkjtDDMJwVY36heInKDm1zyek9ags5an7s4,1105
|
|
10
10
|
absfuyu/cli/color.py,sha256=7M3XqFllt26tv_NR5qKgyTId6wnVADtUB74cDYy8pOQ,497
|
|
11
11
|
absfuyu/cli/config_group.py,sha256=FsyYm2apSyAA2PAD12CpHAizenRds_QlLf8j0AlLuVo,1230
|
|
12
|
-
absfuyu/cli/do_group.py,sha256=
|
|
12
|
+
absfuyu/cli/do_group.py,sha256=xjdMhivqFLvK-beNoOhQBl5c2mB9gcFMdmBKlCWFfL4,2645
|
|
13
13
|
absfuyu/cli/game_group.py,sha256=ySpL2hm4VCplhNY0s22kBGI5eFCdJj9fm1T58yftU74,2348
|
|
14
|
-
absfuyu/config/__init__.py,sha256=
|
|
14
|
+
absfuyu/config/__init__.py,sha256=4r77tFm3mgHX8H1uWWNXC_FZ8hiSJzsYAyiStZiVj5w,8641
|
|
15
15
|
absfuyu/config/config.json,sha256=-ZQnmDuLq0aAFfsrQbSNR3tq5k9Eu9IVUQgYD9htIQM,646
|
|
16
16
|
absfuyu/extensions/__init__.py,sha256=hxeZm3w00K4GC78cDTIo5ROWiWAZw4zEmlevfOqbNvo,146
|
|
17
17
|
absfuyu/extensions/beautiful.py,sha256=eGfmJ72UQTVvevMCr80RoyYuCYxLaHkvAm1Kk2pkqc0,5331
|
|
@@ -21,39 +21,39 @@ absfuyu/extensions/dev/passwordlib.py,sha256=RvN-AOYann_K-OXVJOmtfTi38uYlcr7Gd2O
|
|
|
21
21
|
absfuyu/extensions/dev/project_starter.py,sha256=RkTHwMXdChB45d7rrDuDMzo3a34-P514JlOmYHHNads,1593
|
|
22
22
|
absfuyu/extensions/dev/shutdownizer.py,sha256=Vm9AUsUGyvRWRYAl4fp4CriSmixzBtV8ZGvqmNjdEvo,4027
|
|
23
23
|
absfuyu/extensions/extra/__init__.py,sha256=gUB8fIOz4V9xQxk689dMe7NFFu_r-CneCsi32DtjQAo,552
|
|
24
|
-
absfuyu/extensions/extra/data_analysis.py,sha256=
|
|
24
|
+
absfuyu/extensions/extra/data_analysis.py,sha256=JR8smS6gVRZ4jJtboshCpC3jFabVLQ8LBhWOA-sfIG4,32969
|
|
25
25
|
absfuyu/fun/WGS.py,sha256=Aug9BsLTawBDkjdCQ3oqWAfGGeY6ZSBV1kENrTVnlUA,9461
|
|
26
|
-
absfuyu/fun/__init__.py,sha256=
|
|
27
|
-
absfuyu/fun/tarot.py,sha256=
|
|
28
|
-
absfuyu/game/__init__.py,sha256=
|
|
26
|
+
absfuyu/fun/__init__.py,sha256=AOaq3NdgaK7e5hk622Wspiu6Z2biVK-jpk2FChn05rA,6366
|
|
27
|
+
absfuyu/fun/tarot.py,sha256=Y0z5rNWLOmqfJV961L_9LzUORRNR89Vegy7KqgNR9xs,2539
|
|
28
|
+
absfuyu/game/__init__.py,sha256=Nnkhnca6aw-kg98kExhUeX78dqu_ivQzB_pFvyI21XE,4417
|
|
29
29
|
absfuyu/game/game_stat.py,sha256=4limsvYGw_t2PMZXrGfivouc4SDexFcc9f3SjXGVj_o,961
|
|
30
|
-
absfuyu/game/sudoku.py,sha256=
|
|
31
|
-
absfuyu/game/tictactoe.py,sha256=
|
|
30
|
+
absfuyu/game/sudoku.py,sha256=zMsQ2opVFpREZMdSmu2ZXwV4mu463rRLdwrGV9qwg2s,10130
|
|
31
|
+
absfuyu/game/tictactoe.py,sha256=OfI7WHxxiAbhuRAt8qsDG1BJuc3hlhX4N6-HORq9fbI,9603
|
|
32
32
|
absfuyu/game/wordle.py,sha256=1RpgB8fBgcL_E2TgbTFXjZHtzthJQysCAl0fbK_LG5w,101336
|
|
33
33
|
absfuyu/general/__init__.py,sha256=6AJZ7Ul6l8MKaqEwRD2ktQUIBfhTPaDUYDQB7MUQ5rc,2481
|
|
34
34
|
absfuyu/general/content.py,sha256=7yhl-6Rhyp2geNpuKQkuhxor3EcyovW3COdiYsmjUDI,17441
|
|
35
|
-
absfuyu/general/data_extension.py,sha256=
|
|
35
|
+
absfuyu/general/data_extension.py,sha256=iCuJq_x7XDhhxUzu86rt7iQd170urGjCiPG3dcw88rk,48932
|
|
36
36
|
absfuyu/general/generator.py,sha256=pozKlZgTqKxzwsKR6-tI8Lel0qTjTMubv4T3Zk7ifEQ,9691
|
|
37
37
|
absfuyu/general/human.py,sha256=drZT1nI_YwGMOwZu8pbzf3frM-SUY15cOcnUpc4pzQk,12241
|
|
38
|
-
absfuyu/pkg_data/__init__.py,sha256=
|
|
38
|
+
absfuyu/pkg_data/__init__.py,sha256=VbUoFnUDiw_3bKZVvIzwf_ve0y97rmhfpkbbrP_ob_w,4761
|
|
39
39
|
absfuyu/pkg_data/chemistry.pkl,sha256=kYWNa_PVffoDnzT8b9Jvimmf_GZshPe1D-SnEKERsLo,4655
|
|
40
40
|
absfuyu/pkg_data/tarot.pkl,sha256=ssXTCC_BQgslO5F-3a9HivbxFQ6BioIe2E1frPVi2m0,56195
|
|
41
41
|
absfuyu/tools/__init__.py,sha256=VDmmMLEfiRyUWPVrPYc8JUEa5TXjLguKVnyI3YavFv0,118
|
|
42
|
-
absfuyu/tools/converter.py,sha256=
|
|
42
|
+
absfuyu/tools/converter.py,sha256=tHIuunrEoX8wai0lXda3nQBKr2ymO5-cxy0dEIuOsVc,9871
|
|
43
43
|
absfuyu/tools/keygen.py,sha256=drj8OUDCXrLvcVf9_Shd5UMShm_mBTxa9Sg_BrAT5yM,7356
|
|
44
44
|
absfuyu/tools/obfuscator.py,sha256=c1HMEg40BY9XM_dHK1mokjHE9Sp5Vd083oFxvPnFrKA,8666
|
|
45
45
|
absfuyu/tools/stats.py,sha256=zZNK59qn0xqQlyw5CP3MP5WRMSxncdKZythqvgNR1lQ,5191
|
|
46
46
|
absfuyu/tools/web.py,sha256=Mb5RYj1Fu5eB-mYMusyrE2JG6_ZPEf8WT72Z8q6Ep74,1406
|
|
47
|
-
absfuyu/util/__init__.py,sha256=
|
|
48
|
-
absfuyu/util/api.py,sha256=
|
|
49
|
-
absfuyu/util/json_method.py,sha256=
|
|
50
|
-
absfuyu/util/lunar.py,sha256=
|
|
51
|
-
absfuyu/util/path.py,sha256=
|
|
52
|
-
absfuyu/util/performance.py,sha256=
|
|
47
|
+
absfuyu/util/__init__.py,sha256=1V2DwIUt-bSiSURnk6AzfKB0HRLHwoi8_6RaIvywlzU,3716
|
|
48
|
+
absfuyu/util/api.py,sha256=qI3T3bO_dRyRLjmeCtKAJzWr5v7b8ZG1U1rsb4UJk2g,4395
|
|
49
|
+
absfuyu/util/json_method.py,sha256=8DlNXRNqHKbbikG3p08LEKWuw8FxjYP7k_sCYhwH9Bg,2684
|
|
50
|
+
absfuyu/util/lunar.py,sha256=xW7HcgyIRjWBhQv36RimNZIT8Ed_X83moqr5h5-Ku9k,13750
|
|
51
|
+
absfuyu/util/path.py,sha256=p4Ac98FfW5pXLNRRuQ_QEx_G7-UOSBKABAg_xrOq7u4,16628
|
|
52
|
+
absfuyu/util/performance.py,sha256=F-aLJ-5wmwkiOdl9_wZcFRKifL9zOahw52JeL4TbCuQ,9105
|
|
53
53
|
absfuyu/util/pkl.py,sha256=ZZf6-PFC2uRGXqARNi0PGH3A0IXwMP0sYPWZJXENvak,1559
|
|
54
|
-
absfuyu/util/zipped.py,sha256=
|
|
55
|
-
absfuyu-
|
|
56
|
-
absfuyu-
|
|
57
|
-
absfuyu-
|
|
58
|
-
absfuyu-
|
|
59
|
-
absfuyu-
|
|
54
|
+
absfuyu/util/zipped.py,sha256=CU_le1MynFwHfpajCRRJ7_A-r1jfMjt9uu72jLooW6w,3111
|
|
55
|
+
absfuyu-4.0.0.dist-info/METADATA,sha256=t6D2KuZnSo6spME1rJtjEReUJ9nlv8pK9lxEJGixqnA,3757
|
|
56
|
+
absfuyu-4.0.0.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
|
57
|
+
absfuyu-4.0.0.dist-info/entry_points.txt,sha256=bW5CgJRTTWJ2Pywojo07sf-YucRPcnHzMmETh5avbX0,79
|
|
58
|
+
absfuyu-4.0.0.dist-info/licenses/LICENSE,sha256=_tQM-uZht2y-26_MHcIasBp8gtJ2YmvLOezIbhixrAA,1076
|
|
59
|
+
absfuyu-4.0.0.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|