tensorneko-util 0.3.15__tar.gz → 0.3.17__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.
Files changed (127) hide show
  1. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/PKG-INFO +4 -7
  2. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/README.md +4 -1
  3. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/setup.py +8 -1
  4. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/json/json_writer.py +1 -1
  5. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/misc.py +5 -1
  6. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/registry.py +2 -2
  7. tensorneko_util-0.3.17/src/tensorneko_util/version.txt +1 -0
  8. tensorneko_util-0.3.15/src/tensorneko_util/visualization/watcher/web/dist/assets/index.9f626faa.js → tensorneko_util-0.3.17/src/tensorneko_util/visualization/watcher/web/dist/assets/index.53207489.js +25 -25
  9. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/watcher/web/dist/index.html +1 -1
  10. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util.egg-info/PKG-INFO +4 -7
  11. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util.egg-info/SOURCES.txt +1 -2
  12. tensorneko_util-0.3.15/LICENSE +0 -21
  13. tensorneko_util-0.3.15/src/tensorneko_util/version.txt +0 -1
  14. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/setup.cfg +0 -0
  15. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/setup_util.py +0 -0
  16. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/__init__.py +0 -0
  17. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/_rich.py +0 -0
  18. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/backend/__init__.py +0 -0
  19. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/backend/audio_lib.py +0 -0
  20. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/backend/blocking.py +0 -0
  21. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/backend/parallel.py +0 -0
  22. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/backend/tqdm.py +0 -0
  23. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/backend/visual_lib.py +0 -0
  24. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/debug/__init__.py +0 -0
  25. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/debug/logger.py +0 -0
  26. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/debug/parser.py +0 -0
  27. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/__init__.py +0 -0
  28. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/_default_backends.py +0 -0
  29. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/audio/__init__.py +0 -0
  30. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/audio/audio_data.py +0 -0
  31. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/audio/audio_reader.py +0 -0
  32. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/audio/audio_writer.py +0 -0
  33. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/hdf5/__init__.py +0 -0
  34. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/hdf5/hdf5_reader.py +0 -0
  35. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/hdf5/hdf5_writer.py +0 -0
  36. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/image/__init__.py +0 -0
  37. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/image/image_reader.py +0 -0
  38. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/image/image_writer.py +0 -0
  39. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/json/__init__.py +0 -0
  40. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/json/json_data.py +0 -0
  41. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/json/json_reader.py +0 -0
  42. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/matlab/__init__.py +0 -0
  43. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/matlab/mat_reader.py +0 -0
  44. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/matlab/mat_writer.py +0 -0
  45. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/npy/__init__.py +0 -0
  46. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/npy/npy_reader.py +0 -0
  47. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/npy/npy_writer.py +0 -0
  48. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/pickle/__init__.py +0 -0
  49. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/pickle/pickle_reader.py +0 -0
  50. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/pickle/pickle_writer.py +0 -0
  51. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/reader.py +0 -0
  52. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/text/__init__.py +0 -0
  53. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/text/text_reader.py +0 -0
  54. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/text/text_writer.py +0 -0
  55. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/toml/__init__.py +0 -0
  56. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/toml/toml_reader.py +0 -0
  57. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/toml/toml_writer.py +0 -0
  58. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/video/__init__.py +0 -0
  59. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/video/video_data.py +0 -0
  60. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/video/video_reader.py +0 -0
  61. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/video/video_writer.py +0 -0
  62. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/writer.py +0 -0
  63. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/yaml/__init__.py +0 -0
  64. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/yaml/yaml_reader.py +0 -0
  65. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/io/yaml/yaml_writer.py +0 -0
  66. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/msg/__init__.py +0 -0
  67. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/msg/gotify.py +0 -0
  68. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/notebook/__init__.py +0 -0
  69. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/notebook/display.py +0 -0
  70. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/preprocess/__init__.py +0 -0
  71. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/preprocess/crop.py +0 -0
  72. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/preprocess/face_detector/__init__.py +0 -0
  73. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/preprocess/face_detector/_utils.py +0 -0
  74. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/preprocess/face_detector/abstract_face_detector.py +0 -0
  75. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/preprocess/face_detector/anime_face_detector.py +0 -0
  76. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/preprocess/face_detector/facexzoo_face_detector.py +0 -0
  77. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/preprocess/face_detector/opencv_face_detector.py +0 -0
  78. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/preprocess/ffmpeg.py +0 -0
  79. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/preprocess/image.py +0 -0
  80. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/preprocess/video.py +0 -0
  81. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/__init__.py +0 -0
  82. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/average_meter.py +0 -0
  83. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/bimap.py +0 -0
  84. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/dispatched_misc.py +0 -0
  85. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/dispatcher.py +0 -0
  86. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/downloader.py +0 -0
  87. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/eventbus/__init__.py +0 -0
  88. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/eventbus/bus.py +0 -0
  89. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/eventbus/decorator.py +0 -0
  90. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/eventbus/event.py +0 -0
  91. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/fp/__init__.py +0 -0
  92. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/fp/args.py +0 -0
  93. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/fp/array/__init__.py +0 -0
  94. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/fp/array/abstract_seq.py +0 -0
  95. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/fp/array/seq.py +0 -0
  96. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/fp/array/stream.py +0 -0
  97. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/fp/func.py +0 -0
  98. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/fp/monad/__init__.py +0 -0
  99. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/fp/monad/eval.py +0 -0
  100. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/fp/monad/monad.py +0 -0
  101. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/fp/monad/option.py +0 -0
  102. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/fp/underscore.py +0 -0
  103. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/ref.py +0 -0
  104. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/server.py +0 -0
  105. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/singleton.py +0 -0
  106. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/timer.py +0 -0
  107. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/type.py +0 -0
  108. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/util/window_merger.py +0 -0
  109. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/__init__.py +0 -0
  110. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/color.py +0 -0
  111. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/image_browser/__init__.py +0 -0
  112. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/image_browser/server.py +0 -0
  113. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/image_browser/web/index.html +0 -0
  114. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/matplotlib.py +0 -0
  115. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/multi_plots.py +0 -0
  116. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/seaborn.py +0 -0
  117. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/tensorboard.py +0 -0
  118. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/watcher/__init__.py +0 -0
  119. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/watcher/component.py +0 -0
  120. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/watcher/server.py +0 -0
  121. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/watcher/view.py +0 -0
  122. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util/visualization/watcher/web/dist/assets/index.cf95019d.css +0 -0
  123. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util.egg-info/dependency_links.txt +0 -0
  124. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util.egg-info/requires.txt +1 -1
  125. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/src/tensorneko_util.egg-info/top_level.txt +0 -0
  126. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/test/test_library_info.py +0 -0
  127. {tensorneko_util-0.3.15 → tensorneko_util-0.3.17}/test/test_version.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: tensorneko_util
