qmenta-sdk-lib 2.2.dev3499__tar.gz → 2.2.dev3501__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 (38) hide show
  1. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/PKG-INFO +1 -1
  2. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/pyproject.toml +1 -1
  3. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/base_ui.py +49 -10
  4. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/integration_ui.py +11 -2
  5. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/integration_workflow_ui.py +7 -2
  6. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/launch_gui.py +7 -2
  7. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/__init__.py +0 -0
  8. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/__init__.py +0 -0
  9. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/bids/__init__.py +0 -0
  10. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/bids/make_entrypoint.py +0 -0
  11. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/bids/wrapper.py +0 -0
  12. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/client.py +0 -0
  13. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/communication.py +0 -0
  14. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/context.py +0 -0
  15. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/directory_utils.py +0 -0
  16. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/executor.py +0 -0
  17. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/init.py +0 -0
  18. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/local/__init__.py +0 -0
  19. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/local/client.py +0 -0
  20. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/local/context.py +0 -0
  21. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/local/executor.py +0 -0
  22. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/local/parse_settings.py +0 -0
  23. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/log_capture.py +0 -0
  24. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/make_entrypoint.py +0 -0
  25. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/__init__.py +0 -0
  26. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/context.py +0 -0
  27. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/file_filter.py +0 -0
  28. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/inputs.py +0 -0
  29. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/make_files.py +0 -0
  30. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/modalities.py +0 -0
  31. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/outputs.py +0 -0
  32. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/run_test_docker.py +0 -0
  33. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/templates_tool_maker/Dockerfile_schema +0 -0
  34. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/templates_tool_maker/description_schema +0 -0
  35. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/templates_tool_maker/qmenta.png +0 -0
  36. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/templates_tool_maker/test_tool_schema +0 -0
  37. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/templates_tool_maker/tool_schema +0 -0
  38. {qmenta_sdk_lib-2.2.dev3499 → qmenta_sdk_lib-2.2.dev3501}/python/qmenta/sdk/tool_maker/tool_maker.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: qmenta-sdk-lib
3
- Version: 2.2.dev3499
3
+ Version: 2.2.dev3501
4
4
  Summary: QMENTA SDK for tool development.
5
5
  Author: QMENTA
6
6
  Maintainer: Marc Ramos
@@ -1,6 +1,6 @@
1
1
  [tool.poetry]
2
2
  name = "qmenta-sdk-lib"
3
- version = "2.2.dev3499"
3
+ version = "2.2.dev3501"
4
4
  description = "QMENTA SDK for tool development."
5
5
  authors = ["QMENTA"]
