tensorneko-util 0.3.22__tar.gz → 0.3.23__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.
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/PKG-INFO +2 -1
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/README.md +1 -1
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/setup_util.py +1 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/dispatcher.py +17 -2
- tensorneko_util-0.3.23/src/tensorneko_util/version.txt +1 -0
- tensorneko_util-0.3.22/src/tensorneko_util/visualization/watcher/web/dist/assets/index.5195781e.js → tensorneko_util-0.3.23/src/tensorneko_util/visualization/watcher/web/dist/assets/index.f19b5d1c.js +34 -34
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/watcher/web/dist/index.html +1 -1
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util.egg-info/PKG-INFO +2 -1
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util.egg-info/SOURCES.txt +1 -1
- tensorneko_util-0.3.22/src/tensorneko_util/version.txt +0 -1
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/LICENSE +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/setup.cfg +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/setup.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/_rich.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/backend/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/backend/audio_lib.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/backend/blocking.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/backend/parallel.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/backend/tqdm.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/backend/visual_lib.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/debug/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/debug/logger.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/debug/parser.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/_default_backends.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/_path_conversion.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/audio/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/audio/audio_data.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/audio/audio_reader.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/audio/audio_writer.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/audio/audio_writer.pyi +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/hdf5/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/hdf5/hdf5_reader.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/hdf5/hdf5_writer.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/image/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/image/image_reader.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/image/image_writer.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/json/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/json/json_data.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/json/json_reader.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/json/json_writer.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/matlab/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/matlab/mat_reader.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/matlab/mat_writer.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/npy/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/npy/npy_reader.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/npy/npy_writer.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/pickle/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/pickle/pickle_reader.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/pickle/pickle_writer.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/reader.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/text/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/text/text_reader.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/text/text_writer.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/toml/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/toml/toml_reader.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/toml/toml_writer.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/video/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/video/video_data.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/video/video_reader.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/video/video_reader.pyi +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/video/video_writer.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/video/video_writer.pyi +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/writer.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/yaml/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/yaml/yaml_reader.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/io/yaml/yaml_writer.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/msg/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/msg/gotify.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/msg/postgres.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/notebook/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/notebook/animation.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/notebook/display.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/preprocess/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/preprocess/crop.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/preprocess/crop.pyi +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/preprocess/face_detector/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/preprocess/face_detector/_utils.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/preprocess/face_detector/abstract_face_detector.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/preprocess/face_detector/anime_face_detector.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/preprocess/face_detector/facexzoo_face_detector.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/preprocess/face_detector/opencv_face_detector.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/preprocess/ffmpeg.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/preprocess/image.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/preprocess/video.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/average_meter.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/bimap.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/dispatched_misc.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/dispatched_misc.pyi +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/downloader.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/eventbus/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/eventbus/bus.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/eventbus/decorator.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/eventbus/event.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/fp/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/fp/args.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/fp/array/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/fp/array/abstract_seq.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/fp/array/seq.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/fp/array/stream.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/fp/func.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/fp/monad/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/fp/monad/eval.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/fp/monad/monad.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/fp/monad/option.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/fp/underscore.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/misc.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/multi_layer_indexer.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/ref.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/ref.pyi +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/registry.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/server.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/singleton.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/timer.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/type.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/util/window_merger.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/color.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/image_browser/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/image_browser/server.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/image_browser/web/index.html +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/matplotlib.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/multi_plots.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/seaborn.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/tensorboard.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/watcher/__init__.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/watcher/component.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/watcher/server.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/watcher/view.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util/visualization/watcher/web/dist/assets/index.9d369ef8.css +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util.egg-info/dependency_links.txt +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util.egg-info/requires.txt +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/src/tensorneko_util.egg-info/top_level.txt +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/test/test_library_info.py +0 -0
- {tensorneko_util-0.3.22 → tensorneko_util-0.3.23}/test/test_version.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.4
|
|
2
2
|
Name: tensorneko_util
|
|
3
|
-
Version: 0.3.
|
|
3
|
+
Version: 0.3.23
|
|
4
4
|
Summary: The Utils for Library TensorNeko.
|
|
5
5
|
Home-page: https://github.com/ControlNet/tensorneko
|
|
6
6
|
Author: ControlNet
|
|
@@ -16,6 +16,7 @@ Classifier: Programming Language :: Python :: 3.10
|
|
|
16
16
|
Classifier: Programming Language :: Python :: 3.11
|
|
17
17
|
Classifier: Programming Language :: Python :: 3.12
|
|
18
18
|
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Classifier: Programming Language :: Python :: 3.14
|
|
19
20
|
Classifier: License :: OSI Approved :: MIT License
|
|
20
21
|
Classifier: Operating System :: OS Independent
|
|
21
22
|
Classifier: Intended Audience :: Developers
|
|
@@ -32,7 +32,7 @@ pip install tensorneko # for PyTorch only
|
|
|
32
32
|
pip install tensorneko[lightning] # for PyTorch and Lightning
|
|
33
33
|
```
|
|
34
34
|
|
|
35
|
-
To use the library without PyTorch and PyTorch Lightning, you can install the util library (support Python 3.7 ~ 3.
|
|
35
|
+
To use the library without PyTorch and PyTorch Lightning, you can install the util library (support Python 3.7 ~ 3.14 with limited features) with following command.
|
|
36
36
|
```shell
|
|
37
37
|
pip install tensorneko_util
|
|
38
38
|
```
|
|
@@ -48,6 +48,7 @@ setuptools.setup(
|
|
|
48
48
|
"Programming Language :: Python :: 3.11",
|
|
49
49
|
"Programming Language :: Python :: 3.12",
|
|
50
50
|
"Programming Language :: Python :: 3.13",
|
|
51
|
+
"Programming Language :: Python :: 3.14",
|
|
51
52
|
"License :: OSI Approved :: MIT License",
|
|
52
53
|
"Operating System :: OS Independent",
|
|
53
54
|
"Intended Audience :: Developers",
|
|
@@ -1,12 +1,28 @@
|
|
|
1
1
|
from __future__ import annotations
|
|
2
2
|
|
|
3
3
|
import inspect
|
|
4
|
+
import sys
|
|
4
5
|
import warnings
|
|
5
6
|
from typing import Callable, Dict, List, Generic, Sequence, Optional, TYPE_CHECKING, overload
|
|
6
7
|
|
|
7
8
|
from .type import T
|
|
8
9
|
|
|
9
10
|
|
|
11
|
+
def _is_union_type(annotation) -> bool:
|
|
12
|
+
"""
|
|
13
|
+
Check if the annotation is a Union type.
|
|
14
|
+
Compatible with Python 3.8 ~ 3.14+
|
|
15
|
+
"""
|
|
16
|
+
if sys.version_info >= (3, 14):
|
|
17
|
+
# Python 3.14+: str(Union[int, str]) returns "int | str"
|
|
18
|
+
# Use typing.get_origin() for reliable detection
|
|
19
|
+
from typing import Union, get_origin
|
|
20
|
+
return get_origin(annotation) is Union
|
|
21
|
+
else:
|
|
22
|
+
# Python < 3.14: str(Union[int, str]) returns "typing.Union[int, str]"
|
|
23
|
+
return str(annotation)[:13] == "typing.Union["
|
|
24
|
+
|
|
25
|
+
|
|
10
26
|
class DispatcherTypeWarning(Warning):
|
|
11
27
|
pass
|
|
12
28
|
|
|
@@ -38,8 +54,7 @@ class Dispatcher:
|
|
|
38
54
|
possible_types = [[]]
|
|
39
55
|
|
|
40
56
|
for param in parameters:
|
|
41
|
-
|
|
42
|
-
is_union = str(param.annotation)[:13] == "typing.Union["
|
|
57
|
+
is_union = _is_union_type(param.annotation)
|
|
43
58
|
|
|
44
59
|
# if no default value and not union, just append to each possible types
|
|
45
60
|
if param.default is inspect.Signature.empty and not is_union:
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
0.3.23
|