3
- Version: 0.3.15
3
+ Version: 0.3.17
4
4
  Summary: The Utils for Library TensorNeko.
5
5
  Home-page: https://github.com/ControlNet/tensorneko
6
6
  Author: ControlNet
@@ -8,6 +8,9 @@ Author-email: smczx@hotmail.com
8
8
  License: UNKNOWN
9
9
  Project-URL: Bug Tracker, https://github.com/ControlNet/tensorneko/issues
10
10
  Project-URL: Source Code, https://github.com/ControlNet/tensorneko
11
+ Description:
12
+ The independent util library for TensorNeko. This library doesn't require PyTorch as a dependency.
13
+
11
14
  Keywords: deep learning,pytorch,AI,data processing
12
15
  Platform: UNKNOWN
13
16
  Classifier: Programming Language :: Python :: 3
@@ -24,9 +27,3 @@ Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
24
27
  Classifier: Topic :: Utilities
25
28
  Requires-Python: >=3.7
26
29
  Description-Content-Type: text/markdown
27
- License-File: LICENSE
28
-
29
-
30
- The independent util library for TensorNeko. This library doesn't require PyTorch as a dependency.
31
-
32
-
@@ -25,8 +25,11 @@ Tensor Neural Engine Kompanion. An util library based on PyTorch and PyTorch Lig
25
25
 
26
26
  ## Install
27
27
 
