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.
Files changed (61) hide show
  1. {interactive_pipe-0.7.5/src/interactive_pipe.egg-info → interactive_pipe-0.7.6}/PKG-INFO +2 -2
  2. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/pyproject.toml +1 -1
  3. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/readme.md +1 -1
  4. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/gradio_gui.py +19 -5
  5. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6/src/interactive_pipe.egg-info}/PKG-INFO +2 -2
  6. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/LICENSE +0 -0
  7. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/setup.cfg +0 -0
  8. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/__init__.py +0 -0
  9. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/core/__init__.py +0 -0
  10. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/core/cache.py +0 -0
  11. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/core/engine.py +0 -0
  12. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/core/filter.py +0 -0
  13. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/core/graph.py +0 -0
  14. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/core/pipeline.py +0 -0
  15. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/core/signature.py +0 -0
  16. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/__init__.py +0 -0
  17. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/audio.py +0 -0
  18. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/curves.py +0 -0
  19. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/data.py +0 -0
  20. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/image.py +0 -0
  21. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/data_objects/parameters.py +0 -0
  22. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/__init__.py +0 -0
  23. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/gradio_control.py +0 -0
  24. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/gui.py +0 -0
  25. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/mpl_control.py +0 -0
  26. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/mpl_gui.py +0 -0
  27. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/mpl_window.py +0 -0
  28. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/nb_control.py +0 -0
  29. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/nb_gui.py +0 -0
  30. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/qt_control.py +0 -0
  31. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/qt_gui.py +0 -0
  32. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/graphical/window.py +0 -0
  33. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/headless/__init__.py +0 -0
  34. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/headless/control.py +0 -0
  35. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/headless/keyboard.py +0 -0
  36. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/headless/pipeline.py +0 -0
  37. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/__init__.py +0 -0
  38. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/_private.py +0 -0
  39. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/choose_backend.py +0 -0
  40. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/control_abbreviation.py +0 -0
  41. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/filter_decorator.py +0 -0
  42. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/keyword_args_analyzer.py +0 -0
  43. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/helper/pipeline_decorator.py +0 -0
  44. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/thirdparty/images_openai_api.py +0 -0
  45. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe/thirdparty/music_spotify.py +0 -0
  46. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe.egg-info/SOURCES.txt +0 -0
  47. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe.egg-info/dependency_links.txt +0 -0
  48. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe.egg-info/requires.txt +0 -0
  49. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/src/interactive_pipe.egg-info/top_level.txt +0 -0
  50. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_cache.py +0 -0
  51. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_control_abbreviations.py +0 -0
  52. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_controller.py +0 -0
  53. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_core.py +0 -0
  54. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_curves.py +0 -0
  55. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_decorator.py +0 -0
  56. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_engine.py +0 -0
  57. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_filter.py +0 -0
  58. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_headless.py +0 -0
  59. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_image.py +0 -0
  60. {interactive_pipe-0.7.5 → interactive_pipe-0.7.6}/test/test_parameters.py +0 -0
  61. {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.5
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.5**
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
@@ -5,7 +5,7 @@ build-backend = "setuptools.build_meta"
5
5
 
6
6
  [project]
7
7
  name = "interactive_pipe"
8
- version = "0.7.5"
8
+ version = "0.7.6"
9
9
  authors = [
10
10
  { name="Balthazar Neveu", email="balthazarneveu@gmail.com" },
11
11
  ]
@@ -62,7 +62,7 @@ pip install -e ".[full]"
62
62
 
63
63
  ## :scroll: Features
64
64
 
65
- **Version 0.7.5**
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
@@ -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 MPL_SUPPORT and isinstance(out[idx][idy], Curve):
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 supported")
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
- with gr.Row():
156
- for elem in outputs:
157
- elem.render()
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.5
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.5**
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