absfuyu 5.8.0__py3-none-any.whl → 5.9.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 (79) hide show
  1. absfuyu/__init__.py +1 -1
  2. absfuyu/__main__.py +2 -2
  3. absfuyu/cli/__init__.py +2 -2
  4. absfuyu/cli/color.py +2 -2
  5. absfuyu/cli/config_group.py +2 -2
  6. absfuyu/cli/do_group.py +2 -2
  7. absfuyu/cli/game_group.py +2 -2
  8. absfuyu/cli/tool_group.py +2 -2
  9. absfuyu/config/__init__.py +2 -2
  10. absfuyu/core/__init__.py +2 -2
  11. absfuyu/core/baseclass.py +2 -2
  12. absfuyu/core/baseclass2.py +2 -2
  13. absfuyu/core/decorator.py +2 -2
  14. absfuyu/core/docstring.py +2 -2
  15. absfuyu/core/dummy_cli.py +2 -2
  16. absfuyu/core/dummy_func.py +2 -2
  17. absfuyu/dxt/__init__.py +2 -2
  18. absfuyu/dxt/dictext.py +2 -2
  19. absfuyu/dxt/dxt_support.py +2 -2
  20. absfuyu/dxt/intext.py +2 -2
  21. absfuyu/dxt/listext.py +2 -2
  22. absfuyu/dxt/strext.py +2 -2
  23. absfuyu/extra/__init__.py +2 -2
  24. absfuyu/extra/beautiful.py +2 -2
  25. absfuyu/extra/da/__init__.py +37 -3
  26. absfuyu/extra/da/dadf.py +2 -2
  27. absfuyu/extra/da/dadf_base.py +2 -2
  28. absfuyu/extra/da/df_func.py +2 -2
  29. absfuyu/extra/da/mplt.py +2 -2
  30. absfuyu/extra/data_analysis.py +2 -2
  31. absfuyu/extra/pdf.py +2 -2
  32. absfuyu/extra/rclone.py +253 -0
  33. absfuyu/extra/xml.py +2 -2
  34. absfuyu/fun/__init__.py +2 -2
  35. absfuyu/fun/rubik.py +2 -2
  36. absfuyu/fun/tarot.py +2 -2
  37. absfuyu/game/__init__.py +2 -2
  38. absfuyu/game/game_stat.py +2 -2
  39. absfuyu/game/sudoku.py +2 -2
  40. absfuyu/game/tictactoe.py +2 -2
  41. absfuyu/game/wordle.py +2 -2
  42. absfuyu/general/__init__.py +2 -2
  43. absfuyu/general/content.py +2 -2
  44. absfuyu/general/human.py +2 -2
  45. absfuyu/general/shape.py +2 -2
  46. absfuyu/logger.py +2 -2
  47. absfuyu/pkg_data/__init__.py +2 -2
  48. absfuyu/pkg_data/deprecated.py +2 -2
  49. absfuyu/pkg_data/logo.py +2 -2
  50. absfuyu/sort.py +2 -2
  51. absfuyu/tools/__init__.py +2 -2
  52. absfuyu/tools/checksum.py +2 -2
  53. absfuyu/tools/converter.py +2 -2
  54. absfuyu/tools/generator.py +2 -2
  55. absfuyu/tools/inspector.py +2 -2
  56. absfuyu/tools/keygen.py +2 -2
  57. absfuyu/tools/obfuscator.py +2 -2
  58. absfuyu/tools/passwordlib.py +2 -2
  59. absfuyu/tools/shutdownizer.py +2 -2
  60. absfuyu/tools/sw.py +76 -5
  61. absfuyu/tools/web.py +2 -2
  62. absfuyu/typings.py +2 -2
  63. absfuyu/util/__init__.py +31 -2
  64. absfuyu/util/api.py +2 -2
  65. absfuyu/util/gui.py +32 -0
  66. absfuyu/util/json_method.py +2 -2
  67. absfuyu/util/lunar.py +2 -2
  68. absfuyu/util/path.py +2 -2
  69. absfuyu/util/performance.py +2 -2
  70. absfuyu/util/shorten_number.py +2 -2
  71. absfuyu/util/text_table.py +2 -2
  72. absfuyu/util/zipped.py +2 -2
  73. absfuyu/version.py +2 -2
  74. {absfuyu-5.8.0.dist-info → absfuyu-5.9.0.dist-info}/METADATA +4 -1
  75. absfuyu-5.9.0.dist-info/RECORD +83 -0
  76. absfuyu-5.8.0.dist-info/RECORD +0 -81
  77. {absfuyu-5.8.0.dist-info → absfuyu-5.9.0.dist-info}/WHEEL +0 -0
  78. {absfuyu-5.8.0.dist-info → absfuyu-5.9.0.dist-info}/entry_points.txt +0 -0
  79. {absfuyu-5.8.0.dist-info → absfuyu-5.9.0.dist-info}/licenses/LICENSE +0 -0
