interactive-pipe 0.7.5__tar.gz → 0.7.6__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.
- {interactive_pipe-0.7.5/src/interactive_pipe.egg-info → interactive_pipe-0.7.6}/PKG-INFO +2 -2
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/pyproject.toml +1 -1
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/readme.md +1 -1
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/gradio_gui.py +19 -5
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6/src/interactive_pipe.egg-info}/PKG-INFO +2 -2
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/LICENSE +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/setup.cfg +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/__init__.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/core/__init__.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/core/cache.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/core/engine.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/core/filter.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/core/graph.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/core/pipeline.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/core/signature.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/__init__.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/audio.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/curves.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/data.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/image.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/parameters.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/__init__.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/gradio_control.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/gui.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/mpl_control.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/mpl_gui.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/mpl_window.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/nb_control.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/nb_gui.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/qt_control.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/qt_gui.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/window.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/headless/__init__.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/headless/control.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/headless/keyboard.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/headless/pipeline.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/__init__.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/_private.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/choose_backend.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/control_abbreviation.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/filter_decorator.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/keyword_args_analyzer.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/pipeline_decorator.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/thirdparty/images_openai_api.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/thirdparty/music_spotify.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe.egg-info/SOURCES.txt +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe.egg-info/dependency_links.txt +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe.egg-info/requires.txt +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe.egg-info/top_level.txt +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_cache.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_control_abbreviations.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_controller.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_core.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_curves.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_decorator.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_engine.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_filter.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_headless.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_image.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_parameters.py +0 -0
- {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_recorder.py +0 -0
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: interactive_pipe
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.6
|
|
4
4
|
Summary: Library to create flexible interactive image processing pipelines and automatically add a graphical user interface without knowing anything about GUI coding!
|
|
5
5
|
Author-email: Balthazar Neveu <balthazarneveu@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/balthazarneveu/interactive_pipe
|
|
@@ -106,7 +106,7 @@ pip install -e ".[full]"
|
|
|
106
106
|
|
|
107
107
|
## :scroll: Features
|
|
108
108
|
|
|
109
|
-
**Version 0.7.
|
|
109
|
+
**Version 0.7.6**
|
|
110
110
|
- Modular multi-image processing filters
|
|
111
111
|
- Declarative: Easily make graphical user interface without having to learn anything about pyQt or matplotlib
|
|
112
112
|
- Support in jupyter notebooks
|
|
@@ -62,7 +62,7 @@ pip install -e ".[full]"
|
|
|
62
62
|
|
|
63
63
|
## :scroll: Features
|
|
64
64
|
|
|
65
|
-
**Version 0.7.
|
|
65
|
+
**Version 0.7.6**
|
|
66
66
|
- Modular multi-image processing filters
|
|
67
67
|
- Declarative: Easily make graphical user interface without having to learn anything about pyQt or matplotlib
|
|
68
68
|
- Support in jupyter notebooks
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/gradio_gui.py
RENAMED
|
@@ -51,14 +51,20 @@ class InteractivePipeGradio(InteractivePipeGUI):
|
|
|
51
51
|
out_list_gradio_containers = []
|
|
52
52
|
for idx in range(len(out_list)):
|
|
53
53
|
for idy in range(len(out_list[idx])):
|
|
54
|
+
if self.window.image_canvas[idx][idy] is None:
|
|
55
|
+
out_list_gradio_containers.append(gr.HTML())
|
|
56
|
+
continue
|
|
54
57
|
title = self.window.image_canvas[idx][idy].get("title", f"{idx} {idy}")
|
|
55
58
|
title = title.replace("_", " ")
|
|
56
59
|
if isinstance(out_list[idx][idy], np.ndarray):
|
|
57
60
|
out_list_gradio_containers.append(gr.Image(label=title))
|
|
61
|
+
self.window.image_canvas[idx][idy]["type"] = "image"
|
|
58
62
|
elif MPL_SUPPORT and isinstance(out_list[idx][idy], Curve):
|
|
59
63
|
# if out_list[idx][idy].title is not None:
|
|
60
64
|
# title = out_list[idx][idy].title
|
|
61
65
|
out_list_gradio_containers.append(gr.Plot(label=title))
|
|
66
|
+
self.window.image_canvas[idx][idy]["type"] = "curve"
|
|
67
|
+
# @TODO: https://github.com/balthazarneveu/interactive_pipe/issues/50 support audio!
|
|
62
68
|
else:
|
|
63
69
|
raise NotImplementedError(
|
|
64
70
|
f"output type {type(out_list[idx][idy])} not supported")
|
|
@@ -94,7 +100,9 @@ class MainWindow(InteractivePipeWindow):
|
|
|
94
100
|
for idx in range(len(out)):
|
|
95
101
|
if isinstance(out[idx], list):
|
|
96
102
|
for idy in range(len(out[idx])):
|
|
97
|
-
if
|
|
103
|
+
if out[idx][idy] is None:
|
|
104
|
+
flat_out.append("")
|
|
105
|
+
elif MPL_SUPPORT and isinstance(out[idx][idy], Curve):
|
|
98
106
|
curve = out[idx][idy]
|
|
99
107
|
fig, ax = plt.subplots()
|
|
100
108
|
Curve._plot_curve(curve.data, ax=ax)
|
|
@@ -104,10 +112,12 @@ class MainWindow(InteractivePipeWindow):
|
|
|
104
112
|
flat_out.append(self.convert_image(out[idx][idy]))
|
|
105
113
|
else:
|
|
106
114
|
raise NotImplementedError(
|
|
107
|
-
f"output type {type(out[idx][idy])} not
|
|
115
|
+
f"output type {type(out[idx][idy])} not suported")
|
|
108
116
|
else:
|
|
109
117
|
logging.info(f"CONVERTING IMAGE {idx} ")
|
|
110
118
|
flat_out.append(self.convert_image(out[idx]))
|
|
119
|
+
if len(flat_out) == 1:
|
|
120
|
+
return flat_out[0]
|
|
111
121
|
if out is None:
|
|
112
122
|
logging.warning("No output to display")
|
|
113
123
|
return
|
|
@@ -152,9 +162,13 @@ class MainWindow(InteractivePipeWindow):
|
|
|
152
162
|
with gr.Blocks() as io:
|
|
153
163
|
with gr.Row(variant="compact"):
|
|
154
164
|
gr.Markdown("### " + self.name.replace("_", " "))
|
|
155
|
-
|
|
156
|
-
|
|
157
|
-
|
|
165
|
+
for idy in range(len(self.image_canvas)):
|
|
166
|
+
with gr.Row():
|
|
167
|
+
for idx in range(len(self.image_canvas[idy])):
|
|
168
|
+
elem = outputs[idy * len(self.image_canvas[idy]) + idx]
|
|
169
|
+
if elem is not None:
|
|
170
|
+
elem.render()
|
|
171
|
+
|
|
158
172
|
if self.audio:
|
|
159
173
|
outputs.append(self.audio)
|
|
160
174
|
with gr.Row():
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.1
|
|
2
2
|
Name: interactive_pipe
|
|
3
|
-
Version: 0.7.
|
|
3
|
+
Version: 0.7.6
|
|
4
4
|
Summary: Library to create flexible interactive image processing pipelines and automatically add a graphical user interface without knowing anything about GUI coding!
|
|
5
5
|
Author-email: Balthazar Neveu <balthazarneveu@gmail.com>
|
|
6
6
|
Project-URL: Homepage, https://github.com/balthazarneveu/interactive_pipe
|
|
@@ -106,7 +106,7 @@ pip install -e ".[full]"
|
|
|
106
106
|
|
|
107
107
|
## :scroll: Features
|
|
108
108
|
|
|
109
|
-
**Version 0.7.
|
|
109
|
+
**Version 0.7.6**
|
|
110
110
|
- Modular multi-image processing filters
|
|
111
111
|
- Declarative: Easily make graphical user interface without having to learn anything about pyQt or matplotlib
|
|
112
112
|
- Support in jupyter notebooks
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/__init__.py
RENAMED
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/audio.py
RENAMED
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/curves.py
RENAMED
|
File without changes
|
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/image.py
RENAMED
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/parameters.py
RENAMED
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/__init__.py
RENAMED
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/gradio_control.py
RENAMED
|
File without changes
|
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/mpl_control.py
RENAMED
|
File without changes
|
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/mpl_window.py
RENAMED
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/nb_control.py
RENAMED
|
File without changes
|
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/qt_control.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/choose_backend.py
RENAMED
|
File without changes
|
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/filter_decorator.py
RENAMED
|
File without changes
|
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/pipeline_decorator.py
RENAMED
|
File without changes
|
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/thirdparty/music_spotify.py
RENAMED
|
File without changes
|
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe.egg-info/dependency_links.txt
RENAMED
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe.egg-info/requires.txt
RENAMED
|
File without changes
|
{interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe.egg-info/top_level.txt
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|