absfuyu 5.6.1__py3-none-any.whl → 6.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.

Potentially problematic release.


This version of absfuyu might be problematic. Click here for more details.

Files changed (102) hide show
  1. absfuyu/__init__.py +5 -3
  2. absfuyu/__main__.py +2 -2
  3. absfuyu/cli/__init__.py +13 -2
  4. absfuyu/cli/audio_group.py +98 -0
  5. absfuyu/cli/color.py +2 -2
  6. absfuyu/cli/config_group.py +2 -2
  7. absfuyu/cli/do_group.py +2 -2
  8. absfuyu/cli/game_group.py +20 -2
  9. absfuyu/cli/tool_group.py +68 -4
  10. absfuyu/config/__init__.py +3 -3
  11. absfuyu/core/__init__.py +10 -6
  12. absfuyu/core/baseclass.py +104 -34
  13. absfuyu/core/baseclass2.py +43 -2
  14. absfuyu/core/decorator.py +2 -2
  15. absfuyu/core/docstring.py +4 -2
  16. absfuyu/core/dummy_cli.py +3 -3
  17. absfuyu/core/dummy_func.py +2 -2
  18. absfuyu/dxt/__init__.py +2 -2
  19. absfuyu/dxt/base_type.py +93 -0
  20. absfuyu/dxt/dictext.py +188 -6
  21. absfuyu/dxt/dxt_support.py +2 -2
  22. absfuyu/dxt/intext.py +72 -4
  23. absfuyu/dxt/listext.py +495 -23
  24. absfuyu/dxt/strext.py +2 -2
  25. absfuyu/extra/__init__.py +2 -2
  26. absfuyu/extra/audio/__init__.py +8 -0
  27. absfuyu/extra/audio/_util.py +57 -0
  28. absfuyu/extra/audio/convert.py +192 -0
  29. absfuyu/extra/audio/lossless.py +281 -0
  30. absfuyu/extra/beautiful.py +2 -2
  31. absfuyu/extra/da/__init__.py +39 -3
  32. absfuyu/extra/da/dadf.py +436 -29
  33. absfuyu/extra/da/dadf_base.py +2 -2
  34. absfuyu/extra/da/df_func.py +89 -5
  35. absfuyu/extra/da/mplt.py +2 -2
  36. absfuyu/extra/ggapi/__init__.py +8 -0
  37. absfuyu/extra/ggapi/gdrive.py +223 -0
  38. absfuyu/extra/ggapi/glicense.py +148 -0
  39. absfuyu/extra/ggapi/glicense_df.py +186 -0
  40. absfuyu/extra/ggapi/gsheet.py +88 -0
  41. absfuyu/extra/img/__init__.py +30 -0
  42. absfuyu/extra/img/converter.py +402 -0
  43. absfuyu/extra/img/dup_check.py +291 -0
  44. absfuyu/extra/pdf.py +4 -6
  45. absfuyu/extra/rclone.py +253 -0
  46. absfuyu/extra/xml.py +90 -0
  47. absfuyu/fun/__init__.py +2 -20
  48. absfuyu/fun/rubik.py +2 -2
  49. absfuyu/fun/tarot.py +2 -2
  50. absfuyu/game/__init__.py +2 -2
  51. absfuyu/game/game_stat.py +2 -2
  52. absfuyu/game/schulte.py +78 -0
  53. absfuyu/game/sudoku.py +2 -2
  54. absfuyu/game/tictactoe.py +2 -2
  55. absfuyu/game/wordle.py +6 -4
  56. absfuyu/general/__init__.py +2 -2
  57. absfuyu/general/content.py +2 -2
  58. absfuyu/general/human.py +2 -2
  59. absfuyu/general/resrel.py +213 -0
  60. absfuyu/general/shape.py +3 -8
  61. absfuyu/general/tax.py +344 -0
  62. absfuyu/logger.py +806 -59
  63. absfuyu/numbers/__init__.py +13 -0
  64. absfuyu/numbers/number_to_word.py +321 -0
  65. absfuyu/numbers/shorten_number.py +303 -0
  66. absfuyu/numbers/time_duration.py +217 -0
  67. absfuyu/pkg_data/__init__.py +2 -2
  68. absfuyu/pkg_data/deprecated.py +2 -2
  69. absfuyu/pkg_data/logo.py +1462 -0
  70. absfuyu/sort.py +4 -4
  71. absfuyu/tools/__init__.py +2 -2
  72. absfuyu/tools/checksum.py +119 -4
  73. absfuyu/tools/converter.py +2 -2
  74. absfuyu/tools/generator.py +24 -7
  75. absfuyu/tools/inspector.py +2 -2
  76. absfuyu/tools/keygen.py +2 -2
  77. absfuyu/tools/obfuscator.py +2 -2
  78. absfuyu/tools/passwordlib.py +2 -2
  79. absfuyu/tools/shutdownizer.py +3 -8
  80. absfuyu/tools/sw.py +213 -10
  81. absfuyu/tools/web.py +10 -13
  82. absfuyu/typings.py +5 -8
  83. absfuyu/util/__init__.py +31 -2
  84. absfuyu/util/api.py +7 -4
  85. absfuyu/util/cli.py +119 -0
  86. absfuyu/util/gui.py +91 -0
  87. absfuyu/util/json_method.py +2 -2
  88. absfuyu/util/lunar.py +2 -2
  89. absfuyu/util/package.py +124 -0
  90. absfuyu/util/path.py +313 -4
  91. absfuyu/util/performance.py +2 -2
  92. absfuyu/util/shorten_number.py +206 -13
  93. absfuyu/util/text_table.py +2 -2
  94. absfuyu/util/zipped.py +2 -2
  95. absfuyu/version.py +22 -19
  96. {absfuyu-5.6.1.dist-info → absfuyu-6.1.2.dist-info}/METADATA +37 -8
  97. absfuyu-6.1.2.dist-info/RECORD +105 -0
  98. {absfuyu-5.6.1.dist-info → absfuyu-6.1.2.dist-info}/WHEEL +1 -1
  99. absfuyu/extra/data_analysis.py +0 -21
  100. absfuyu-5.6.1.dist-info/RECORD +0 -79
  101. {absfuyu-5.6.1.dist-info → absfuyu-6.1.2.dist-info}/entry_points.txt +0 -0
  102. {absfuyu-5.6.1.dist-info → absfuyu-6.1.2.dist-info}/licenses/LICENSE +0 -0