absfuyu/extra/xml.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: XML
3
3
  ------------
4
4
  XML Tool [W.I.P]
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 23/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/fun/__init__.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Fun
3
3
  ------------
4
4
  Some fun or weird stuff
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/fun/rubik.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Fun
3
3
  ------------
4
4
  Rubik
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
 
9
9
 
10
10
  Version added: 5.4.0
absfuyu/fun/tarot.py CHANGED
@@ -4,8 +4,8 @@ Absfuyu: Tarot
4
4
  Tarot stuff
5
5
 
6
6
 
7
- Version: 5.8.0
8
- Date updated: 16/09/2025 (dd/mm/yyyy)
7
+ Version: 5.9.0
8
+ Date updated: 19/09/2025 (dd/mm/yyyy)
9
9
 
10
10
  Usage:
11
11
  ------
absfuyu/game/__init__.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Game
3
3
  -------------
4
4
  Contain some game that can be played on terminal
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/game/game_stat.py CHANGED
@@ -1,8 +1,8 @@
1
1
  """
2
2
  Game: Game Stat
3
3
 
4
- Version: 5.8.0
5
- Date updated: 16/09/2025 (dd/mm/yyyy)
4
+ Version: 5.9.0
5
+ Date updated: 19/09/2025 (dd/mm/yyyy)
6
6
  """
7
7
 
8
8
  # Module level
absfuyu/game/sudoku.py CHANGED
@@ -3,8 +3,8 @@ Game: Sudoku
3
3
  ------------
4
4
  Sudoku 9x9 Solver
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
 
9
9
  Credit:
10
10
  -------
absfuyu/game/tictactoe.py CHANGED
@@ -2,8 +2,8 @@
2
2
  Game: Tic Tac Toe
3
3
  -----------------
4
4
 
5
- Version: 5.8.0
6
- Date updated: 16/09/2025 (dd/mm/yyyy)
5
+ Version: 5.9.0
6
+ Date updated: 19/09/2025 (dd/mm/yyyy)
7
7
  """
8
8
 
9
9
  # Module level
absfuyu/game/wordle.py CHANGED
@@ -2,8 +2,8 @@
2
2
  Game: Wordle Solver
3
3
  -------------------
4
4
 
5
- Version: 5.8.0
6
- Date updated: 16/09/2025 (dd/mm/yyyy)
5
+ Version: 5.9.0
6
+ Date updated: 19/09/2025 (dd/mm/yyyy)
7
7
 
8
8
  Usage:
9
9
  ------
@@ -3,8 +3,8 @@ Absfuyu: General
3
3
  ----------------
4
4
  Collection of useful classes
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
 
9
9
  Features:
10
10
  ---------
@@ -3,8 +3,8 @@ Absfuyu: Content
3
3
  ----------------
4
4
  Handle .txt file
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
 
9
9
  Usage:
10
10
  ------
absfuyu/general/human.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Human
3
3
  --------------
4
4
  Human related stuff
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/general/shape.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Shape
3
3
  --------------
4
4
  Shapes
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/logger.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Logger
3
3
  ---------------
4
4
  Custom Logger Module
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
 
9
9
  Usage:
10
10
  ------
@@ -3,8 +3,8 @@ Absfuyu: Package data
3
3
  ---------------------
4
4
  Load package data
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Package data
3
3
  ---------------------
4
4
  Deprecated (but might have some use)
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Library
absfuyu/pkg_data/logo.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Logo
3
3
  -------------
4
4
  Absfuyu logo in base64 string for easy access
5
5
 
6
- Version: 5.8.0
7
- Date updated: 17/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  from enum import StrEnum
absfuyu/sort.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Sort
3
3
  -------------
4
4
  Sort Module
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/tools/__init__.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Tools
3
3
  --------------
4
4
  Some useful tools
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
absfuyu/tools/checksum.py CHANGED
@@ -3,8 +3,8 @@ Absufyu: Checksum
3
3
  -----------------
4
4
  Check MD5, SHA256, ...
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absufyu: Converter
3
3
  ------------------
4
4
  Convert stuff
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
 
9
9
  Feature:
10
10
  --------
@@ -3,8 +3,8 @@ Absfuyu: Generator
3
3
  ------------------
4
4
  This generate stuff (Not python's ``generator``)
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
 
9
9
  Features:
10
10
  ---------
@@ -3,8 +3,8 @@ Absfuyu: Inspector
3
3
  ------------------
4
4
  Inspector
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/tools/keygen.py CHANGED
@@ -5,8 +5,8 @@ Mod7 product key generator (90's)
5
5
 
6
6
  This is for educational and informative purposes only.
7
7
 
8
- Version: 5.8.0
9
- Date updated: 16/09/2025 (dd/mm/yyyy)
8
+ Version: 5.9.0
9
+ Date updated: 19/09/2025 (dd/mm/yyyy)
10
10
  """