28
+ The tensorneko requires pytorch and pytorch-lightning (optional), and you can install it with below command.
29
+
28
30
  ```shell
29
- pip install tensorneko
31
+ pip install tensorneko # for PyTorch only
32
+ pip install tensorneko[lightning] # for PyTorch and Lightning
30
33
  ```
31
34
 
32
35
  To use the library without PyTorch and PyTorch Lightning, you can install the util library (support Python 3.7 ~ 3.12 with limited features) with following command.
@@ -5,9 +5,13 @@ with open("README.md", "r") as file:
5
5
  long_description = file.read()
6
6
 
7
7
  requirements = []
8
+ extra_requirements = []
8
9
  with open("requirements.txt", "r") as file:
9
10
  for line in file:
10
- requirements.append(line.strip())
11
+ if line.startswith("lightning") or line.startswith("tensorboard"):
12
+ extra_requirements.append(line.strip())
13
+ else:
14
+ requirements.append(line.strip())
11
15
 
12
16
 
13
17
  version = init.read_version()
@@ -37,6 +41,9 @@ setuptools.setup(
37
41
  },
38
42
  python_requires=">=3.8",
39
43
  install_requires=requirements,
44
+ extras_require={
45
+ "lightning": extra_requirements
46
+ },
40
47
  classifiers=[
41
48
  "Programming Language :: Python :: 3",
42
49
  "Programming Language :: Python :: 3.8",
@@ -14,7 +14,7 @@ class JsonWriter:
14
14
  json.dump(obj, file, indent=indent, ensure_ascii=ensure_ascii)
15
15
  else:
16
16
  import orjson
17
- with open(path, "w", encoding=encoding) as file:
17
+ with open(path, "wb") as file:
18
18
  if indent == 4:
19
19
  warnings.warn("orjson does not support indent 4, will use indent 2 instead.")
20
20
  option = orjson.OPT_INDENT_2
@@ -241,7 +241,8 @@ def load_py(path: str) -> ModuleType:
241
241
  return module
242
242
 
243
243
 
244
- def try_until_success(func: Callable[[Any], T], *args, max_trials: Optional[int] = None, sleep_time: int = 0,
244
+ def try_until_success(func: Callable[..., T], *args, max_trials: Optional[int] = None, sleep_time: int = 0,
245
+ exception_callback: Optional[Callable[[Exception], None]] = None,
245
246
  exception_type: Union[Type[T_E], Tuple[T_E, ...]] = Exception, **kwargs
246
247
  ) -> T:
247
248
  """
@@ -251,6 +252,7 @@ def try_until_success(func: Callable[[Any], T], *args, max_trials: Optional[int]
251
252
  func (``(...) -> T``): The function to run.
252
253
  max_trials (``int``, optional): The max try times. None for unlimited. Default: None.
253
254
  sleep_time (``int``, optional): The sleep time between each try. Default: 0.
255
+ exception_callback (``(Exception) -> None``, optional): The callback function when exception occurs.
254
256
  exception_type (``Type[Exception] | (Type[Exception], ...)``, optional): The exception types to catch.
255
257
  Default: Exception.
256
258
  *args: The args for the function.
@@ -268,6 +270,8 @@ def try_until_success(func: Callable[[Any], T], *args, max_trials: Optional[int]
268
270
  return func(*args, **kwargs)
269
271
  except exception_type as e:
270
272
  trials += 1
273
+ if exception_callback is not None:
274
+ exception_callback(e)
271
275
  if max_trials is not None and trials > max_trials:
272
276
  raise e
273
277
  if sleep_time > 0:
@@ -28,7 +28,7 @@ class Registry(Generic[T]):
28
28
  """
29
29
 
30
30
  def __init__(self):
31
- self._registry: dict[str, T] = {}
31
+ self._registry: dict[str, Type[T]] = {}
32
32
 
33
33
  def register(self, name: str) -> Callable[[Type[T]], Type[T]]:
34
34
  def wrapper(cls):
@@ -37,7 +37,7 @@ class Registry(Generic[T]):
37
37
 
38
38
  return wrapper
39
39
 
40
- def __getitem__(self, name: str) -> T:
40
+ def __getitem__(self, name: str) -> Type[T]:
41
41
  return self._registry[name]
42
42
 
43
43
  def items(self):