absfuyu 5.9.0__tar.gz → 5.11.0__tar.gz

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 (129) hide show
  1. {absfuyu-5.9.0 → absfuyu-5.11.0}/PKG-INFO +1 -1
  2. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/__init__.py +1 -1
  3. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/__main__.py +2 -2
  4. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/cli/__init__.py +2 -2
  5. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/cli/color.py +2 -2
  6. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/cli/config_group.py +2 -2
  7. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/cli/do_group.py +2 -2
  8. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/cli/game_group.py +20 -2
  9. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/cli/tool_group.py +2 -2
  10. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/config/__init__.py +2 -2
  11. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/core/__init__.py +2 -2
  12. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/core/baseclass.py +20 -3
  13. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/core/baseclass2.py +2 -2
  14. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/core/decorator.py +2 -2
  15. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/core/docstring.py +2 -2
  16. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/core/dummy_cli.py +2 -2
  17. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/core/dummy_func.py +2 -2
  18. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/dxt/__init__.py +2 -2
  19. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/dxt/dictext.py +2 -2
  20. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/dxt/dxt_support.py +2 -2
  21. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/dxt/intext.py +2 -2
  22. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/dxt/listext.py +13 -18
  23. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/dxt/strext.py +2 -2
  24. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/extra/__init__.py +2 -2
  25. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/extra/beautiful.py +2 -2
  26. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/extra/da/__init__.py +2 -2
  27. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/extra/da/dadf.py +2 -2
  28. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/extra/da/dadf_base.py +2 -2
  29. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/extra/da/df_func.py +2 -2
  30. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/extra/da/mplt.py +2 -2
  31. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/extra/data_analysis.py +2 -2
  32. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/extra/pdf.py +2 -2
  33. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/extra/rclone.py +2 -2
  34. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/extra/xml.py +2 -2
  35. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/fun/__init__.py +2 -2
  36. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/fun/rubik.py +2 -2
  37. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/fun/tarot.py +2 -2
  38. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/game/__init__.py +2 -2
  39. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/game/game_stat.py +2 -2
  40. absfuyu-5.11.0/src/absfuyu/game/schulte.py +78 -0
  41. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/game/sudoku.py +2 -2
  42. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/game/tictactoe.py +2 -2
  43. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/game/wordle.py +2 -2
  44. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/general/__init__.py +2 -2
  45. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/general/content.py +2 -2
  46. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/general/human.py +2 -2
  47. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/general/shape.py +2 -2
  48. absfuyu-5.11.0/src/absfuyu/general/tax.py +324 -0
  49. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/logger.py +2 -2
  50. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/pkg_data/__init__.py +2 -2
  51. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/pkg_data/deprecated.py +2 -2
  52. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/pkg_data/logo.py +2 -2
  53. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/sort.py +2 -2
  54. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/tools/__init__.py +2 -2
  55. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/tools/checksum.py +2 -2
  56. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/tools/converter.py +2 -2
  57. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/tools/generator.py +2 -2
  58. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/tools/inspector.py +2 -2
  59. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/tools/keygen.py +2 -2
  60. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/tools/obfuscator.py +2 -2
  61. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/tools/passwordlib.py +2 -2
  62. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/tools/shutdownizer.py +2 -2
  63. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/tools/sw.py +138 -7
  64. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/tools/web.py +2 -2
  65. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/typings.py +2 -2
  66. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/util/__init__.py +2 -2
  67. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/util/api.py +2 -2
  68. absfuyu-5.11.0/src/absfuyu/util/gui.py +91 -0
  69. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/util/json_method.py +2 -2
  70. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/util/lunar.py +2 -2
  71. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/util/path.py +2 -2
  72. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/util/performance.py +2 -2
  73. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/util/shorten_number.py +2 -2
  74. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/util/text_table.py +2 -2
  75. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/util/zipped.py +2 -2
  76. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/version.py +2 -2
  77. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/conftest.py +2 -2
  78. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_api.py +2 -2
  79. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_beautiful.py +2 -2
  80. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_config.py +2 -2
  81. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_converter.py +2 -2
  82. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_core.py +2 -2
  83. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_data_analysis.py +2 -2
  84. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_dictext.py +2 -2
  85. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_everything.py +2 -2
  86. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_extra.py +2 -2
  87. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_fun.py +2 -2
  88. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_game.py +2 -2
  89. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_generator.py +2 -2
  90. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_inspector.py +2 -2
  91. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_intext.py +2 -2
  92. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_listext.py +2 -2
  93. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_logger.py +2 -2
  94. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_obfuscator.py +2 -2
  95. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_passwordlib.py +2 -2
  96. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_performance.py +2 -2
  97. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_pkg_data.py +2 -2
  98. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_shape.py +2 -2
  99. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_shorten_number.py +2 -2
  100. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_strext.py +2 -2
  101. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_text_table.py +2 -2
  102. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_tools.py +2 -2
  103. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_util.py +2 -2
  104. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/test_version.py +2 -2
  105. absfuyu-5.9.0/src/absfuyu/util/gui.py +0 -32
  106. {absfuyu-5.9.0 → absfuyu-5.11.0}/.gitignore +0 -0
  107. {absfuyu-5.9.0 → absfuyu-5.11.0}/LICENSE +0 -0
  108. {absfuyu-5.9.0 → absfuyu-5.11.0}/README.md +0 -0
  109. {absfuyu-5.9.0 → absfuyu-5.11.0}/dev_requirements.txt +0 -0
  110. {absfuyu-5.9.0 → absfuyu-5.11.0}/docs/Makefile +0 -0
  111. {absfuyu-5.9.0 → absfuyu-5.11.0}/docs/_template/versioning.html +0 -0
  112. {absfuyu-5.9.0 → absfuyu-5.11.0}/docs/conf.py +0 -0
  113. {absfuyu-5.9.0 → absfuyu-5.11.0}/docs/index.rst +0 -0
  114. {absfuyu-5.9.0 → absfuyu-5.11.0}/docs/info.md +0 -0
  115. {absfuyu-5.9.0 → absfuyu-5.11.0}/docs/make.bat +0 -0
  116. {absfuyu-5.9.0 → absfuyu-5.11.0}/docs/modules.rst +0 -0
  117. {absfuyu-5.9.0 → absfuyu-5.11.0}/images/Logo Full.png +0 -0
  118. {absfuyu-5.9.0 → absfuyu-5.11.0}/images/Logo Square.png +0 -0
  119. {absfuyu-5.9.0 → absfuyu-5.11.0}/images/Logo White.png +0 -0
  120. {absfuyu-5.9.0 → absfuyu-5.11.0}/images/repository-image-crop.png +0 -0
  121. {absfuyu-5.9.0 → absfuyu-5.11.0}/images/repository-image-white.png +0 -0
  122. {absfuyu-5.9.0 → absfuyu-5.11.0}/images/repository-image.png +0 -0
  123. {absfuyu-5.9.0 → absfuyu-5.11.0}/pyproject.toml +0 -0
  124. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/config/config.json +0 -0
  125. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/pkg_data/chemistry.pkl +0 -0
  126. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/pkg_data/passwordlib_lzma.pkl +0 -0
  127. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/pkg_data/tarot.pkl +0 -0
  128. {absfuyu-5.9.0 → absfuyu-5.11.0}/src/absfuyu/py.typed +0 -0
  129. {absfuyu-5.9.0 → absfuyu-5.11.0}/tests/__init__.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.4