11
11
 
12
12
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Obfuscator
3
3
  -------------------
4
4
  Obfuscate code
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Passwordlib
3
3
  --------------------
4
4
  Password library
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absfuyu: Shutdownizer
3
3
  ---------------------
4
4
  This shutdowns
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/tools/sw.py CHANGED
@@ -3,8 +3,8 @@ Absufyu: Software
3
3
  -----------------
4
4
  Software, pyinstaller related stuff
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 23/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -40,7 +40,7 @@ from pathlib import Path
40
40
  from typing import Literal, NamedTuple, TypedDict
41
41
 
42
42
  from absfuyu.core.baseclass import BaseClass
43
- from absfuyu.core.docstring import versionchanged
43
+ from absfuyu.core.docstring import versionadded, versionchanged
44
44
  from absfuyu.dxt import Text
45
45
  from absfuyu.tools.converter import Base64EncodeDecode
46
46
  from absfuyu.util import stop_after_day
@@ -474,6 +474,28 @@ class BasicSoftwareProtection(BaseClass):
474
474
  self._secret = secret
475
475
 
476
476
  def check_valid_license(self, generate_helper: bool = True) -> None:
477
+ """
478
+ Check for valid license
479
+ (``.zlic`` file in the same directory as the script that runs this code)
480
+
481
+ Parameters
482
+ ----------
483
+ generate_helper : bool, optional
484
+ Generate a helper file (``license.helper``),
485
+ which can be used to make license key,
486
+ by default ``True``
487
+
488
+ Raises
489
+ ------
490
+ SystemExit
491
+ License file not found!
492
+
493
+ SystemExit
494
+ Invalid license key format!
495
+
496
+ SystemExit
497
+ Invalid license!
498
+ """
477
499
  try:
478
500
  # Get license file
479
501
  license_file = list(self._cwd.glob("*.zlic"))[0]
@@ -501,14 +523,63 @@ class BasicSoftwareProtection(BaseClass):
501
523
  else: # Invalid license
502
524
  raise SystemExit("Invalid license!")
503
525
 
526
+ @versionadded("5.9.0")
527
+ def check_valid_license_gui(
528
+ self, title: str = "WARNING", message: str = "INVALID LICENSE!", generate_helper: bool = True
529
+ ) -> None:
530
+ """
531
+ Check for valid license
532
+ (``.zlic`` file in the same directory as the script that runs this code)
533
+ but will pop up a GUI when invalid license.
534
+
535
+ Parameters
536
+ ----------
537
+ title : str, optional
538
+ Title of the GUI, by default "WARNING"
539
+
540
+ message : str, optional
541
+ Message in the GUI, by default "INVALID LICENSE!"
542
+
543
+ generate_helper : bool, optional
544
+ Generate a helper file (``license.helper``),
545
+ which can be used to make license key,
546
+ by default ``True``
547
+
548
+ Raises
549
+ ------
550
+ SystemExit
551
+ Invalid license
552
+ """
553
+ try:
554
+ self.check_valid_license(generate_helper=generate_helper)
555
+ except SystemExit:
556
+ from tkinter import messagebox
557
+
558
+ messagebox.showwarning(title, message, icon="error")
559
+ raise SystemExit("Invalid license")
560
+
504
561
  # Make key
505
- def _make_key(self, name: str, expiry: str, secret: str):
562
+ def _make_key(self, name: str, expiry: str, secret: str) -> None:
563
+ """
564
+ Generate license key in the same directory as the script that runs this code.
565
+
566
+ Parameters
567
+ ----------
568
+ name : str
569
+ Name of license's holder
570
+
571
+ expiry : str
572
+ Expiry date in format "yyyy-mm-dd"
573
+
574
+ secret : str
575
+ Secret string
576
+ """
506
577
  path = self._cwd.joinpath("license.zlic")
507
578
  engine = LicenseKeySystem(name, expiry, secret)
508
579
  with path.open("w", encoding="utf-8") as f:
509
580
  f.write(engine.make_key())
510
581
 
511
- def generate_license_helper(self):
582
+ def generate_license_helper(self) -> None:
512
583
  """Gather HWID and make it into a file"""
513
584
  path = self._cwd.joinpath("license.helper")
514
585
  with path.open("w", encoding="utf-8") as f:
absfuyu/tools/web.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Web
3
3
  ------------
4
4
  Web, ``request``, ``BeautifulSoup`` stuff
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Library
absfuyu/typings.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Core
3
3
  -------------
4
4
  Pre-defined typing
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
absfuyu/util/__init__.py CHANGED
@@ -3,8 +3,8 @@ Absufyu: Utilities
3
3
  ------------------