absfuyu/version.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Version
3
3
  ----------------
4
4
  Package versioning module
5
5
 
6
- Version: 5.6.1
7
- Date updated: 12/09/2025 (dd/mm/yyyy)
6
+ Version: 6.1.1
7
+ Date updated: 30/12/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -31,7 +31,7 @@ from urllib.error import URLError
31
31
  from urllib.request import Request, urlopen
32
32
 
33
33
  from absfuyu.core import BaseClass
34
- from absfuyu.logger import logger
34
+ from absfuyu.logger import LoggerMixin
35
35
 
36
36
 
37
37
  # Class
@@ -84,7 +84,7 @@ class VersionDictFormat(TypedDict):
84
84
  serial: int
85
85
 
86
86
 
87
- class Version(BaseClass):
87
+ class Version(LoggerMixin, BaseClass):
88
88
  """Version"""
89
89
 
90
90
  def __init__(
@@ -340,12 +340,12 @@ class Bumper(Version):
340
340
  """
341
341
  # Check conditions - use default values if fail
342
342
  if option not in ReleaseOption.all_option():
343
- logger.warning(f"Available option: {ReleaseOption.all_option()}")
343
+ self.logger.warning(f"Available option: {ReleaseOption.all_option()}")
344
344
  option = ReleaseOption.PATCH
345
345
  if channel not in ReleaseLevel.all_level():
346
- logger.warning(f"Available level: {ReleaseLevel.all_level()}")
346
+ self.logger.warning(f"Available level: {ReleaseLevel.all_level()}")
347
347
  channel = ReleaseLevel.FINAL
348
- logger.debug(f"Target: {option} {channel}")
348
+ self.logger.debug(f"Target: {option} {channel}")
349
349
 
350
350
  # Bump ver
351
351
  if channel.startswith(ReleaseLevel.FINAL): # Final release level
@@ -381,7 +381,7 @@ class Bumper(Version):
381
381
  self._bump_ver(option)
382
382
 
383
383
 
384
- class PkgVersion:
384
+ class PkgVersion(LoggerMixin):
385
385
  """
386
386
  Package Version
387
387
  """
@@ -390,8 +390,7 @@ class PkgVersion:
390
390
  self.package_name = package_name
391
391
 
392
392
  # Check for update
393
- @staticmethod
394
- def _fetch_data_from_server(link: str):
393
+ def _fetch_data_from_server(self, link: str):
395
394
  """Fetch data from API"""
396
395
  req = Request(link)
397
396
  try:
@@ -399,13 +398,13 @@ class PkgVersion:
399
398
  # return response
400
399
  except URLError as e:
401
400
  if hasattr(e, "reason"):
402
- logger.error("Failed to reach server.")
403
- logger.error("Reason: ", e.reason)
401
+ self.logger.error("Failed to reach server.")
402
+ self.logger.error("Reason: ", e.reason)
404
403
  elif hasattr(e, "code"):
405
- logger.error("The server couldn't fulfill the request.")
406
- logger.error("Error code: ", e.code)
404
+ self.logger.error("The server couldn't fulfill the request.")
405
+ self.logger.error("Error code: ", e.code)
407
406
  except Exception:
408
- logger.error("Fetch failed!")
407
+ self.logger.error("Fetch failed!")
409
408
  else:
410
409
  return response.read().decode()
411
410
 
@@ -440,15 +439,19 @@ class PkgVersion:
440
439
  """
441
440
  link = f"https://pypi.org/pypi/{self.package_name}/json"
442
441
  ver: str = self._load_data_from_json(link)["info"]["version"]
443
- logger.debug(f"Latest: {ver}")
442
+ self.logger.debug(f"Latest: {ver}")
444
443
  return ver
445
444
 
446
445
  def _get_update(self):
447
446
  """
448
447
  Run pip upgrade command
449
448
  """
450
- cmd = f"pip install -U {self.package_name}".split()
451
- return subprocess.run(cmd)
449
+ try:
450
+ cmd = f"pip install -U {self.package_name}".split()
451
+ return subprocess.run(cmd)
452
+ except Exception:
453
+ cmd = f"python -m pip install -U {self.package_name}".split()
454
+ return subprocess.run(cmd)
452
455
 
453
456
  def check_for_update(
454
457
  self,
@@ -475,7 +478,7 @@ class PkgVersion:
475
478
  except Exception:
476
479
  current = ""
477
480
 
478
- logger.debug(f"Current: {current} | Lastest: {latest}")
481
+ self.logger.debug(f"Current: {current} | Lastest: {latest}")
479
482
 
480
483
  if current == latest:
481
484
  print(f"You are using the latest version ({latest})")
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: absfuyu
3
- Version: 5.6.1
3
+ Version: 6.1.2
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,22 +18,22 @@ 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.11
22
21
  Classifier: Programming Language :: Python :: 3.12
23
22
  Classifier: Programming Language :: Python :: 3.13
23
+ Classifier: Programming Language :: Python :: 3.14
24
24
  Classifier: Topic :: Software Development :: Libraries
25
25
  Classifier: Topic :: Software Development :: Libraries :: Python Modules
26
26
  Classifier: Topic :: Utilities
27
- Requires-Python: <4,>=3.11
28
- Requires-Dist: bs4
27
+ Requires-Python: <4,>=3.12
29
28
  Requires-Dist: click>=8.0.0
30
29
  Requires-Dist: colorama
31
- Requires-Dist: requests
32
30
  Provides-Extra: beautiful
33
31
  Requires-Dist: rich; extra == 'beautiful'
34
- Provides-Extra: dev
35
- Requires-Dist: hatch; extra == 'dev'
36
- Requires-Dist: pytest; extra == 'dev'
32
+ Provides-Extra: dadf
33
+ Requires-Dist: numpy; extra == 'dadf'
34
+ Requires-Dist: openpyxl; extra == 'dadf'
35
+ Requires-Dist: pandas; extra == 'dadf'
36
+ Requires-Dist: xlsxwriter; extra == 'dadf'
37
37
  Provides-Extra: docs
38
38
  Requires-Dist: numpy; extra == 'docs'
39
39
  Requires-Dist: pandas; extra == 'docs'
@@ -43,15 +43,44 @@ Provides-Extra: extra
43
43
  Requires-Dist: numpy; extra == 'extra'
44
44
  Requires-Dist: openpyxl; extra == 'extra'
45
45
  Requires-Dist: pandas; extra == 'extra'
46
+ Requires-Dist: pillow; extra == 'extra'
46
47
  Requires-Dist: spire-pdf; extra == 'extra'
48
+ Requires-Dist: xlsxwriter; extra == 'extra'
49
+ Requires-Dist: xmltodict; extra == 'extra'
47
50
  Provides-Extra: full
51
+ Requires-Dist: bs4; extra == 'full'
52
+ Requires-Dist: defusedxml; extra == 'full'
53
+ Requires-Dist: google-api-python-client>=2.187.0; extra == 'full'
54
+ Requires-Dist: google-auth>=2.45.0; extra == 'full'
55
+ Requires-Dist: imagehash; extra == 'full'
48
56
  Requires-Dist: numpy; extra == 'full'
57
+ Requires-Dist: olefile; extra == 'full'
49
58
  Requires-Dist: openpyxl; extra == 'full'
50
59
  Requires-Dist: pandas; extra == 'full'
60
+ Requires-Dist: pillow; extra == 'full'
61
+ Requires-Dist: pillow-heif; extra == 'full'
62
+ Requires-Dist: rclone-crypt; extra == 'full'
63
+ Requires-Dist: requests; extra == 'full'
51
64
  Requires-Dist: rich; extra == 'full'
52
65
  Requires-Dist: spire-pdf; extra == 'full'
53
66
  Requires-Dist: tqdm; extra == 'full'
54
67
  Requires-Dist: unidecode; extra == 'full'
68
+ Requires-Dist: xlsxwriter; extra == 'full'
69
+ Requires-Dist: xmltodict; extra == 'full'
70
+ Provides-Extra: ggapi
71
+ Requires-Dist: google-api-python-client; extra == 'ggapi'
72
+ Requires-Dist: google-auth; extra == 'ggapi'
73
+ Requires-Dist: requests; extra == 'ggapi'
74
+ Provides-Extra: pdf
75
+ Requires-Dist: spire-pdf; extra == 'pdf'
76
+ Provides-Extra: pic
77
+ Requires-Dist: defusedxml; extra == 'pic'
78
+ Requires-Dist: imagehash; extra == 'pic'
79
+ Requires-Dist: pillow; extra == 'pic'
80
+ Provides-Extra: rclone
81
+ Requires-Dist: rclone-crypt; extra == 'rclone'
82
+ Provides-Extra: xml
83
+ Requires-Dist: xmltodict; extra == 'xml'
55
84
  Description-Content-Type: text/markdown
56
85
 
57
86
  <div align="center">
@@ -0,0 +1,105 @@
1
+ absfuyu/__init__.py,sha256=LrtRarCi8OX3rwpmMLk_SrLrlOoDYPBU7FUpKORXao4,632
2
+ absfuyu/__main__.py,sha256=dS_wTwII035popUqt21jRvWivpxTNrb9mfVCB-xKajw,595
3
+ absfuyu/logger.py,sha256=wJ3xtrAjh0NHR35DwgjOQTz8P91KqZiJ-j7W_2eTWQM,36312
4
+ absfuyu/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
+ absfuyu/sort.py,sha256=DJtlloXMLh41Rm4X3IuuyT4Bid8eTYgjPFOQxEODlhk,3268
6
+ absfuyu/typings.py,sha256=Dqczu9_YLizDy2cGq6sbToHvPqRUIm9mwKV_X3G-drM,4645
7
+ absfuyu/version.py,sha256=TzUxU0Mq_wLggPvZYjcroByTqVR5dIdPUwWRoLqc_p0,14722
8
+ absfuyu/cli/__init__.py,sha256=MRUsAt9rfIBAaPPlP1o0HDwR2XJTtlsMUgQO6Xy2lMk,1526
9
+ absfuyu/cli/audio_group.py,sha256=wmb0L3bzcWyFPkDI5MKmCBfFlaaJDuwdCpZoUQCtf2Y,2516
10
+ absfuyu/cli/color.py,sha256=kGJoySQPjlezpbwLRv5hvMWYtX311364cHV_gVHtapk,1139
11
+ absfuyu/cli/config_group.py,sha256=51seuQrpoMHytL6-pn7kpQ0xUtIUn8okKiq-WNES_go,1505
12
+ absfuyu/cli/do_group.py,sha256=56swhJ1_tWxg9hnxM7QGHrjLh0324IPVFT--p3qx3Lo,2720
13
+ absfuyu/cli/game_group.py,sha256=xSJXlDVO7-KajFWuVIjGogpKdOm8rd3OP4N9P0CWBVs,3016
14
+ absfuyu/cli/tool_group.py,sha256=eyMCPMr6XktNIxEFjYhWz6NvMF26IsuNe7ziop1QdCU,5192
15
+ absfuyu/config/__init__.py,sha256=2rzeDF3yQXHwpf1YtVamX-QK4sjx799gUa8eMGyv49s,8253
16
+ absfuyu/config/config.json,sha256=-ZQnmDuLq0aAFfsrQbSNR3tq5k9Eu9IVUQgYD9htIQM,646
17
+ absfuyu/core/__init__.py,sha256=ntGkKWzW9_n5_Me33ya9vogrbYb7n-XNMTB4xFz4G6o,1300
18
+ absfuyu/core/baseclass.py,sha256=YsAKfU8dEWHxHQQt7-TghfpQ1jEB6QBusgZs773YRXs,37016
19
+ absfuyu/core/baseclass2.py,sha256=MWbrwQANsSIYkfS2RYZi8Wbv-_XUoXgh5w-1WTCfTxY,6338
20
+ absfuyu/core/decorator.py,sha256=JoswEI4sS5fqg-SSsPrfYgtF066-XiGn2SckS4QnCsE,4176
21
+ absfuyu/core/docstring.py,sha256=_dK_bXMshWsEMZ1oYdMP0F4LuuyfvVGxe5TRsTMJJzQ,5916
22
+ absfuyu/core/dummy_cli.py,sha256=c4CbV5cJV0IFi8mgrAdE726QXXfduj9kxt6_IesqlTo,1877
23
+ absfuyu/core/dummy_func.py,sha256=WM10EivEA5rYb3rgCjB5g8oQDPD5IDCW_LczXSoHJ0o,1426
24
+ absfuyu/dxt/__init__.py,sha256=KTQVVEr1IjOrgepuvCr0hJTjlgnSl4B3fx3Y3BNzeBU,986
25
+ absfuyu/dxt/base_type.py,sha256=wDqjd_zZllW773rhz-YdGizHup3CYNkZMMxLB08Eyys,2815
26
+ absfuyu/dxt/dictext.py,sha256=ufOljeEory6Qw0NITqjbmDW5WrN2IjDUkhvgqBUcXxU,12267
27
+ absfuyu/dxt/dxt_support.py,sha256=cV1vQB6_xI3fY86M30c2TYmEwv730a6fKOhuBjNI6OE,2109
28
+ absfuyu/dxt/intext.py,sha256=OXbFuAA2WmAzjpAcFwFNP-NoDlx3VtdHU-eI7XTuy5Y,19805
29
+ absfuyu/dxt/listext.py,sha256=jtHr3OOngqsTkQoxmNQFIyBinYk1IXq2C8L6xDbpz48,36838
30
+ absfuyu/dxt/strext.py,sha256=gfN11_GZFYklBsWCAgNXr6Fr0opVHZ5Q1V8-U_o47No,16275
31
+ absfuyu/extra/__init__.py,sha256=Z052dILT65vdSQVx2FRKRSzH0Prb_edGzWx926Nzzcc,182
32
+ absfuyu/extra/beautiful.py,sha256=YNXyuHBjKeaGeQUJ4okFCjROl8FqNYCHZNSJ3cYFYhY,8137
33
+ absfuyu/extra/pdf.py,sha256=YlGTXwwFWjn22nk6bmxYarkLQfPBp7DR8qm5X9HSm_E,2481
34
+ absfuyu/extra/rclone.py,sha256=0qwroIXU0AVNWFgDJpW6VRX17XE5_2rcZgJrd4uMhc8,8484
35
+ absfuyu/extra/xml.py,sha256=GCcwubQNLllrB25Oj5WlWKjw5WLV0A1aIb7JWZ1vyN4,2157
36
+ absfuyu/extra/audio/__init__.py,sha256=wBVRuCp9Sfx3tuDTTJq5u9CgAWVfiOH-8tY_LiJgLWo,114
37
+ absfuyu/extra/audio/_util.py,sha256=Wwy4nLqD--Kz06EgMcqYl7QTxqi0Lv-97XHq5M3oWgg,1451
38
+ absfuyu/extra/audio/convert.py,sha256=hCIAGtZJTm5tqjnA_Jyr4RXBbuzw_5oNjjCd3WewzZs,5771
39
+ absfuyu/extra/audio/lossless.py,sha256=xXD22N6zCxwIV5L3sy1YUWu4sN_Kk7sq9K-4GZYwV2Y,8295
40
+ absfuyu/extra/da/__init__.py,sha256=xm-qHpMa3mOx4DUlg_7EhVm-u7kQ9wOqonS6_i2Oe0g,1886
41
+ absfuyu/extra/da/dadf.py,sha256=3ZL4VSeAoSzcgeYLfbECLuPtr2-Ic6P2pseot91_5wk,53364
42
+ absfuyu/extra/da/dadf_base.py,sha256=_DhhJ6NyS4TAljMkj6cSHIpi-8MfocOHmtlz9bod2fI,5167
43
+ absfuyu/extra/da/df_func.py,sha256=_ubTdzDNKg4b0Z4U9H6rW4D3oG5wWjdXWHknK8v_wi0,5021
44
+ absfuyu/extra/da/mplt.py,sha256=pyZ12SC3OQzdGYIVIH8oKIiqYw_FWEpEvZr3OWruoa0,6305
45
+ absfuyu/extra/ggapi/__init__.py,sha256=c2Mf-QEvSVTshB1wnXN9qip3yqo_shbd2jgW7YZWH54,129
46
+ absfuyu/extra/ggapi/gdrive.py,sha256=j5MNWQJNOrFn1pTFOzttazyj1C8PSt2zYgryh_ZH79g,7204
47
+ absfuyu/extra/ggapi/glicense.py,sha256=r-xSdcA1q2DaJmiL20jiT9wS96VAi78BCiNJNq2yip4,4343
48
+ absfuyu/extra/ggapi/glicense_df.py,sha256=_VwaF1W3NXbz1mFpLNS-POPDLwmsKJsCCKm1RXWJ9Us,5376
49
+ absfuyu/extra/ggapi/gsheet.py,sha256=c1rrQWFO-f1fbh0r7S0vKSkZ1OG64aMX2LUB8hf_IoY,2418
50
+ absfuyu/extra/img/__init__.py,sha256=eGAKT6OzQThELwO7GKmqB1K0Scp7abOfSC5VGZC1ESQ,782
51
+ absfuyu/extra/img/converter.py,sha256=kFIUR5WKeaKqjpv_gFfhTNTY8X_rHjLBHQ8kCSS7XBM,11704
52
+ absfuyu/extra/img/dup_check.py,sha256=uB0KEHzsjq_8309UI-Cnx71alGJk0mfmvdizZhdT0M4,9352
53
+ absfuyu/fun/__init__.py,sha256=4xXXs9ckW_2xtgFka9qu2XUIFWO7LIR3MWN5-4NVn6M,5129
54
+ absfuyu/fun/rubik.py,sha256=Hd7Jgn3O05-ZtndpDnMkNFv5HuhLayS2wmwu2pTKwqw,29677
55
+ absfuyu/fun/tarot.py,sha256=u2Sb_efur0KqkTKEOCuTk_EUUZckrd8ZXbjg8t8OF5Q,2401
56
+ absfuyu/game/__init__.py,sha256=s2fLQY5IXwZgrm1y-L6IKQ8BFmGVk3euhHEBS93J9lc,4691
57
+ absfuyu/game/game_stat.py,sha256=yG-FPxqPEHgTdvsvnpt76qeNOJ3JkZbam_Mlaz6mndA,1236
58
+ absfuyu/game/schulte.py,sha256=Tnlmz1DtqHjXGr45GC1AZg7OVm_u0eLc0kKyqfeb1B0,2705
59
+ absfuyu/game/sudoku.py,sha256=JN2uVlYLeng1MoH7Sm2TEPhRG9-X3QmqebPRhd4Hink,10405
60
+ absfuyu/game/tictactoe.py,sha256=sUMlX7j1jy8gripv2rvt5COy7UHkJHD3aNpoDKk5eYo,9958
61
+ absfuyu/game/wordle.py,sha256=ECRPHl6WiLVmijWWTwRBoAQvHuB5XEX7xjLncE4QNWQ,101683
62
+ absfuyu/general/__init__.py,sha256=mhILgSk2yZkr-z5ZhgUbLoQB81O-3jrgWovX30c5yNQ,472
63
+ absfuyu/general/content.py,sha256=UjwUwp0VaNud3aciWq9-MuDOxXQHOjRHsxn4DtjATus,17124
64
+ absfuyu/general/human.py,sha256=P04XLzIQqC43VdtH9ZohBp_7NPfEqDVbTdItW6yz_So,8099
65
+ absfuyu/general/resrel.py,sha256=i_BNDqEDTuYewPrQ8SFdnby4ONrTJgaNg1oAEBxHdzA,6132
66
+ absfuyu/general/shape.py,sha256=JiQA40x0OcPhk9jDqM8Ue0VyCd-2_dXliQPB10Sfcu0,38483
67
+ absfuyu/general/tax.py,sha256=FiVoZmUx1JKWL_DUv1UuF4_RvlFsNYrPz3WMD-0DWO4,11133
68
+ absfuyu/numbers/__init__.py,sha256=MTTEYSsj0TzeK8RFIoez3zREAtTaVkDpoT3-w4A6xdI,286
69
+ absfuyu/numbers/number_to_word.py,sha256=lJbPnJbdI8l7spoyzf0OciJQeDBJgvraslYt0GH5B0E,8113
70
+ absfuyu/numbers/shorten_number.py,sha256=K66Zj0vmkNZa7f8pVX5zBAlrbaHWDr8CIVeBP6Ai59M,8238
71
+ absfuyu/numbers/time_duration.py,sha256=VMGm1GC1NciuZdGUaYVh4qfppOJWBGQyfDMnNfiZTOA,6462
72
+ absfuyu/pkg_data/__init__.py,sha256=sbwefP-4nvzG8CffOoti_3wUmXAvSEAKN7m4LkQTiX0,5510
73
+ absfuyu/pkg_data/chemistry.pkl,sha256=kYWNa_PVffoDnzT8b9Jvimmf_GZshPe1D-SnEKERsLo,4655
74
+ absfuyu/pkg_data/deprecated.py,sha256=e68pgsHSNxHFV8kzfWm3gfFblfdGJiqZqL_IMjqgPSQ,4349
75
+ absfuyu/pkg_data/logo.py,sha256=fjjP6z2MLmadbvyuGdiXBNqL0HzIW_pT6X6LJTBXIy0,160798
76
+ absfuyu/pkg_data/passwordlib_lzma.pkl,sha256=rT5lJT8t42BATU5Cp2qFwbnZkbx-QlUgodSvR0wFY6I,891877
77
+ absfuyu/pkg_data/tarot.pkl,sha256=ssXTCC_BQgslO5F-3a9HivbxFQ6BioIe2E1frPVi2m0,56195
78
+ absfuyu/tools/__init__.py,sha256=uEBw44vS_XEWUjxQ07YFsXO8jn1uCZdAvwGkl2BzPV8,916
79
+ absfuyu/tools/checksum.py,sha256=Nwe8zH130dM6L-4vWWz2iXUGq1M8otv-aksd6TC6r8o,9336
80
+ absfuyu/tools/converter.py,sha256=A6bcnisBF6q0wfyEiFdiQ9KBxub_fZstAh643zyamYU,13566
81
+ absfuyu/tools/generator.py,sha256=aNmjOXHCXU2-D1eDM0qL1J29jDAWgOxFSMQWp1Jr0Po,13961
82
+ absfuyu/tools/inspector.py,sha256=j8lc5rwjFexODQjdXHBwb7va5tNKVo27BFYVLQVRBwU,23951
83
+ absfuyu/tools/keygen.py,sha256=mHU5v3MK2ayVGWtedaRHCHDyRQ56yZNhS2dAMLAqWyA,7115
84
+ absfuyu/tools/obfuscator.py,sha256=5H-8q-I2JOem7ChYuyilg2JkbQxFQM97dhxprDvR5iw,13671
85
+ absfuyu/tools/passwordlib.py,sha256=HvJ2g4xv0AjBSjVYmYzg8cRm2-Ab4viU1OSkefmBBm0,11080
86
+ absfuyu/tools/shutdownizer.py,sha256=TgOT0kvp9fNwWluqiHlqnfaO8QcwBDRl3eUefbHqb5I,8413
87
+ absfuyu/tools/sw.py,sha256=sA1H0Fk-6K7sXb3tXSURstj6b0CkD1PEGHfqoSUXTMs,21318
88
+ absfuyu/tools/web.py,sha256=vscU2RHkDBBY2gDmGugWgahuVSj4HzcBSSK2TpTbsgo,1108
89
+ absfuyu/util/__init__.py,sha256=iGLCzOgP-GoTo9wEUiGzoR8kBi8boyNg2OPVIBFFOxY,6618
90
+ absfuyu/util/api.py,sha256=kq8ZXDt1DJrlWgl-xJwfptqEK0YXWOVxrqndH3CQh1Q,4552
91
+ absfuyu/util/cli.py,sha256=-2YPA1HBGEDq3FmlT9blZqLjUYyASOGvGN_mzDxg6kU,3584
92
+ absfuyu/util/gui.py,sha256=ZVXR6YBAHwv8YNYxnJF4q5vi9NlxbKuvuuu-PXItzNo,2605
93
+ absfuyu/util/json_method.py,sha256=x6bFG2QK4HYqyB-kaI6mZfNz3ngziKtLPf3PBVYm1ok,2847
94
+ absfuyu/util/lunar.py,sha256=_uyV-hWENIzkRQv6JpNzQhgkeoI-PSZ6uFc9yx4IVb4,13630
95
+ absfuyu/util/package.py,sha256=gdnwMhmtD2t2DL4-M2jaPR8peOlLdTEDLc3dNoMavpM,3788
96
+ absfuyu/util/path.py,sha256=-78QSAvKtDiudb-jwjVSd44C6bs0fUwbZCor5oyqksE,32421
97
+ absfuyu/util/performance.py,sha256=_-kX_NxO4afKbgj7_259Wz5OW6GbMPalBBLQDdi4K8g,12094
98
+ absfuyu/util/shorten_number.py,sha256=3MxyQsiDQxaIW1N7B6yKJPVeJ5-gDWWsCWf8m-5fGus,14372
99
+ absfuyu/util/text_table.py,sha256=mg0hl6Ac25sthw-LxZ8iz-em0Q0uQAuaPYs2chfm1e4,13351
100
+ absfuyu/util/zipped.py,sha256=LxZ6FPXNBdSve3fBaklhRhp1ouGUdth1YU0ToH5hQQc,3042
101
+ absfuyu-6.1.2.dist-info/METADATA,sha256=U4MrYwCeegm3Av_RlqJOKlQ-XgXkUkGwGFg3SP0wSf4,6380
102
+ absfuyu-6.1.2.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
103
+ absfuyu-6.1.2.dist-info/entry_points.txt,sha256=bW5CgJRTTWJ2Pywojo07sf-YucRPcnHzMmETh5avbX0,79
104
+ absfuyu-6.1.2.dist-info/licenses/LICENSE,sha256=pFCHBSNSzdXwYG1AHpq7VcofI1NMQ1Fc77RzZ4Ln2O4,1097
105
+ absfuyu-6.1.2.dist-info/RECORD,,
@@ -1,4 +1,4 @@
1
1
  Wheel-Version: 1.0
2
- Generator: hatchling 1.27.0
2
+ Generator: hatchling 1.28.0
3
3
  Root-Is-Purelib: true
4
4
  Tag: py3-none-any
@@ -1,21 +0,0 @@
1
- """
2
- Absfuyu: Data Analysis [W.I.P]
3
- ------------------------------
4
- Extension for ``pd.DataFrame``
5
- (deprecated)
6
-
7
- Version: 5.6.1
8
- Date updated: 12/09/2025 (dd/mm/yyyy)
9
- """
10
-
11
- # Library
12
- # ---------------------------------------------------------------------------
13
- from absfuyu.extra.da.dadf import DADF # noqa
14
- from absfuyu.extra.da.df_func import ( # noqa
15
- compare_2_list,
16
- equalize_df,
17
- rename_with_dict,
18
- )
19
-
20
- # Class - DA
21
- # TODO: drop dups | Combine: row with data, row NaN
@@ -1,79 +0,0 @@
1
- absfuyu/__init__.py,sha256=LZYaNnpeHmM1Z4lFCIlsw9ewfJlhPw57F1Vl-ydIHZ4,600
2
- absfuyu/__main__.py,sha256=CuRabYC8RczaQci0bYXljT-E1uEEsF4Ft7Sm3fKsxFs,595
3
- absfuyu/logger.py,sha256=VaRaIFiPhLFQRD0oieVsCJfF8diutey_2a4K_LpEfsM,13043
4
- absfuyu/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
5
- absfuyu/sort.py,sha256=JAXWRcOc3bipmnNITyMIEDWO5SCN0giha9oDSQp8ICQ,3250
6
- absfuyu/typings.py,sha256=-3lwd9vRweAA-_ldSXpPcqBxlaKLQrGIy8pu9Z510Po,4662
7
- absfuyu/version.py,sha256=QcZYWPUVnX6z-wA6pWOUGg_NlDasAw15h-l2L5ssSw4,14490
8
- absfuyu/cli/__init__.py,sha256=R42wlC5lEvSNXZfE2axz7bHmpcOC9-_Py0JmUR8_4Mw,1181
9
- absfuyu/cli/color.py,sha256=DE3IpT0xsLHfmfex8HKCEll7iJ4qFTLHdH5Jdf7h_SM,1139
10
- absfuyu/cli/config_group.py,sha256=4Uofm7JF9kNgkWMxFnxq-Fxr5MuUU-hKgTy79OGIiXQ,1505
11
- absfuyu/cli/do_group.py,sha256=EfWsbh-SshDx_C3OwUl_6Z_zuNEX1mijKstXrsdypcs,2720
12
- absfuyu/cli/game_group.py,sha256=aUgB1gmHXGOMZShMosQqQ4-oKlgWZhVGNV8GsLWYb7s,2623
13
- absfuyu/cli/tool_group.py,sha256=MgnAOtO6XZ_kv_QEO3Mv0ExPlVzdRi-mduxlrkef1Y4,3416
14
- absfuyu/config/__init__.py,sha256=7W9ka_lg1lrMTNTe2NfZA-1AS5D-e41xjwt2Ec-5axg,8238
15
- absfuyu/config/config.json,sha256=-ZQnmDuLq0aAFfsrQbSNR3tq5k9Eu9IVUQgYD9htIQM,646
16
- absfuyu/core/__init__.py,sha256=2VFyLmb9IUrd8w6kxPTxjYD-r_VXVs3jqg1Gz3KAZiA,1188
17
- absfuyu/core/baseclass.py,sha256=AXrvGywG5tuUVEnPgAX8SVeOn83IoQaxskQ59F4Z3x0,34824
18
- absfuyu/core/baseclass2.py,sha256=GUjP9btg-u-0ISUN1zJ9SRPRxvIs1BO751LJLOyazbg,5367
19
- absfuyu/core/decorator.py,sha256=os6i8RrHZAnKzoewwTYX6a4W7xOu2VSJwwY73NJm6tg,4176
20
- absfuyu/core/docstring.py,sha256=gCoT7CRCIuTrZgAQcwssHtub3HwDOlqNYlNEcH_c7R4,5791
21
- absfuyu/core/dummy_cli.py,sha256=5M7EQP6xdp8xECQtT54pxccgkBMidnNrKySSQF6xn4I,1884
22
- absfuyu/core/dummy_func.py,sha256=8yRszaIGIb9Aiics4oYFMEpzMrBvuQRGZ9zzFnmNiqc,1426
23
- absfuyu/dxt/__init__.py,sha256=aPyV8uPDTB7kr_wRpwOBnZjJceuVdM2-y9uMBonx2P8,986
24
- absfuyu/dxt/dictext.py,sha256=GOc6si99-qr52nu0GLvMgu9QH6J9_dvhMl5gNNsaWGY,6227
25
- absfuyu/dxt/dxt_support.py,sha256=MGTBgtx_hYbcjq854RQbzKTFNDCwz78sXXLt_Bd7m-w,2109
26
- absfuyu/dxt/intext.py,sha256=bD2ySO6DtYFH7BUVBEECPwVVSOK0v7rRyvenIRUY8BI,17837
27
- absfuyu/dxt/listext.py,sha256=tYPxfuqMed-K4uoGlbHrmAbs2l29doxbpVk2ByUyE7M,24497
28
- absfuyu/dxt/strext.py,sha256=fWq86Q4wHWPyZlg_DRHQyeusvWGsXJ3OnTMDUo6GbJs,16275
29
- absfuyu/extra/__init__.py,sha256=LaF_SKJ-EdkoxZMPgt2kAzBwE39Sv5V5aX3fIyF-MR4,182
30
- absfuyu/extra/beautiful.py,sha256=lWokDImKo_XsrH6-4cGMeuSvLCRpG1x2bPfNSfjpxwE,8137
31
- absfuyu/extra/data_analysis.py,sha256=eTX7YNMEtLHvwzWUdtrK7zuxdP_89NwjCkWKRSv7I2U,499
32
- absfuyu/extra/pdf.py,sha256=enx84SqQG2LpnPedNBcIcFXHWxjIGU6Zcyp3T4O4KY4,2487
33
- absfuyu/extra/da/__init__.py,sha256=p8OcNabjseGvbA4w-3-n8agMU5rRv6rq10WhGg3EeTI,929
34
- absfuyu/extra/da/dadf.py,sha256=OVBS2Yiqs7tI8_ojHH1uUv7FMwc2U0QGZpvKgp2P4So,39138
35
- absfuyu/extra/da/dadf_base.py,sha256=dLQTGPnImIEeuFksWaUAGpB_PdD00CdUNKFcI4bzhxU,5167
36
- absfuyu/extra/da/df_func.py,sha256=2m5V5_Rci8eHWYVWGTVywsXsXfoykrOrprAG3XJPzNc,2524
37
- absfuyu/extra/da/mplt.py,sha256=0nxBepyigm1rz_xdvhRueYr5YGMB7bcMpIQfXC1hfvk,6305
38
- absfuyu/fun/__init__.py,sha256=RkSsJC0ivn7oyle0AAsNHSU2OF85OJJRVsD2Kqc0t4s,5605
39
- absfuyu/fun/rubik.py,sha256=el0sVphAidZ9LUfCXq7dBs48Rj1zMf60HARVgzyTfuc,29677
40
- absfuyu/fun/tarot.py,sha256=5Mrovziqdy2v9lcZNa27po0jN8q0al4eOpJjuIWyK1c,2401
41
- absfuyu/game/__init__.py,sha256=8EE_DNgl02CA5rOmcNUNOE1PvenzgNvmPv8Hp1jkNfw,4691
42
- absfuyu/game/game_stat.py,sha256=TEvYXS7mmQaSrl9lNHjUhUcvNT8GfYbdG72DMxi7r3k,1236
43
- absfuyu/game/sudoku.py,sha256=K7KkJ7BnvBAyjxj7_fWyZ9gi8kXeHuiI8TSJSP2gJyk,10405
44
- absfuyu/game/tictactoe.py,sha256=kUPgS9h_evYB3NLPcbhbiLC0fnEDfj2KpMjo1PiXGJ8,9958
45
- absfuyu/game/wordle.py,sha256=9vi8N9FM7IxF7yNg-50XgMVgPNJNgy1CTX1PdhgOFLc,101576
46
- absfuyu/general/__init__.py,sha256=vaOI6CvMZm9_aQWYXGDk14Of0dGOPCYSA4XdCpJOGXQ,472
47
- absfuyu/general/content.py,sha256=fAcRCLRmggifLertg8ZWGpg5FF0WGcZKJSmWUkx-N9k,17124
48
- absfuyu/general/human.py,sha256=VBHHXUrmQn8Z31PeyYtmMeV9UL752wM6I8fOM6BpeWQ,8099
49
- absfuyu/general/shape.py,sha256=fhdfMcI7Ma3APlBcfHnyB4GyNthl44BKeStf3V2_wto,38619
50
- absfuyu/pkg_data/__init__.py,sha256=Y1B2G64aO54ShE9IzB2QKZgBVIKhKRdBYeAPUXG5TBU,5510
51
- absfuyu/pkg_data/chemistry.pkl,sha256=kYWNa_PVffoDnzT8b9Jvimmf_GZshPe1D-SnEKERsLo,4655
52
- absfuyu/pkg_data/deprecated.py,sha256=QmgP3IeRTpqlSoKR4w0wKA6OWNY9v2Ui40XK51SHWK0,4349
53
- absfuyu/pkg_data/passwordlib_lzma.pkl,sha256=rT5lJT8t42BATU5Cp2qFwbnZkbx-QlUgodSvR0wFY6I,891877
54
- absfuyu/pkg_data/tarot.pkl,sha256=ssXTCC_BQgslO5F-3a9HivbxFQ6BioIe2E1frPVi2m0,56195
55
- absfuyu/tools/__init__.py,sha256=FUvtstBFoUKtVvPRTQqbhyXB_J4YUA6x7Sp103Nb78A,916
56
- absfuyu/tools/checksum.py,sha256=eusP_vc7IT8a0Z-XKSwMhT6wVkgvUJCrgvH9wGS5j9o,5666
57
- absfuyu/tools/converter.py,sha256=YYp_iYpjF0l3eIZLa4w2kygeIadx1Z92E1XOAa9QOO8,13566
58
- absfuyu/tools/generator.py,sha256=x8YLl8JML_2Le4tgXH-Jj_GOXDY5Onqb_fUa4qKAb_A,13475
59
- absfuyu/tools/inspector.py,sha256=NbGO6tuhdIRP8zNJP4SIJUVofgWhhFa9KiaeBS-IPoo,23951
60
- absfuyu/tools/keygen.py,sha256=ExTUDQbABLuwW5h3DUicuPh4iSogosAeWpkxytjNHHY,7115
61
- absfuyu/tools/obfuscator.py,sha256=AhFittffm6YCrhZPuUYvYMRFiNf_QGPyWTEuEUaeQvM,13671
62
- absfuyu/tools/passwordlib.py,sha256=xSLUJHEhVATPBS78OLA1AMLKqmV0RpHZUU0a76Lgf-c,11080
63
- absfuyu/tools/shutdownizer.py,sha256=71ih1xp6af-6Y0gzqbhKD1-H_ygmPwHQvUZ4FqwYCeg,8549
64
- absfuyu/tools/sw.py,sha256=wlh7HVs85imkuRq6rbfhzbo75ydkDr4zl9kKTaKm7NQ,15359
65
- absfuyu/tools/web.py,sha256=mdfDVr8G6qbFroF6OU9-jfDTzp1CxE9YlHh1qZo6Kbc,1240
66
- absfuyu/util/__init__.py,sha256=90zTjVJK7rKfPeDOxHnjbm5oOYMceycvWO9pk7SDel0,5989
67
- absfuyu/util/api.py,sha256=G1a9zSky-3PA3hIUiR8Fwiz21Zn6D70jp2YkMwMHW3w,4463
68
- absfuyu/util/json_method.py,sha256=A3mNJtl8zKah-9EFe8jaalSyYe1zQ5nBD9VEwzFqPIY,2847
69
- absfuyu/util/lunar.py,sha256=dLoVT-jITA7yK4FEVTyU7ptPHJt2Owm_klHHE6ZoZtE,13630
70
- absfuyu/util/path.py,sha256=236rDLyuOMFo_j5PUQB2XiCtNHChlD4BW-IA-cpjpBE,23973
71
- absfuyu/util/performance.py,sha256=zGyqTSYJN_ne1mqElqm0bVd0MJLNG7RF977xn7-FxFI,12094
72
- absfuyu/util/shorten_number.py,sha256=_mr_Bnk0C1dxWKibPFAMf9LPDvsSTawkUDUwPanhlnk,8312
73
- absfuyu/util/text_table.py,sha256=nFPH6k-OBCoi_MvQkWCKMHUrB3GErOuuLrPCml8tM_Y,13351
74
- absfuyu/util/zipped.py,sha256=ZvzfCgwNJHfiYMsIjmL2yggXvLSVvWJBsCF8n3olTgk,3042
75
- absfuyu-5.6.1.dist-info/METADATA,sha256=q3Gizrg9q-yfj2tP1pwIR1sJt_9Y384UK7zfw43TaPI,5176
76
- absfuyu-5.6.1.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
77
- absfuyu-5.6.1.dist-info/entry_points.txt,sha256=bW5CgJRTTWJ2Pywojo07sf-YucRPcnHzMmETh5avbX0,79
78
- absfuyu-5.6.1.dist-info/licenses/LICENSE,sha256=pFCHBSNSzdXwYG1AHpq7VcofI1NMQ1Fc77RzZ4Ln2O4,1097
79
- absfuyu-5.6.1.dist-info/RECORD,,