6
6
  packages = [
@@ -1,4 +1,5 @@
1
1
  import os
2
+ import webbrowser
2
3
  from tkinter import BOTH, CENTER, LEFT, RIGHT, TOP, YES, X, Y, messagebox
3
4
 
4
5
  import ttkbootstrap as ttk
@@ -20,7 +21,7 @@ class UnifiedToolWindow:
20
21
  def __init__(
21
22
  self,
22
23
  title="Tool GUI",
23
- geometry="600x800",
24
+ geometry="725x800",
24
25
  theme="darkly",
25
26
  scrollable=True,
26
27
  ):
@@ -28,7 +29,6 @@ class UnifiedToolWindow:
28
29
  self.window.title(title)
29
30
  self.window.geometry(geometry)
30
31
 
31
- # Only allow resizing if specifically needed or strictly scrollable
32
32
  self.window.resizable(True, True)
33
33
 
34
34
  self.gui_content = {}
@@ -112,17 +112,56 @@ class UnifiedToolWindow:
112
112
  except Exception as e:
113
113
  print(f"Image load failed: {e}")
114
114
 
115
- def add_header(self, text, subtext=None, warning_text=None):
116
- ttk.Label(self.content_frame, text=text, font=FONT_HEADER).pack(
117
- pady=10
118
- )
119
- if subtext:
120
- ttk.Label(self.content_frame, text=subtext, bootstyle="info").pack(
121
- pady=(0, 5)
115
+ def add_header(self, text, help_url=None, subtext=None, warning_text=None):
116
+ """
117
+ Places the header text in the absolute center and the help button
118
+ floating in the top-right corner.
119
+ """
120
+
121
+ # Container frame for the top section
122
+ header_container = ttk.Frame(self.content_frame)
123
+ header_container.pack(fill="x", pady=5, padx=10, ipady=5)
124
+
125
+ # Header Text
126
+ ttk.Label(
127
+ header_container,
128
+ text=text,
129
+ font=FONT_HEADER,
130
+ anchor="center"
131
+ ).pack(side="top")
132
+
133
+ # Help Button
134
+ if help_url:
135
+ def open_help():
136
+ webbrowser.open(help_url)
137
+
138
+ help_btn = ttk.Button(
139
+ header_container,
140
+ text="Help",
141
+ command=open_help,
142
+ bootstyle="primary",
143
+ width=4,
122
144
  )
145
+
146
+ # relx=1.0: Position at 100% of the container's width (Far right)
147
+ # rely=0.0: Position at the very top
148
+ # anchor="ne": The "North East" (top-right) corner.
149
+ help_btn.place(relx=1.0, rely=0, anchor="ne")
150
+
151
+ # Subtitle text
152
+ if subtext:
153
+ ttk.Label(
154
+ self.content_frame,
155
+ text=subtext,
156
+ bootstyle="info"
157
+ ).pack(pady=(0, 5))
158
+
159
+ # Warning Text
123
160
  if warning_text:
124
161
  ttk.Label(
125
- self.content_frame, text=warning_text, bootstyle="warning"
162
+ self.content_frame,
163
+ text=warning_text,
164
+ bootstyle="warning"
126
165
  ).pack(pady=(0, 20))
127
166
 
128
167
  def add_section_label(self, text):
@@ -16,18 +16,27 @@ from base_ui import UnifiedToolWindow
16
16
  MIN = 0
17
17
  MAX_CORES = 10
18
18
  MAX_RAM = 16
19
+ HELP_URL = (
20
+ "https://docs.qmenta.com/sdk/guides_docs/tool_maker.html"
21
+ "#publish-your-tool-in-the-qmenta-platform"
22
+ )
19
23
 
20
24
  dir_name = None
21
25
 
22
26
 
23
27
  def gui_tkinter():
24
28
  # Initialize the Shared Window
25
- gui = UnifiedToolWindow(title="Tool Publishing GUI", scrollable=True)
29
+ gui = UnifiedToolWindow(
30
+ title="Tool Publishing GUI",
31
+ geometry="725x800",
32
+ scrollable=True
33
+ )
26
34
 
27
- # Logo & Headers
35
+ # Logo, header and help button
28
36
  gui.add_logo()
29
37
  gui.add_header(
30
38
  "Publish your tool in the QMENTA Platform",
39
+ help_url=HELP_URL,
31
40
  warning_text="(*) indicates mandatory field.",
32
41
  )
33
42
 
@@ -15,6 +15,10 @@ from base_ui import UnifiedToolWindow
15
15
 
16
16
  FONT = "Consolas"
17
17
  FONTSIZE = 10
18
+ HELP_URL = (
19
+ "https://docs.qmenta.com/sdk/guides_docs/tool_maker.html"
20
+ "#workflow-publishing"
21
+ )
18
22
 
19
23
  dir_name = ""
20
24
 
@@ -93,13 +97,14 @@ def gui_tkinter():
93
97
 
94
98
  # Initialize the Shared Window
95
99
  gui = UnifiedToolWindow(
96
- title="Workflow Publishing GUI", geometry="600x700", scrollable=False
100
+ title="Workflow Publishing GUI", geometry="725x700", scrollable=False
97
101
  )
98
102
 
99
- # Logo & Headers
103
+ # Logo, header and help button
100
104
  gui.add_logo()
101
105
  gui.add_header(
102
106
  "Publish your Workflow into the QMENTA Platform",
107
+ help_url=HELP_URL,
103
108
  warning_text="(*) indicates mandatory field.",
104
109
  )
105
110
 
@@ -16,6 +16,10 @@ from qmenta.sdk.tool_maker.make_files import (
16
16
  # Import shared UI
17
17
  from base_ui import UnifiedToolWindow
18
18
 
19
+ HELP_URL = (
20
+ "https://docs.qmenta.com/sdk/guides_docs/tool_maker.html"
21
+ "#create-a-new-tool"
22
+ )
19
23
  FOLDER = "local_tools"
20
24
  sys.path.append(FOLDER)
21
25
 
@@ -23,13 +27,14 @@ sys.path.append(FOLDER)
23
27
  def gui_tkinter():
24
28
  # Initialize Shared Window
25
29
  gui = UnifiedToolWindow(
26
- title="Tool Maker GUI", geometry="600x450", scrollable=False
30
+ title="Tool Maker GUI", geometry="650x450", scrollable=False
27
31
  )
28
32
 
29
- # Logo & Headers
33
+ # Logo, header and help button
30
34
  gui.add_logo()
31
35
  gui.add_header(
32
36
  "Tool Maker",
37
+ help_url=HELP_URL,
33
38
  warning_text="(*) indicates mandatory field.",
34
39
  )
35
40