4
4
  Some random utilities
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 23/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module Package
@@ -25,6 +25,7 @@ __all__ = [
25
25
  # Library
26
26
  # ---------------------------------------------------------------------------
27
27
  import pkgutil
28
+ import subprocess
28
29
  from datetime import datetime
29
30
  from string import printable
30
31
 
@@ -257,3 +258,31 @@ def convert_to_raw_unicode(text: str, partial: bool = True) -> str:
257
258
  character if character in character_set and partial else _convert(character)
258
259
  for character in text
259
260
  )
261
+
262
+
263
+ @versionadded("5.9.0")
264
+ def is_command_available(cmd: list[str] | str, err_msg: str = "") -> None:
265
+ """
266
+ Checks if the desired command available
267
+
268
+ Parameters
269
+ ----------
270
+ cmd : list[str] | str
271
+ Command to check
272
+
273
+ err_msg : str, optional
274
+ Custom error message, by default ""
275
+
276
+ Raises
277
+ ------
278
+ ValueError
279
+ When command is unvailable
280
+ """
281
+ try:
282
+ subprocess.run(
283
+ cmd,
284
+ stdout=subprocess.DEVNULL,
285
+ stderr=subprocess.DEVNULL,
286
+ )
287
+ except Exception:
288
+ raise ValueError(err_msg)
absfuyu/util/api.py CHANGED
@@ -3,8 +3,8 @@ Absufyu: API
3
3
  ------------
4
4
  Fetch data stuff
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/util/gui.py ADDED
@@ -0,0 +1,32 @@
1
+ """
2
+ Absfuyu: GUI
3
+ ------------
4
+ Custom tkinter GUI
5
+
6
+ Version: 5.9.0
7
+ Date updated: 23/09/2025 (dd/mm/yyyy)
8
+ """
9
+
10
+ # Module level
11
+ # ---------------------------------------------------------------------------
12
+ __all__ = ["CustomTkinterApp"]
13
+
14
+
15
+ # Library
16
+ # ---------------------------------------------------------------------------
17
+ import tkinter as tk
18
+
19
+ from absfuyu.pkg_data.logo import AbsfuyuLogo
20
+
21
+
22
+ # Class
23
+ # ---------------------------------------------------------------------------
24
+ class CustomTkinterApp(tk.Tk):
25
+ def __init__(self, title: str | None = None) -> None:
26
+ super().__init__()
27
+
28
+ # Set custom icon
29
+ self.iconphoto(True, tk.PhotoImage(data=AbsfuyuLogo.SHORT))
30
+
31
+ # Title
32
+ self.title(title)
@@ -3,8 +3,8 @@ Absfuyu: Json Method
3
3
  --------------------
4
4
  ``.json`` file handling
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/util/lunar.py CHANGED
@@ -4,8 +4,8 @@ Absfuyu: Lunar calendar
4
4
  -----------------------
5
5
  Convert to lunar calendar
6
6
 
7
- Version: 5.8.0
8
- Date updated: 16/09/2025 (dd/mm/yyyy)
7
+ Version: 5.9.0
8
+ Date updated: 19/09/2025 (dd/mm/yyyy)
9
9
 
10
10
  Source:
11
11
  -------
absfuyu/util/path.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Path
3
3
  -------------
4
4
  Path related
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
 
9
9
  Feature:
10
10
  --------
@@ -3,8 +3,8 @@ Absfuyu: Performance
3
3
  --------------------
4
4
  Performance Check
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
 
9
9
  Feature:
10
10
  --------
@@ -3,8 +3,8 @@ Absfuyu: Shorten number
3
3
  -----------------------
4
4
  Short number base on suffixes
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
@@ -3,8 +3,8 @@ Absufyu: Utilities
3
3
  ------------------
4
4
  Text table
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level
absfuyu/util/zipped.py CHANGED
@@ -4,8 +4,8 @@ Absfuyu: Zipped
4
4
  Zipping stuff
5
5
  (deprecated, use absfuyu.util.path.Directory)
6
6
 
7
- Version: 5.8.0
8
- Date updated: 16/09/2025 (dd/mm/yyyy)
7
+ Version: 5.9.0
8
+ Date updated: 19/09/2025 (dd/mm/yyyy)
9
9
  """
10
10
 
11
11
  # Module level
absfuyu/version.py CHANGED
@@ -3,8 +3,8 @@ Absfuyu: Version
3
3
  ----------------
4
4
  Package versioning module
5
5
 
6
- Version: 5.8.0
7
- Date updated: 16/09/2025 (dd/mm/yyyy)
6
+ Version: 5.9.0
7
+ Date updated: 19/09/2025 (dd/mm/yyyy)
8
8
  """
9
9
 
10
10
  # Module level