2
2
  Name: absfuyu
3
- Version: 5.9.0
3
+ Version: 5.11.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/
@@ -22,7 +22,7 @@ Using in cmd:
22
22
  __title__ = "absfuyu"
23
23
  __author__ = "AbsoluteWinter"
24
24
  __license__ = "MIT License"
25
- __version__ = "5.9.0"
25
+ __version__ = "5.11.0"
26
26
  __all__ = [
27
27
  "core",
28
28
  "config",
@@ -3,8 +3,8 @@ ABSFUYU
3
3
  -------
4
4
  COMMAND LINE INTERFACE
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Library
@@ -3,8 +3,8 @@ ABSFUYU
3
3
  -------
4
4
  COMMAND LINE INTERFACE
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  __all__ = ["cli"]
@@ -3,8 +3,8 @@ ABSFUYU CLI
3
3
  -----------
4
4
  Color
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -3,8 +3,8 @@ ABSFUYU CLI
3
3
  -----------
4
4
  Config
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -3,8 +3,8 @@ ABSFUYU CLI
3
3
  -----------
4
4
  Do
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -3,8 +3,8 @@ ABSFUYU CLI
3
3
  -----------
4
4
  Game
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -17,6 +17,7 @@ __all__ = ["game_group"]
17
17
  import click
18
18
 
19
19
  from absfuyu.game import game_escapeLoop, game_RockPaperScissors
20
+ from absfuyu.game.schulte import SchulteTable
20
21
  from absfuyu.game.sudoku import Sudoku
21
22
  from absfuyu.game.tictactoe import GameMode, TicTacToe
22
23
  from absfuyu.game.wordle import Wordle
@@ -103,6 +104,22 @@ def tictactoe(size: int, game_mode: str, bot_time: float) -> None:
103
104
  instance.play(game_mode, bot_time=bot_time)
104
105
 
105
106
 
107
+ @click.command(name="schulte")
108
+ @click.option(
109
+ "--size",
110
+ "-s",
111
+ "size",
112
+ type=int,
113
+ default=5,
114
+ show_default=True,
115
+ help="Size of the table",
116
+ )
117
+ def schulte_table(size: int) -> None:
118
+ """Schulte table"""
119
+ engine = SchulteTable(size=size)
120
+ engine.make_table()
121
+
122
+
106
123
  @click.group(name="game")
107
124
  def game_group() -> None:
108
125
  """Play game"""
@@ -114,3 +131,4 @@ game_group.add_command(escape_loop)
114
131
  game_group.add_command(wordle_solver)
115
132
  game_group.add_command(sudoku_solver)
116
133
  game_group.add_command(tictactoe)
134
+ game_group.add_command(schulte_table)
@@ -3,8 +3,8 @@ ABSFUYU CLI
3
3
  -----------
4
4
  Tool
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -3,8 +3,8 @@ Absfuyu: Configuration
3
3
  ----------------------
4
4
  Package configuration module
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Core
3
3
  -------------
4
4
  Bases for other features
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -3,8 +3,8 @@ Absfuyu: Core
3
3
  -------------
4
4
  Bases for other features
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 05/10/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -57,7 +57,8 @@ class BaseDataclass:
57
57
  Base dataclass.
58
58
 
59
59
  Contains util methods:
60
- - Get fields
60
+ - _get_fields
61
+ - to_dict
61
62
  """
62
63
 
63
64
  @classmethod
@@ -73,6 +74,22 @@ class BaseDataclass:
73
74
  _fields = getattr(cls, "__dataclass_fields__", ())
74
75
  return tuple(_fields)
75
76
 
77
+ # @versionadded("5.11.0")
78
+ def to_dict(self):
79
+ """
80
+ Convert dataclass into dict
81
+
82
+ Returns
83
+ -------
84
+ dict
85
+ Dataclass converted into dict
86
+ """
87
+ fields = self._get_fields()
88
+ output = {}
89
+ for field in fields:
90
+ output.__setitem__(field, self.__getattribute__(field))
91
+ return output
92
+
76
93
 
77
94
  # Support
78
95
  # ---------------------------------------------------------------------------
@@ -3,8 +3,8 @@ Absfuyu: Core
3
3
  -------------
4
4
  Bases for other features (with library)
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -3,8 +3,8 @@ Absfuyu: Core
3
3
  -------------
4
4
  Decorator
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -3,8 +3,8 @@ Absfuyu: Core
3
3
  -------------
4
4
  Sphinx docstring decorator
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -3,8 +3,8 @@ Absfuyu: Core
3
3
  -------------
4
4
  Dummy cli
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -3,8 +3,8 @@ Absfuyu: Core
3
3
  -------------
4
4
  Dummy functions when other libraries are unvailable
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -3,8 +3,8 @@ Absfuyu: Data Extension
3
3
  -----------------------
4
4
  Extension for data type such as ``list``, ``str``, ``dict``, ...
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
 
9
9
  Features:
10
10
  ---------
@@ -3,8 +3,8 @@ Absfuyu: Data Extension
3
3
  -----------------------
4
4
  dict extension
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -3,8 +3,8 @@ Absfuyu: Data Extension
3
3
  -----------------------
4
4
  Support classes
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -3,8 +3,8 @@ Absfuyu: Data Extension
3
3
  -----------------------
4
4
  int extension
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -3,8 +3,8 @@ Absfuyu: Data Extension
3
3
  -----------------------
4
4
  list extension
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -80,9 +80,7 @@ class ListExt(GetClassMembersMixin, list):
80
80
  >>> ListExt(range(10)).head(2)
81
81
  [0, 1]
82
82
  """
83
- number_of_items = int(
84
- set_min_max(number_of_items, min_value=0, max_value=len(self))
85
- )
83
+ number_of_items = int(set_min_max(number_of_items, min_value=0, max_value=len(self)))
86
84
  return self[:number_of_items]
87
85
 
88
86
  def tail(self, number_of_items: int = 5) -> list:
@@ -106,9 +104,7 @@ class ListExt(GetClassMembersMixin, list):
106
104
  >>> ListExt(range(10)).tail(2)
107
105
  [8, 9]
108
106
  """
109
- number_of_items = int(
110
- set_min_max(number_of_items, min_value=0, max_value=len(self))
111
- )
107
+ number_of_items = int(set_min_max(number_of_items, min_value=0, max_value=len(self)))
112
108
  return self[::-1][:number_of_items][::-1]
113
109
 
114
110
  # Misc
@@ -165,15 +161,13 @@ class ListExt(GetClassMembersMixin, list):
165
161
  type_weights[type(x)] = len(type_weights)
166
162
  # logger.debug(f"Type weight: {type_weights}")
167
163
 
168
- output = sorted(
169
- lst, key=lambda x: (type_weights[type(x)], str(x)), reverse=reverse
170
- )
164
+ output = sorted(lst, key=lambda x: (type_weights[type(x)], str(x)), reverse=reverse)
171
165
 
172
166
  # logger.debug(output)
173
167
  return self.__class__(output)
174
168
 
175
169
  @overload
176
- def freq(self) -> dict: ...
170
+ def freq(self) -> dict: ... # type: ignore
177
171
 
178
172
  @overload
179
173
  def freq(
@@ -256,9 +250,7 @@ class ListExt(GetClassMembersMixin, list):
256
250
  # logger.debug(times_appear)
257
251
 
258
252
  if appear_increment:
259
- times_appear_increment: list[int] = list(
260
- accumulate(times_appear.values(), operator.add)
261
- )
253
+ times_appear_increment: list[int] = list(accumulate(times_appear.values(), operator.add))
262
254
  # logger.debug(times_appear_increment)
263
255
  return times_appear_increment # incremental index list
264
256
  else:
@@ -459,6 +451,11 @@ class ListExt(GetClassMembersMixin, list):
459
451
  """
460
452
  return [self.pick_one() for _ in range(number_of_items)]
461
453
 
454
+ @versionadded("5.10.0")
455
+ def shuffle(self) -> Self:
456
+ random.shuffle(self)
457
+ return self
458
+
462
459
  # Len
463
460
  @versionchanged("5.2.0", reason="Handle more type")
464
461
  def len_items(self) -> Self:
@@ -857,9 +854,7 @@ class ListExt(GetClassMembersMixin, list):
857
854
  fill = " "
858
855
 
859
856
  # Calculate how many columns of text
860
- column_count = (
861
- max(1, available_width // max_item_length) if max_item_length > 0 else 1
862
- )
857
+ column_count = max(1, available_width // max_item_length) if max_item_length > 0 else 1
863
858
 
864
859
  # splitted_chunk: list[list[str]] = self.split_chunk(cols)
865
860
  # mod_chunk = self.__class__(
@@ -3,8 +3,8 @@ Absfuyu: Data Extension
3
3
  -----------------------
4
4
  str extension
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -3,8 +3,8 @@ Absfuyu: Extra
3
3
  --------------
4
4
  Features that require additional libraries
5
5
 
6
- Version: 5.9.0
7
- Date updated: 23/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
 
@@ -3,8 +3,8 @@ Absfuyu: Beautiful
3
3
  ------------------
4
4
  A decorator that makes output more beautiful
5
5
 
6
- Version: 5.9.0
7
- Date updated: 23/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Data Analysis
3
3
  ----------------------
4
4
  Data Analyst
5
5
 
6
- Version: 5.9.0
7
- Date updated: 23/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Data Analysis
3
3
  ----------------------
4
4
  Data Analyst DataFrame
5
5
 
6
- Version: 5.9.0
7
- Date updated: 23/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Data Analysis
3
3
  ----------------------
4
4
  Data Analyst DataFrame - Base/Core
5
5
 
6
- Version: 5.9.0
7
- Date updated: 23/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Data Analysis
3
3
  ----------------------
4
4
  DF Function
5
5
 
6
- Version: 5.9.0
7
- Date updated: 23/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Data Analysis
3
3
  ----------------------
4
4
  Matplotlib Helper
5
5
 
6
- Version: 5.9.0
7
- Date updated: 23/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -4,8 +4,8 @@ Absfuyu: Data Analysis [W.I.P]
4
4
  Extension for ``pd.DataFrame``
5
5
  (deprecated)
6
6
 
7
- Version: 5.9.0
8
- Date updated: 23/09/2025 (dd/mm/yyyy)
7
+ Version: 5.11.0
8
+ Date updated: 30/09/2025 (dd/mm/yyyy)
9
9
  """
10
10
 
11
11
  # Library
@@ -3,8 +3,8 @@ Absfuyu: PDF
3
3
  ------------
4
4
  PDF Tool [W.I.P]
5
5
 
6
- Version: 5.9.0
7
- Date updated: 23/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Rclone decrypt
3
3
  -----------------------
4
4
  Rclone decryptor
5
5
 
6
- Version: 5.9.0
7
- Date updated: 23/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: XML
3
3
  ------------
4
4
  XML Tool [W.I.P]
5
5
 
6
- Version: 5.9.0
7
- Date updated: 23/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Fun
3
3
  ------------
4
4
  Some fun or weird stuff
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Fun
3
3
  ------------
4
4
  Rubik
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
 
9
9
 
10
10
  Version added: 5.4.0
@@ -4,8 +4,8 @@ Absfuyu: Tarot
4
4
  Tarot stuff
5
5
 
6
6
 
7
- Version: 5.9.0
8
- Date updated: 19/09/2025 (dd/mm/yyyy)
7
+ Version: 5.11.0
8
+ Date updated: 30/09/2025 (dd/mm/yyyy)
9
9
 
10
10
  Usage:
11
11
  ------
@@ -3,8 +3,8 @@ Absfuyu: Game
3
3
  -------------
4
4
  Contain some game that can be played on terminal
5
5
 
6
- Version: 5.9.0
7
- Date updated: 19/09/2025 (dd/mm/yyyy)
6
+ Version: 5.11.0
7
+ Date updated: 30/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -1,8 +1,8 @@
1
1
  """
2
2
  Game: Game Stat
3
3
 
4
- Version: 5.9.0
5
- Date updated: 19/09/2025 (dd/mm/yyyy)
4
+ Version: 5.11.0
5
+ Date updated: 30/09/2025 (dd/mm/yyyy)
6
6
  """
7
7
 
8
8
  # Module level