pygpt-net 2.6.56__py3-none-any.whl → 2.6.57__py3-none-any.whl

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 (206) hide show
  1. pygpt_net/CHANGELOG.txt +6 -0
  2. pygpt_net/__init__.py +1 -1
  3. pygpt_net/config.py +44 -0
  4. pygpt_net/controller/chat/remote_tools.py +5 -3
  5. pygpt_net/controller/ui/mode.py +5 -3
  6. pygpt_net/core/models/models.py +2 -1
  7. pygpt_net/core/plugins/plugins.py +60 -0
  8. pygpt_net/data/config/config.json +3 -2
  9. pygpt_net/data/config/models.json +2 -2
  10. pygpt_net/data/config/settings.json +14 -0
  11. pygpt_net/data/locale/locale.de.ini +3 -1
  12. pygpt_net/data/locale/locale.en.ini +8 -7
  13. pygpt_net/data/locale/locale.es.ini +2 -0
  14. pygpt_net/data/locale/locale.fr.ini +2 -0
  15. pygpt_net/data/locale/locale.it.ini +2 -0
  16. pygpt_net/data/locale/locale.pl.ini +3 -1
  17. pygpt_net/data/locale/locale.uk.ini +3 -1
  18. pygpt_net/data/locale/locale.zh.ini +2 -0
  19. pygpt_net/data/locale/plugin.agent.de.ini +0 -0
  20. pygpt_net/data/locale/plugin.agent.en.ini +0 -0
  21. pygpt_net/data/locale/plugin.agent.es.ini +0 -0
  22. pygpt_net/data/locale/plugin.agent.fr.ini +0 -0
  23. pygpt_net/data/locale/plugin.agent.it.ini +0 -0
  24. pygpt_net/data/locale/plugin.agent.pl.ini +0 -0
  25. pygpt_net/data/locale/plugin.agent.uk.ini +0 -0
  26. pygpt_net/data/locale/plugin.agent.zh.ini +0 -0
  27. pygpt_net/data/locale/plugin.audio_input.de.ini +0 -0
  28. pygpt_net/data/locale/plugin.audio_input.en.ini +0 -0
  29. pygpt_net/data/locale/plugin.audio_input.es.ini +0 -0
  30. pygpt_net/data/locale/plugin.audio_input.fr.ini +0 -0
  31. pygpt_net/data/locale/plugin.audio_input.it.ini +0 -0
  32. pygpt_net/data/locale/plugin.audio_input.pl.ini +0 -0
  33. pygpt_net/data/locale/plugin.audio_input.uk.ini +0 -0
  34. pygpt_net/data/locale/plugin.audio_input.zh.ini +0 -0
  35. pygpt_net/data/locale/plugin.audio_output.de.ini +0 -0
  36. pygpt_net/data/locale/plugin.audio_output.en.ini +0 -0
  37. pygpt_net/data/locale/plugin.audio_output.es.ini +0 -0
  38. pygpt_net/data/locale/plugin.audio_output.fr.ini +0 -0
  39. pygpt_net/data/locale/plugin.audio_output.it.ini +0 -0
  40. pygpt_net/data/locale/plugin.audio_output.pl.ini +0 -0
  41. pygpt_net/data/locale/plugin.audio_output.uk.ini +0 -0
  42. pygpt_net/data/locale/plugin.audio_output.zh.ini +0 -0
  43. pygpt_net/data/locale/plugin.cmd_api.de.ini +0 -0
  44. pygpt_net/data/locale/plugin.cmd_api.en.ini +0 -0
  45. pygpt_net/data/locale/plugin.cmd_api.es.ini +0 -0
  46. pygpt_net/data/locale/plugin.cmd_api.fr.ini +0 -0
  47. pygpt_net/data/locale/plugin.cmd_api.it.ini +0 -0
  48. pygpt_net/data/locale/plugin.cmd_api.pl.ini +0 -0
  49. pygpt_net/data/locale/plugin.cmd_api.uk.ini +0 -0
  50. pygpt_net/data/locale/plugin.cmd_api.zh.ini +0 -0
  51. pygpt_net/data/locale/plugin.cmd_code_interpreter.de.ini +0 -0
  52. pygpt_net/data/locale/plugin.cmd_code_interpreter.en.ini +0 -0
  53. pygpt_net/data/locale/plugin.cmd_code_interpreter.es.ini +0 -0
  54. pygpt_net/data/locale/plugin.cmd_code_interpreter.fr.ini +0 -0
  55. pygpt_net/data/locale/plugin.cmd_code_interpreter.it.ini +0 -0
  56. pygpt_net/data/locale/plugin.cmd_code_interpreter.pl.ini +0 -0
  57. pygpt_net/data/locale/plugin.cmd_code_interpreter.uk.ini +0 -0
  58. pygpt_net/data/locale/plugin.cmd_code_interpreter.zh.ini +0 -0
  59. pygpt_net/data/locale/plugin.cmd_custom.de.ini +0 -0
  60. pygpt_net/data/locale/plugin.cmd_custom.en.ini +0 -0
  61. pygpt_net/data/locale/plugin.cmd_custom.es.ini +0 -0
  62. pygpt_net/data/locale/plugin.cmd_custom.fr.ini +0 -0
  63. pygpt_net/data/locale/plugin.cmd_custom.it.ini +0 -0
  64. pygpt_net/data/locale/plugin.cmd_custom.pl.ini +0 -0
  65. pygpt_net/data/locale/plugin.cmd_custom.uk.ini +0 -0
  66. pygpt_net/data/locale/plugin.cmd_custom.zh.ini +0 -0
  67. pygpt_net/data/locale/plugin.cmd_files.de.ini +0 -0
  68. pygpt_net/data/locale/plugin.cmd_files.en.ini +0 -0
  69. pygpt_net/data/locale/plugin.cmd_files.es.ini +0 -0
  70. pygpt_net/data/locale/plugin.cmd_files.fr.ini +0 -0
  71. pygpt_net/data/locale/plugin.cmd_files.it.ini +0 -0
  72. pygpt_net/data/locale/plugin.cmd_files.pl.ini +0 -0
  73. pygpt_net/data/locale/plugin.cmd_files.uk.ini +0 -0
  74. pygpt_net/data/locale/plugin.cmd_files.zh.ini +0 -0
  75. pygpt_net/data/locale/plugin.cmd_history.de.ini +0 -0
  76. pygpt_net/data/locale/plugin.cmd_history.en.ini +0 -0
  77. pygpt_net/data/locale/plugin.cmd_history.es.ini +0 -0
  78. pygpt_net/data/locale/plugin.cmd_history.fr.ini +0 -0
  79. pygpt_net/data/locale/plugin.cmd_history.it.ini +0 -0
  80. pygpt_net/data/locale/plugin.cmd_history.pl.ini +0 -0
  81. pygpt_net/data/locale/plugin.cmd_history.uk.ini +0 -0
  82. pygpt_net/data/locale/plugin.cmd_history.zh.ini +0 -0
  83. pygpt_net/data/locale/plugin.cmd_mouse_control.de.ini +0 -0
  84. pygpt_net/data/locale/plugin.cmd_mouse_control.en.ini +0 -0
  85. pygpt_net/data/locale/plugin.cmd_mouse_control.es.ini +0 -0
  86. pygpt_net/data/locale/plugin.cmd_mouse_control.fr.ini +0 -0
  87. pygpt_net/data/locale/plugin.cmd_mouse_control.it.ini +0 -0
  88. pygpt_net/data/locale/plugin.cmd_mouse_control.pl.ini +0 -0
  89. pygpt_net/data/locale/plugin.cmd_mouse_control.uk.ini +0 -0
  90. pygpt_net/data/locale/plugin.cmd_mouse_control.zh.ini +0 -0
  91. pygpt_net/data/locale/plugin.cmd_serial.de.ini +0 -0
  92. pygpt_net/data/locale/plugin.cmd_serial.en.ini +0 -0
  93. pygpt_net/data/locale/plugin.cmd_serial.es.ini +0 -0
  94. pygpt_net/data/locale/plugin.cmd_serial.fr.ini +0 -0
  95. pygpt_net/data/locale/plugin.cmd_serial.it.ini +0 -0
  96. pygpt_net/data/locale/plugin.cmd_serial.pl.ini +0 -0
  97. pygpt_net/data/locale/plugin.cmd_serial.uk.ini +0 -0
  98. pygpt_net/data/locale/plugin.cmd_serial.zh.ini +0 -0
  99. pygpt_net/data/locale/plugin.cmd_system.de.ini +0 -0
  100. pygpt_net/data/locale/plugin.cmd_system.en.ini +0 -0
  101. pygpt_net/data/locale/plugin.cmd_system.es.ini +0 -0
  102. pygpt_net/data/locale/plugin.cmd_system.fr.ini +0 -0
  103. pygpt_net/data/locale/plugin.cmd_system.it.ini +0 -0
  104. pygpt_net/data/locale/plugin.cmd_system.pl.ini +0 -0
  105. pygpt_net/data/locale/plugin.cmd_system.uk.ini +0 -0
  106. pygpt_net/data/locale/plugin.cmd_system.zh.ini +0 -0
  107. pygpt_net/data/locale/plugin.cmd_web.de.ini +0 -0
  108. pygpt_net/data/locale/plugin.cmd_web.en.ini +0 -0
  109. pygpt_net/data/locale/plugin.cmd_web.es.ini +0 -0
  110. pygpt_net/data/locale/plugin.cmd_web.fr.ini +0 -0
  111. pygpt_net/data/locale/plugin.cmd_web.it.ini +0 -0
  112. pygpt_net/data/locale/plugin.cmd_web.pl.ini +0 -0
  113. pygpt_net/data/locale/plugin.cmd_web.uk.ini +0 -0
  114. pygpt_net/data/locale/plugin.cmd_web.zh.ini +0 -0
  115. pygpt_net/data/locale/plugin.crontab.de.ini +0 -0
  116. pygpt_net/data/locale/plugin.crontab.en.ini +0 -0
  117. pygpt_net/data/locale/plugin.crontab.es.ini +0 -0
  118. pygpt_net/data/locale/plugin.crontab.fr.ini +0 -0
  119. pygpt_net/data/locale/plugin.crontab.it.ini +0 -0
  120. pygpt_net/data/locale/plugin.crontab.pl.ini +0 -0
  121. pygpt_net/data/locale/plugin.crontab.uk.ini +0 -0
  122. pygpt_net/data/locale/plugin.crontab.zh.ini +0 -0
  123. pygpt_net/data/locale/plugin.experts.de.ini +0 -0
  124. pygpt_net/data/locale/plugin.experts.en.ini +0 -0
  125. pygpt_net/data/locale/plugin.experts.es.ini +0 -0
  126. pygpt_net/data/locale/plugin.experts.fr.ini +0 -0
  127. pygpt_net/data/locale/plugin.experts.it.ini +0 -0
  128. pygpt_net/data/locale/plugin.experts.pl.ini +0 -0
  129. pygpt_net/data/locale/plugin.experts.uk.ini +0 -0
  130. pygpt_net/data/locale/plugin.experts.zh.ini +0 -0
  131. pygpt_net/data/locale/plugin.extra_prompt.de.ini +0 -0
  132. pygpt_net/data/locale/plugin.extra_prompt.en.ini +0 -0
  133. pygpt_net/data/locale/plugin.extra_prompt.es.ini +0 -0
  134. pygpt_net/data/locale/plugin.extra_prompt.fr.ini +0 -0
  135. pygpt_net/data/locale/plugin.extra_prompt.it.ini +0 -0
  136. pygpt_net/data/locale/plugin.extra_prompt.pl.ini +0 -0
  137. pygpt_net/data/locale/plugin.extra_prompt.uk.ini +0 -0
  138. pygpt_net/data/locale/plugin.extra_prompt.zh.ini +0 -0
  139. pygpt_net/data/locale/plugin.idx_llama_index.de.ini +0 -0
  140. pygpt_net/data/locale/plugin.idx_llama_index.en.ini +0 -0
  141. pygpt_net/data/locale/plugin.idx_llama_index.es.ini +0 -0
  142. pygpt_net/data/locale/plugin.idx_llama_index.fr.ini +0 -0
  143. pygpt_net/data/locale/plugin.idx_llama_index.it.ini +0 -0
  144. pygpt_net/data/locale/plugin.idx_llama_index.pl.ini +0 -0
  145. pygpt_net/data/locale/plugin.idx_llama_index.uk.ini +0 -0
  146. pygpt_net/data/locale/plugin.idx_llama_index.zh.ini +0 -0
  147. pygpt_net/data/locale/plugin.mailer.en.ini +0 -0
  148. pygpt_net/data/locale/plugin.mcp.en.ini +0 -0
  149. pygpt_net/data/locale/plugin.openai_dalle.de.ini +0 -0
  150. pygpt_net/data/locale/plugin.openai_dalle.en.ini +0 -0
  151. pygpt_net/data/locale/plugin.openai_dalle.es.ini +0 -0
  152. pygpt_net/data/locale/plugin.openai_dalle.fr.ini +0 -0
  153. pygpt_net/data/locale/plugin.openai_dalle.it.ini +0 -0
  154. pygpt_net/data/locale/plugin.openai_dalle.pl.ini +0 -0
  155. pygpt_net/data/locale/plugin.openai_dalle.uk.ini +0 -0
  156. pygpt_net/data/locale/plugin.openai_dalle.zh.ini +0 -0
  157. pygpt_net/data/locale/plugin.openai_vision.de.ini +0 -0
  158. pygpt_net/data/locale/plugin.openai_vision.en.ini +0 -0
  159. pygpt_net/data/locale/plugin.openai_vision.es.ini +0 -0
  160. pygpt_net/data/locale/plugin.openai_vision.fr.ini +0 -0
  161. pygpt_net/data/locale/plugin.openai_vision.it.ini +0 -0
  162. pygpt_net/data/locale/plugin.openai_vision.pl.ini +0 -0
  163. pygpt_net/data/locale/plugin.openai_vision.uk.ini +0 -0
  164. pygpt_net/data/locale/plugin.openai_vision.zh.ini +0 -0
  165. pygpt_net/data/locale/plugin.osm.en.ini +24 -24
  166. pygpt_net/data/locale/plugin.real_time.de.ini +0 -0
  167. pygpt_net/data/locale/plugin.real_time.en.ini +0 -0
  168. pygpt_net/data/locale/plugin.real_time.es.ini +0 -0
  169. pygpt_net/data/locale/plugin.real_time.fr.ini +0 -0
  170. pygpt_net/data/locale/plugin.real_time.it.ini +0 -0
  171. pygpt_net/data/locale/plugin.real_time.pl.ini +0 -0
  172. pygpt_net/data/locale/plugin.real_time.uk.ini +0 -0
  173. pygpt_net/data/locale/plugin.real_time.zh.ini +0 -0
  174. pygpt_net/data/locale/plugin.voice_control.de.ini +0 -0
  175. pygpt_net/data/locale/plugin.voice_control.en.ini +0 -0
  176. pygpt_net/data/locale/plugin.voice_control.es.ini +0 -0
  177. pygpt_net/data/locale/plugin.voice_control.fr.ini +0 -0
  178. pygpt_net/data/locale/plugin.voice_control.it.ini +0 -0
  179. pygpt_net/data/locale/plugin.voice_control.pl.ini +0 -0
  180. pygpt_net/data/locale/plugin.voice_control.uk.ini +0 -0
  181. pygpt_net/data/locale/plugin.voice_control.zh.ini +0 -0
  182. pygpt_net/data/locale/plugin.wolfram.en.ini +9 -9
  183. pygpt_net/plugin/cmd_web/config.py +17 -17
  184. pygpt_net/plugin/cmd_web/worker.py +325 -171
  185. pygpt_net/provider/api/x_ai/__init__.py +2 -0
  186. pygpt_net/provider/core/config/patch.py +15 -0
  187. pygpt_net/provider/core/config/patches/patch_before_2_6_42.py +1 -0
  188. pygpt_net/provider/llms/anthropic.py +4 -0
  189. pygpt_net/provider/llms/base.py +2 -0
  190. pygpt_net/provider/llms/deepseek_api.py +2 -0
  191. pygpt_net/provider/llms/google.py +2 -0
  192. pygpt_net/provider/llms/hugging_face_api.py +4 -0
  193. pygpt_net/provider/llms/hugging_face_router.py +2 -0
  194. pygpt_net/provider/llms/mistral.py +4 -0
  195. pygpt_net/provider/llms/perplexity.py +2 -0
  196. pygpt_net/provider/llms/x_ai.py +2 -0
  197. pygpt_net/ui/layout/chat/output.py +5 -5
  198. pygpt_net/ui/widget/dialog/base.py +4 -1
  199. pygpt_net/ui/widget/textarea/html.py +1 -0
  200. pygpt_net/ui/widget/textarea/input.py +19 -3
  201. pygpt_net/ui/widget/textarea/web.py +2 -1
  202. {pygpt_net-2.6.56.dist-info → pygpt_net-2.6.57.dist-info}/METADATA +10 -2
  203. {pygpt_net-2.6.56.dist-info → pygpt_net-2.6.57.dist-info}/RECORD +44 -44
  204. {pygpt_net-2.6.56.dist-info → pygpt_net-2.6.57.dist-info}/LICENSE +0 -0
  205. {pygpt_net-2.6.56.dist-info → pygpt_net-2.6.57.dist-info}/WHEEL +0 -0
  206. {pygpt_net-2.6.56.dist-info → pygpt_net-2.6.57.dist-info}/entry_points.txt +0 -0
@@ -73,6 +73,8 @@ class AnthropicLLM(BaseLLM):
73
73
 
74
74
  args = self.parse_args(model.llama_index, window)
75
75
  proxy = window.core.config.get("api_proxy", None)
76
+ if not window.core.config.get("api_proxy.enabled", False):
77
+ proxy = None
76
78
  if "model" not in args:
77
79
  args["model"] = model.id
78
80
  if "api_key" not in args or args["api_key"] == "":
@@ -136,6 +138,8 @@ class AnthropicLLM(BaseLLM):
136
138
  timeout = window.core.config.get("api_native_voyage.timeout")
137
139
  max_retries = window.core.config.get("api_native_voyage.max_retries")
138
140
  proxy = window.core.config.get("api_proxy")
141
+ if not window.core.config.get("api_proxy.enabled", False):
142
+ proxy = ""
139
143
  return VoyageEmbeddingWithProxy(
140
144
  **args,
141
145
  proxy=proxy,
@@ -231,6 +231,8 @@ class BaseLLM:
231
231
  def inject_llamaindex_http_clients(self, args: dict, cfg) -> dict:
232
232
  import httpx
233
233
  proxy = (cfg.get("api_proxy") or "").strip() # e.g. "http://user:pass@host:3128"
234
+ if not cfg.get("api_proxy.enabled", False):
235
+ proxy = ""
234
236
  common_kwargs = dict(timeout=60.0, follow_redirects=True)
235
237
  if proxy:
236
238
  common_kwargs["proxy"] = proxy # httpx>=0.28
@@ -80,6 +80,8 @@ class DeepseekApiLLM(BaseLLM):
80
80
  timeout = window.core.config.get("api_native_voyage.timeout")
81
81
  max_retries = window.core.config.get("api_native_voyage.max_retries")
82
82
  proxy = window.core.config.get("api_proxy")
83
+ if not window.core.config.get("api_proxy.enabled", False):
84
+ proxy = ""
83
85
  return VoyageEmbeddingWithProxy(
84
86
  **args,
85
87
  proxy=proxy,
@@ -140,6 +140,8 @@ class GoogleLLM(BaseLLM):
140
140
 
141
141
  def inject_llamaindex_http_clients(self, args: dict, cfg) -> dict:
142
142
  proxy = cfg.get("api_proxy")
143
+ if not cfg.get("api_proxy.enabled", False):
144
+ proxy = ""
143
145
  if proxy:
144
146
  http_options = gtypes.HttpOptions(
145
147
  client_args={"proxy": proxy},
@@ -117,6 +117,8 @@ class HuggingFaceApiLLM(BaseLLM):
117
117
 
118
118
  # proxy + trust_env (async)
119
119
  proxy = cfg.get("api_proxy") or cfg.get("api_native_hf.proxy")
120
+ if not cfg.get("api_proxy.enabled", False):
121
+ proxy = ""
120
122
  trust_env = cfg.get("api_native_hf.trust_env", False)
121
123
 
122
124
  return HuggingFaceInferenceAPIWithProxy(proxy=proxy, trust_env=trust_env, **args)
@@ -152,6 +154,8 @@ class HuggingFaceApiLLM(BaseLLM):
152
154
 
153
155
  # proxy + trust_env (async)
154
156
  proxy = window.core.config.get("api_proxy") or window.core.config.get("api_native_hf.proxy")
157
+ if not window.core.config.get("api_proxy.enabled", False):
158
+ proxy = ""
155
159
  trust_env = window.core.config.get("api_native_hf.trust_env", False)
156
160
 
157
161
  return HFEmbed(proxy=proxy, trust_env=trust_env, **args)
@@ -132,6 +132,8 @@ class HuggingFaceRouterLLM(BaseLLM):
132
132
 
133
133
  # proxy + trust_env (async)
134
134
  proxy = window.core.config.get("api_proxy") or window.core.config.get("api_native_hf.proxy")
135
+ if not window.core.config.get("api_proxy.enabled", False):
136
+ proxy = ""
135
137
  trust_env = window.core.config.get("api_native_hf.trust_env", False)
136
138
 
137
139
  return HFEmbed(proxy=proxy, trust_env=trust_env, **args)
@@ -74,6 +74,8 @@ class MistralAILLM(BaseLLM):
74
74
 
75
75
  args = self.parse_args(model.llama_index, window)
76
76
  proxy = window.core.config.get("api_proxy") or None
77
+ if not window.core.config.get("api_proxy.enabled", False):
78
+ proxy = None
77
79
  if "model" not in args:
78
80
  args["model"] = model.id
79
81
  if "api_key" not in args or args["api_key"] == "":
@@ -130,6 +132,8 @@ class MistralAILLM(BaseLLM):
130
132
  args["model_name"] = args.pop("model")
131
133
 
132
134
  proxy = window.core.config.get("api_proxy") or None
135
+ if not window.core.config.get("api_proxy.enabled", False):
136
+ proxy = None
133
137
  return MistralAIEmbeddingWithProxy(**args, proxy=proxy)
134
138
 
135
139
  def init_embeddings(
@@ -101,6 +101,8 @@ class PerplexityLLM(BaseLLM):
101
101
  # -----------------------------------
102
102
  # TODO: fallback
103
103
  proxy = cfg.get("api_proxy") or cfg.get("api_native_perplexity.proxy")
104
+ if not cfg.get("api_proxy.enabled", False):
105
+ proxy = ""
104
106
 
105
107
  class PerplexityWithProxy(LlamaPerplexity):
106
108
  def __init__(self, *a, **kw):
@@ -158,6 +158,8 @@ class xAILLM(BaseLLM):
158
158
  args["api_base"] = cfg.get("api_endpoint_xai", "https://api.x.ai/v1")
159
159
 
160
160
  proxy = cfg.get("api_proxy") or cfg.get("api_native_xai.proxy")
161
+ if not cfg.get("api_proxy.enabled", False):
162
+ proxy = ""
161
163
  timeout = cfg.get("api_native_xai.timeout")
162
164
 
163
165
  # 1) REST (OpenAI-compatible)
@@ -6,7 +6,7 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2025.09.17 07:00:00 #
9
+ # Updated Date: 2025.09.22 12:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from PySide6.QtCore import Qt
@@ -86,9 +86,9 @@ class Output:
86
86
  nodes['icon.indexer'].setToolTip("Indexer")
87
87
  nodes['icon.indexer'].clicked.connect(lambda: tools.get("indexer").toggle())
88
88
 
89
- nodes['icon.remote_tool.web'] = IconLabel(":/icons/web_on.svg", window=self.window)
90
- nodes['icon.remote_tool.web'].setToolTip(trans("icon.remote_tool.web"))
91
- nodes['icon.remote_tool.web'].clicked.connect(lambda: ctrl.chat.remote_tools.toggle('web_search'))
89
+ # nodes['icon.remote_tool.web'] = IconLabel(":/icons/web_on.svg", window=self.window)
90
+ # nodes['icon.remote_tool.web'].setToolTip(trans("icon.remote_tool.web"))
91
+ # nodes['icon.remote_tool.web'].clicked.connect(lambda: ctrl.chat.remote_tools.toggle('web_search'))
92
92
 
93
93
  min_policy = QSizePolicy(QSizePolicy.Minimum, QSizePolicy.Minimum)
94
94
 
@@ -139,7 +139,7 @@ class Output:
139
139
  nodes['anim.loading'].hide()
140
140
 
141
141
  right_bar_layout = QHBoxLayout()
142
- right_bar_layout.addWidget(nodes['icon.remote_tool.web'])
142
+ # right_bar_layout.addWidget(nodes['icon.remote_tool.web'])
143
143
  right_bar_layout.addWidget(nodes['icon.video.capture'])
144
144
  right_bar_layout.addWidget(nodes['icon.audio.input'])
145
145
  right_bar_layout.addWidget(nodes['icon.audio.output'])
@@ -10,7 +10,7 @@
10
10
  # ================================================== #
11
11
 
12
12
  from PySide6.QtWidgets import QApplication
13
- from PySide6.QtCore import QRect, QSize, QPoint, QEvent
13
+ from PySide6.QtCore import QRect, QSize, QPoint, QEvent, Qt
14
14
  from PySide6.QtWidgets import QDialog
15
15
 
16
16
 
@@ -26,6 +26,9 @@ class BaseDialog(QDialog):
26
26
  self.window = window
27
27
  self.id = id
28
28
  self.disable_geometry_store = False
29
+ self.setWindowFlags(
30
+ self.windowFlags() | Qt.WindowMaximizeButtonHint
31
+ )
29
32
 
30
33
  def showEvent(self, event):
31
34
  """
@@ -41,6 +41,7 @@ class HtmlOutput(QWebEngineView):
41
41
  self.html_content = ""
42
42
  self.meta = None
43
43
  self.tab = None
44
+ self.setMouseTracking(True)
44
45
  self.installEventFilter(self)
45
46
 
46
47
  def on_delete(self):
@@ -6,7 +6,7 @@
6
6
  # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
7
  # MIT License #
8
8
  # Created By : Marcin Szczygliński #
9
- # Updated Date: 2025.09.03 00:00:00 #
9
+ # Updated Date: 2025.09.22 12:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from typing import Optional
@@ -30,10 +30,12 @@ class ChatInput(QTextEdit):
30
30
  ICON_PASTE = QIcon(":/icons/paste.svg")
31
31
  ICON_VOLUME = QIcon(":/icons/volume.svg")
32
32
  ICON_SAVE = QIcon(":/icons/save.svg")
33
- ICON_ATTACHMENT = QIcon(":/icons/add.svg")
34
- #ICON_ATTACHMENT = QIcon(":/icons/attachment.svg")
33
+ # ICON_ATTACHMENT = QIcon(":/icons/add.svg")
34
+ ICON_ATTACHMENT = QIcon(":/icons/attachment.svg")
35
35
  ICON_MIC_ON = QIcon(":/icons/mic.svg")
36
36
  ICON_MIC_OFF = QIcon(":/icons/mic_off.svg")
37
+ ICON_WEB_ON = QIcon(":/icons/web_on.svg")
38
+ ICON_WEB_OFF = QIcon(":/icons/web_off.svg")
37
39
 
38
40
  def __init__(self, window=None):
39
41
  """
@@ -87,6 +89,16 @@ class ChatInput(QTextEdit):
87
89
  callback=self.action_toggle_mic,
88
90
  visible=False,
89
91
  )
92
+ # Add a web search toggle button
93
+ self.add_icon(
94
+ key="web",
95
+ icon=self.ICON_WEB_OFF,
96
+ alt_icon=self.ICON_WEB_ON,
97
+ tooltip=trans('icon.remote_tool.web'),
98
+ alt_tooltip=trans('icon.remote_tool.web'),
99
+ callback=self.action_toggle_web,
100
+ visible=True,
101
+ )
90
102
 
91
103
  # Apply initial margins (top padding + left space for icons)
92
104
  self._apply_margins()
@@ -290,6 +302,10 @@ class ChatInput(QTextEdit):
290
302
  """Toggle microphone (button click)."""
291
303
  self.window.dispatch(Event(Event.AUDIO_INPUT_RECORD_TOGGLE))
292
304
 
305
+ def action_toggle_web(self):
306
+ """Toggle web search (button click)."""
307
+ self.window.controller.chat.remote_tools.toggle('web_search')
308
+
293
309
  # -------------------- Left icon bar --------------------
294
310
  # - Add icons: add_icon(...) or add_icons([...])
295
311
  # - Show/hide: set_icon_visible(key, bool)
@@ -8,7 +8,7 @@
8
8
  # Created By : Marcin Szczygliński #
9
9
  # Updated Date: 2025.09.16 02:00:00 #
10
10
  # ================================================== #
11
-
11
+ from PySide6 import QtCore
12
12
  from PySide6.QtCore import Qt, QObject, Signal, Slot, QEvent, QUrl, QCoreApplication, QEventLoop
13
13
  from PySide6.QtWebChannel import QWebChannel
14
14
  from PySide6.QtWebEngineCore import QWebEngineSettings, QWebEnginePage, QWebEngineProfile
@@ -44,6 +44,7 @@ class ChatWebOutput(QWebEngineView):
44
44
  self.meta = None
45
45
  self.tab = None
46
46
  self.setProperty('class', 'layout-output-web')
47
+ self.setMouseTracking(True)
47
48
 
48
49
  # OpenGL widgets
49
50
  self._glwidget = None
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: pygpt-net
3
- Version: 2.6.56
3
+ Version: 2.6.57
4
4
  Summary: Desktop AI Assistant powered by: OpenAI GPT-5, GPT-4, o1, o3, Gemini, Claude, Grok, DeepSeek, and other models supported by Llama Index, and Ollama. Chatbot, agents, completion, image generation, vision analysis, speech-to-text, plugins, MCP, internet access, file handling, command execution and more.
5
5
  License: MIT
6
6
  Keywords: ai,api,api key,app,assistant,bielik,chat,chatbot,chatgpt,claude,dall-e,deepseek,desktop,gemini,gpt,gpt-3.5,gpt-4,gpt-4-vision,gpt-4o,gpt-5,gpt-oss,gpt3.5,gpt4,grok,langchain,llama-index,llama3,mistral,o1,o3,ollama,openai,presets,py-gpt,py_gpt,pygpt,pyside,qt,text completion,tts,ui,vision,whisper
@@ -119,7 +119,7 @@ Description-Content-Type: text/markdown
119
119
 
120
120
  [![pygpt](https://snapcraft.io/pygpt/badge.svg)](https://snapcraft.io/pygpt)
121
121
 
122
- Release: **2.6.56** | build: **2025-09-22** | Python: **>=3.10, <3.14**
122
+ Release: **2.6.57** | build: **2025-09-22** | Python: **>=3.10, <3.14**
123
123
 
124
124
  > Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
125
125
  >
@@ -2321,6 +2321,8 @@ Config -> Settings...
2321
2321
 
2322
2322
  - `OpenGL hardware acceleration`: enables hardware acceleration in `WebEngine / Chromium` renderer. Default: False.
2323
2323
 
2324
+ - `Use proxy`: Enable this option to use a proxy for connections to APIs. Default: False.
2325
+
2324
2326
  - `Proxy address`: Proxy address to be used for connection in API SDKs; supports HTTP/SOCKS, e.g. http://proxy.example.com or socks5://user:pass@host:port
2325
2327
 
2326
2328
  - `Application environment (os.environ)`: Additional environment vars to set on application start.
@@ -3646,6 +3648,12 @@ may consume additional tokens that are not displayed in the main window.
3646
3648
 
3647
3649
  ## Recent changes:
3648
3650
 
3651
+ **2.6.57 (2025-09-22)**
3652
+
3653
+ - Changed: The web search icon has been moved to the input area.
3654
+ - Improved: The local web search plugin has been enhanced to retrieve multiple URLs at once.
3655
+ - Added: Use proxy switch in Settings.
3656
+
3649
3657
  **2.6.56 (2025-09-22)**
3650
3658
 
3651
3659
  - Optimized: Memory usage and performance in streaming and rendering large contexts.
@@ -1,9 +1,9 @@
1
- pygpt_net/CHANGELOG.txt,sha256=QQEO5vUgJw6iGQDRR1YvjWmkvWR4pB-_aJYiwINhCgA,107865
1
+ pygpt_net/CHANGELOG.txt,sha256=e8BqZcCxVkz0IvJESlL2FeNDT-2w2vQ01pcgSVRKV24,108084
2
2
  pygpt_net/LICENSE,sha256=dz9sfFgYahvu2NZbx4C1xCsVn9GVer2wXcMkFRBvqzY,1146
3
- pygpt_net/__init__.py,sha256=Ci4H2LHaPTjudKKvV6m-V64sS94PDp0u4X6CHPOyAeU,1373
3
+ pygpt_net/__init__.py,sha256=cKHQpbtAgrQIYRFwniixbh3NFx2v6d5byxmSVLN9JSo,1373
4
4
  pygpt_net/app.py,sha256=Ov0Qc2rFcjQb--Y8D10C3AHlWMXjNcW748iLTCSV7xk,22759
5
5
  pygpt_net/app_core.py,sha256=PwBOV9wZLtr-O6SxBiazABhYXMHH8kZ6OgbvSv2OiZA,3827
6
- pygpt_net/config.py,sha256=SCps_FfwdrynVAgpn37Ci1qTN8BFC05IGl9sYIi9e0w,16720
6
+ pygpt_net/config.py,sha256=3CA7xXPKQsdRie1CY8_b5-Kk1taWMciUP9CesXRQNNY,18302
7
7
  pygpt_net/controller/__init__.py,sha256=k6_danw2VOQ4YNT-tH0mnfgK4SCL5B2Hyhug6TI1LgY,6100
8
8
  pygpt_net/controller/access/__init__.py,sha256=_XZxGy5U93JGU49GbIB9E_I26_uRV_Zbz18lcp7u23A,510
9
9
  pygpt_net/controller/access/access.py,sha256=nPttwQf6RZHJAlXZ-3fnlcplwXxcJWp8ciq3FMsSssI,3974
@@ -51,7 +51,7 @@ pygpt_net/controller/chat/handler/xai_stream.py,sha256=OVgQA-Za1y73C_BhHbUggth7H
51
51
  pygpt_net/controller/chat/image.py,sha256=hH7-PHBpOZbi6Gl7quVAN-0K66f-BgmP6bwOzWCqxkk,8238
52
52
  pygpt_net/controller/chat/input.py,sha256=5CKEHSzx1SU1F-ktIUt9VA3TLtxP5kSqWyvYzANqruY,7846
53
53
  pygpt_net/controller/chat/output.py,sha256=j0yaQUiRMGAcjRUpxTZlC7EnoBpk84ibUhmRo22E7Xk,8390
54
- pygpt_net/controller/chat/remote_tools.py,sha256=vOu5mv0ocljoloYIjvul_JfKQY1kN_-frvXJBfuApqs,3953
54
+ pygpt_net/controller/chat/remote_tools.py,sha256=ElnBvXQ9hHKf8pfiSKdiiiSMg5wK7JJOuFiYSAOLwCc,4098
55
55
  pygpt_net/controller/chat/render.py,sha256=QaYwfDEEbjhq0KQIVQx5QhY7CGjZGKi6WjK6gspA3y4,21087
56
56
  pygpt_net/controller/chat/response.py,sha256=Aef-iqkJIYaR_wGFQA6lGZ8RnG9Nx_9Mn29LrRZE5U8,11393
57
57
  pygpt_net/controller/chat/stream.py,sha256=8uIwYXwxPEwks4oMKovDXWsG3jBeq2RugdWpYkp9My4,5519
@@ -146,7 +146,7 @@ pygpt_net/controller/theme/theme.py,sha256=EWwY7TjjOIsLXQBLyKgRKZ2N2WoGGJzV1Qf8r
146
146
  pygpt_net/controller/tools/__init__.py,sha256=ds63rOuwLEIe-SlY_sQkhWSdXS0lfVwseUiHkg2NTD4,509
147
147
  pygpt_net/controller/tools/tools.py,sha256=bWxdwL3J2-WHBS3MBiKsS3kTW_rQI_nS9z8-8iKifKg,2920
148
148
  pygpt_net/controller/ui/__init__.py,sha256=cxfh2SYeEDATGAZpcYDqCxYfp4KReQ1CYehevSf89EU,507
149
- pygpt_net/controller/ui/mode.py,sha256=_eqfXxapQQXezk5N6wLhEmJC9nss6foh3MPZU529IUA,9563
149
+ pygpt_net/controller/ui/mode.py,sha256=b332lLObzyuDzNmOhDOaoTshEzytbijWUu0G98xQnzQ,9712
150
150
  pygpt_net/controller/ui/tabs.py,sha256=8xAvuKyMjVaihg5vKH-s3kx-zo4BH8pZtz4flX8Spzg,29937
151
151
  pygpt_net/controller/ui/ui.py,sha256=w6rxJ0bNk_43Hd0vZB0roxZo7h-AmISEhr8ZiqcBTgA,8496
152
152
  pygpt_net/controller/ui/vision.py,sha256=tnzllFV2-sYDHfrP12ATY6ZKi6FcGtQofrsoKF6UcCU,2407
@@ -309,7 +309,7 @@ pygpt_net/core/llm/llm.py,sha256=O4dSkOvs0nKQffdFuGSlScvPCyrTFTNRFJTH-frqOnM,238
309
309
  pygpt_net/core/locale/__init__.py,sha256=5fmTz0u-DvCrII3KqfVAnd8YIQ8F_JDPfN16z5JRcU4,510
310
310
  pygpt_net/core/locale/locale.py,sha256=lplM0fr0oFOcp8Nhoss7EGfbnAqE_kQnX0KbttQjgP0,6059
311
311
  pygpt_net/core/models/__init__.py,sha256=EpJrNNINMcaO4Qc6a87IWZkfBMx7G9YJN-pdLpcqH3w,510
312
- pygpt_net/core/models/models.py,sha256=Gw3YOQFXPV80vQJJSCW9bFbr_Fg0m8DflHrov0vkt58,16915
312
+ pygpt_net/core/models/models.py,sha256=S5Liz5wnrfrvm5gMf4gHrtesrUhQ2yIZEUWOK-omVVg,16997
313
313
  pygpt_net/core/models/ollama.py,sha256=MiCt1Nzd3VHjnj7a0CmGjqUkPuD7401obd7G7KQIZzU,3189
314
314
  pygpt_net/core/modes/__init__.py,sha256=dKpce7VTQCzmSfNBT1WHd_zKzXRthRs7ZKqHQSEtftc,509
315
315
  pygpt_net/core/modes/modes.py,sha256=tlVP9OnQqwOIrv0qt-OMwivslcHEC3WY1X-0r-o0lqI,3067
@@ -318,7 +318,7 @@ pygpt_net/core/notepad/notepad.py,sha256=zYE7BRERDOxROMMfjTwS6M5Vk08DXxXqHdKi1aX
318
318
  pygpt_net/core/platforms/__init__.py,sha256=NRmTzf4xFxcYseYs1mgCPZA0YUH2v0Aufq4CG1_mKDE,513
319
319
  pygpt_net/core/platforms/platforms.py,sha256=4zCAfzZQnxwsJ8lMwKTDvHj7EOMgVS7H4-lTGEErbQA,5203
320
320
  pygpt_net/core/plugins/__init__.py,sha256=NOKL-CNsF4rrKTBpsN-ue92H4pTUGKlgDCwr1iA0geY,511
321
- pygpt_net/core/plugins/plugins.py,sha256=Qnm6y75i5WFz405zR9quIh7oF-XmfVCZwxUl6CS04cI,15198
321
+ pygpt_net/core/plugins/plugins.py,sha256=BGGo-q6VLdk-fcsb4vQjORuh9LHGjHVPMO9-roTNZ5A,17131
322
322
  pygpt_net/core/presets/__init__.py,sha256=NZjBxjGv4fgEX6Hp8FznsWK5QqD1Tl7zyp2Ir3ufXv4,511
323
323
  pygpt_net/core/presets/presets.py,sha256=j5fPlLW4XTe3Tl13MU_D2WBUaLLfhoyPRmKEFqfk2M0,12965
324
324
  pygpt_net/core/profile/__init__.py,sha256=ovh37AKXCbEz1owutNltCXRkmhZj097wcdZLSzkJUvk,511
@@ -400,8 +400,8 @@ pygpt_net/css_rc.py,sha256=PX6g9z5BsD-DXISuR2oq3jHcjiKfcJ4HsgcHez6wGMc,27762
400
400
  pygpt_net/data/audio/click_off.mp3,sha256=aNiRDP1pt-Jy7ija4YKCNFBwvGWbzU460F4pZWZDS90,65201
401
401
  pygpt_net/data/audio/click_on.mp3,sha256=qfdsSnthAEHVXzeyN4LlC0OvXuyW8p7stb7VXtlvZ1k,65201
402
402
  pygpt_net/data/audio/ok.mp3,sha256=LTiV32pEBkpUGBkKkcOdOFB7Eyt_QoP2Nv6c5AaXftk,32256
403
- pygpt_net/data/config/config.json,sha256=ELtN-j-P6VYfUM2F2DArKJaaRAhjWZlu0kasvf4JSEQ,30883
404
- pygpt_net/data/config/models.json,sha256=3PPoeAjSMrQDZ6jPS6aP-wh6TgmOYlI5RiL70FoNy9g,118192
403
+ pygpt_net/data/config/config.json,sha256=DvAELV7vtNzmvJhjemgDqp0VJBFO6yR-wp28Gi89SdI,30913
404
+ pygpt_net/data/config/models.json,sha256=KsebENjmlf_Z_nPap1wbkCe8TaY96I0XyIQX5Zyakoo,118192
405
405
  pygpt_net/data/config/modes.json,sha256=IpjLOm428_vs6Ma9U-YQTNKJNtZw-qyM1lwhh73xl1w,2111
406
406
  pygpt_net/data/config/presets/agent_code_act.json,sha256=GYHqhxtKFLUCvRI3IJAJ7Qe1k8yD9wGGNwManldWzlI,754
407
407
  pygpt_net/data/config/presets/agent_openai.json,sha256=bpDJgLRey_effQkzFRoOEGd4aHUrmzeODSDdNzrf62I,730
@@ -436,7 +436,7 @@ pygpt_net/data/config/presets/current.vision.json,sha256=x1ll5B3ROSKYQA6l27PRGXU
436
436
  pygpt_net/data/config/presets/dalle_white_cat.json,sha256=esqUb43cqY8dAo7B5u99tRC0MBV5lmlrVLnJhTSkL8w,552
437
437
  pygpt_net/data/config/presets/joke_agent.json,sha256=R6n9P7KRb0s-vZWZE7kHdlOfXAx1yYrPmUw8uLyw8OE,474
438
438
  pygpt_net/data/config/presets/joke_expert.json,sha256=jjcoIYEOaEp8kLoIbecxQROiq4J3Zess5w8_HmngPOY,671
439
- pygpt_net/data/config/settings.json,sha256=i9uYhNyS9j2r3eg4z1Qb3oD2ER1Z9FVEGgpArDClv_s,83817
439
+ pygpt_net/data/config/settings.json,sha256=hIxcuvlqbBEv1EkgrKa0l3l8Qo9f2QWHSeZxIdLGRQY,84201
440
440
  pygpt_net/data/config/settings_section.json,sha256=pcfOFk0_eIRaa4nKRxhSVzDXe531YxWJgVx5rLV0J9U,1150
441
441
  pygpt_net/data/css/fix_windows.css,sha256=Mks14Vg25ncbMqZJfAMStrhvZmgHF6kU75ohTWRZeI8,664
442
442
  pygpt_net/data/css/fix_windows.dark.css,sha256=7hGbT_qI5tphYC_WlFpJRDAcmjBb0AQ2Yc-y-_Zzf2M,161
@@ -1706,14 +1706,14 @@ pygpt_net/data/js/katex/katex.min.js,sha256=KLASOtKS2x8pUxWVzCDmlWJ4jhuLb0vtrgak
1706
1706
  pygpt_net/data/js/markdown-it/markdown-it-katex.min.js,sha256=-wMst2a9i8Borapa9_hxPvpQysfFE-yph8GrBmDoA68,1670
1707
1707
  pygpt_net/data/js/markdown-it/markdown-it.min.js,sha256=OMcKHnypGrQOLZ5uYBKYUacX7Rx9Ssu91Bv5UDeRz2g,123618
1708
1708
  pygpt_net/data/languages.csv,sha256=fvtER6vnTXFHQslCh-e0xCfZDQ-ijgW4GYpOJG4U7LY,8289
1709
- pygpt_net/data/locale/locale.de.ini,sha256=zW4I2IbZRuU0QUTzdOaVMNQZBQVQtU-vD-syeeU0kyg,106352
1710
- pygpt_net/data/locale/locale.en.ini,sha256=_e8Bj6RAKWsBQ11ofiXnHOyzfWfgeUH99VOG1fdJToM,100571
1711
- pygpt_net/data/locale/locale.es.ini,sha256=M7uv7pGUMCk3_zXa7LxVUQRqZKZno6mbTtA-GHJ3BMI,107023
1712
- pygpt_net/data/locale/locale.fr.ini,sha256=i5n5Y_i0q1QH21DMnLS-xp7VthhUgoBOp2aw9_f5NtU,109751
1713
- pygpt_net/data/locale/locale.it.ini,sha256=U76QLdUT8DlLRMyI4B4-DAAebfGpexFoARSg0DVJYJQ,104697
1714
- pygpt_net/data/locale/locale.pl.ini,sha256=naKNM6NW1yknmpNB_zugcAcsscLKqy9rOlO-4WNaFKg,104325
1715
- pygpt_net/data/locale/locale.uk.ini,sha256=wg-lRzAJpBREajPsAAugZQB_JU_j9X9Kf4ycqOwvVm8,145795
1716
- pygpt_net/data/locale/locale.zh.ini,sha256=NdlVPdPjaPiXkHG5zA2qjVsn2aVkg2Ic2YGJOau7RBs,93194
1709
+ pygpt_net/data/locale/locale.de.ini,sha256=nGgy62e16E4awYHfNc3ApKpSKTPpZprpMCou5sWnzJc,106514
1710
+ pygpt_net/data/locale/locale.en.ini,sha256=WkWQPwDKVjh30JAZs9ubE8FCNQboK2T-VJ6puGCkGdM,100702
1711
+ pygpt_net/data/locale/locale.es.ini,sha256=x7TdlPMgGZyFwHXsrupk2ZKMZq8izfDUuXuSi4nUSj0,107168
1712
+ pygpt_net/data/locale/locale.fr.ini,sha256=-iFMohEpVnPbTGlD3P7VR7xM4eK3MDCCA69HmnLUgV0,109904
1713
+ pygpt_net/data/locale/locale.it.ini,sha256=4gGE_-uS51ef0hHnBf0q2_qIgtKYYzVoiTsUkGAwi_w,104845
1714
+ pygpt_net/data/locale/locale.pl.ini,sha256=W5I5B2ym0TL_pqTYk0TdZXdJSi5PevtgDyeJrjbHX9U,104463
1715
+ pygpt_net/data/locale/locale.uk.ini,sha256=8xhqrjIdky3j-bGu3iR3VNv_yIMcayoF9Xl_MuAvsC0,146026
1716
+ pygpt_net/data/locale/locale.zh.ini,sha256=B757vumToP69O3B_mMtQhUin7fSKZfP93gT-9MrIZJ0,93318
1717
1717
  pygpt_net/data/locale/plugin.agent.de.ini,sha256=BY28KpfFvgfVYJzcw2o5ScWnR4uuErIYGyc3NVHlmTw,1714
1718
1718
  pygpt_net/data/locale/plugin.agent.en.ini,sha256=HwOWCI7e8uzlIgyRWRVyr1x6Xzs8Xjv5pfEc7jfLOo4,1728
1719
1719
  pygpt_net/data/locale/plugin.agent.es.ini,sha256=bqaJQne8HPKFVtZ8Ukzo1TSqVW41yhYbGUqW3j2x1p8,1680
@@ -1860,7 +1860,7 @@ pygpt_net/data/locale/plugin.openai_vision.it.ini,sha256=jPnYzeVa6ulF7P5c4mr7REr
1860
1860
  pygpt_net/data/locale/plugin.openai_vision.pl.ini,sha256=JOywxX2jmf1kT097u9X85JJpdsvoRO1-Hx55YQHMErs,1484
1861
1861
  pygpt_net/data/locale/plugin.openai_vision.uk.ini,sha256=sUopD45q1mOKwTUIOnBP4vheUtrBcp21x1h4uoKthSM,2275
1862
1862
  pygpt_net/data/locale/plugin.openai_vision.zh.ini,sha256=_kyoxidMj1le4Omz1oAMegFnniAKPihSC3Y4bznMccI,1288
1863
- pygpt_net/data/locale/plugin.osm.en.ini,sha256=kK51wNCtIvyG4gMjFw1Ssv9ItL1aIFIgz5wjBr_EtyY,1875
1863
+ pygpt_net/data/locale/plugin.osm.en.ini,sha256=AlJQWdgSSB2J8pivehNm_zPtJU765_umo3TDW26L-PA,1876
1864
1864
  pygpt_net/data/locale/plugin.real_time.de.ini,sha256=GPz0E6qcyzftdE61lKqkK-wUvnsgrcxwOeg19-JhdCY,712
1865
1865
  pygpt_net/data/locale/plugin.real_time.en.ini,sha256=_CBscABhj1feneX4ohr-jtt9meGO8fcMDGDzdBl4jyw,675
1866
1866
  pygpt_net/data/locale/plugin.real_time.es.ini,sha256=CN-d7cs7ymsSbavjzSgvL20sQ0D2akbULvphGIR1pnI,713
@@ -1877,7 +1877,7 @@ pygpt_net/data/locale/plugin.voice_control.it.ini,sha256=vint_A1cgeYyzA3JgFgDwdA
1877
1877
  pygpt_net/data/locale/plugin.voice_control.pl.ini,sha256=MAgIqKek5JKg6FYARkXrIe7h8cv8m9zLPPzC9Jm_Zgo,340
1878
1878
  pygpt_net/data/locale/plugin.voice_control.uk.ini,sha256=3TmKeDSw-UckKggwjJRNAdrdhFl1UoPIqBxn2SMzHHU,545
1879
1879
  pygpt_net/data/locale/plugin.voice_control.zh.ini,sha256=SZNVNOtJedH0IaH44YB4ekvYon8Z8dEkYTi6ZsC0S6k,282
1880
- pygpt_net/data/locale/plugin.wolfram.en.ini,sha256=o4pgq8CJNqvpJhEXKnS6o1e7hYKb7TdJSAe6VgZi140,1374
1880
+ pygpt_net/data/locale/plugin.wolfram.en.ini,sha256=Ov-Rbl7aDfURMVqgckxma7QqkS59pVULL6VHERd8ICo,1375
1881
1881
  pygpt_net/data/logo.png,sha256=asjkGb9cP7vjVx9Hdne2bI2GcSlcQ8r_3LBp_znVZj4,19418
1882
1882
  pygpt_net/data/prompts.csv,sha256=dmSg9d3TFPJKvcU7_2hBjA9q1qxjEX-lIPjx1j9rxsM,83051
1883
1883
  pygpt_net/data/themes/dark.css,sha256=JlaKPwzZYlY-wGUoMnUeim6JHDnA_oRnf5pQmBPbnqo,541
@@ -2000,10 +2000,10 @@ pygpt_net/plugin/cmd_system/plugin.py,sha256=ht8QHVI0XWScFFY7zvfWClB52r1x8ZlAms9
2000
2000
  pygpt_net/plugin/cmd_system/runner.py,sha256=DfE8o0qAqt2BVpb1J70u02wYoH7dj9leE-AbTdMNYo8,7257
2001
2001
  pygpt_net/plugin/cmd_system/worker.py,sha256=-Slg8nj7rGPacfR4NuIu3zMXr8Wv-mfFp2I5o9tB0qo,3914
2002
2002
  pygpt_net/plugin/cmd_web/__init__.py,sha256=tvF6upS93L61NRbkQmscSJXM7ZzPlmVj16mVHUM-NHU,510
2003
- pygpt_net/plugin/cmd_web/config.py,sha256=2zGZgAh9tL9DiqvqUk0PqcFZWcoAMU7vD8SzypRy2rU,14268
2003
+ pygpt_net/plugin/cmd_web/config.py,sha256=XXeczlWJYh6BopfJ45eA8zpoy0iOiqLaRMtUdzmkkeg,14319
2004
2004
  pygpt_net/plugin/cmd_web/plugin.py,sha256=gxWNhYh5vthFB7FJ90UNY6rY12oDk_GRZ78Q-A0qe2c,14550
2005
2005
  pygpt_net/plugin/cmd_web/websearch.py,sha256=_e0-A2iZz4niwf5Krk5nbR3GVgG32xkD4O5opvFDBRk,14598
2006
- pygpt_net/plugin/cmd_web/worker.py,sha256=40CyZgk29mgS-FTd5aqtBysN8c9FZFCmmN-2JXPtRLU,14970
2006
+ pygpt_net/plugin/cmd_web/worker.py,sha256=_QWN_AZ3QJxqnNL8eJTDHwJtuBdYfQM-vr4zcEcgAm0,21478
2007
2007
  pygpt_net/plugin/crontab/__init__.py,sha256=hPQmRhO94o009XtF0KgIwTXCeh9a3ZkgvZqqTKXi9Q8,510
2008
2008
  pygpt_net/plugin/crontab/config.py,sha256=9WjGHXv8y0tXXrA-sK52KGqCoRwYa6zU-cwuuGNTWRw,2620
2009
2009
  pygpt_net/plugin/crontab/plugin.py,sha256=re10682yuXnpFFqez5WqDLt_wxzkqiDBpLrZ1jK5i5A,6228
@@ -2165,7 +2165,7 @@ pygpt_net/provider/api/openai/vision.py,sha256=dsG-pAr1MP-A1aQLc3Yn2QzPNwMlPGQEi
2165
2165
  pygpt_net/provider/api/openai/worker/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2166
2166
  pygpt_net/provider/api/openai/worker/assistants.py,sha256=z1fZzl59FYMVXxv48r9JVIzSCFgLzYOeKXhreZcIzO8,21538
2167
2167
  pygpt_net/provider/api/openai/worker/importer.py,sha256=RsjDs5le-kH7fIgmkzrlbc2iffVDjEAc71UZq_CFw5k,16378
2168
- pygpt_net/provider/api/x_ai/__init__.py,sha256=J7bwClg59Cxal1bP7btRX-rKK3n93V6z35wGZk4Azso,8125
2168
+ pygpt_net/provider/api/x_ai/__init__.py,sha256=Ae8uW0lJqK6avq0U8MPZXk6NmlwbG1ku448xa64i3Ow,8193
2169
2169
  pygpt_net/provider/api/x_ai/audio.py,sha256=6ePxjNqokUPmiuh0utC8udgFU9Jha5ScBJ6TKcIDZR8,1065
2170
2170
  pygpt_net/provider/api/x_ai/chat.py,sha256=uiWabPG6QmWVxbwt-4gNLCzL-zK2rmJVdr9HB7u826k,38257
2171
2171
  pygpt_net/provider/api/x_ai/image.py,sha256=kko5AMKs7XcjgdvrlpT90h4vvIR3_eQkOjJ1q5TvHn4,7983
@@ -2221,9 +2221,9 @@ pygpt_net/provider/core/calendar/db_sqlite/storage.py,sha256=QDclQCQdr4QyRIqjgGX
2221
2221
  pygpt_net/provider/core/config/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
2222
2222
  pygpt_net/provider/core/config/base.py,sha256=cbvzbMNqL2XgC-36gGubnU37t94AX7LEw0lecb2Nm80,1365
2223
2223
  pygpt_net/provider/core/config/json_file.py,sha256=GCcpCRQnBiSLWwlGbG9T3ZgiHkTfp5Jsg2KYkZcakBw,6789
2224
- pygpt_net/provider/core/config/patch.py,sha256=cUrzuvGU0ChbMRqEuv50IhcvDWk02rN8rLAfCm4sxGo,5635
2224
+ pygpt_net/provider/core/config/patch.py,sha256=9GhWbypefJI1jNqbBUqfAT5Z_MW8mW-42dKr8JkDAN8,6439
2225
2225
  pygpt_net/provider/core/config/patches/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2226
- pygpt_net/provider/core/config/patches/patch_before_2_6_42.py,sha256=LRjSyLwpLObmN4JWnzQpjLIdf4PHvq-l-5q6ZdNV_WY,127092
2226
+ pygpt_net/provider/core/config/patches/patch_before_2_6_42.py,sha256=XJ6j0HQUN2ehWIGP4bJQUX163p8WD2-l2AYC0gRW1rw,127168
2227
2227
  pygpt_net/provider/core/ctx/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
2228
2228
  pygpt_net/provider/core/ctx/base.py,sha256=Tfb4MDNe9BXXPU3lbzpdYwJF9S1oa2-mzgu5XT4It9g,3003
2229
2229
  pygpt_net/provider/core/ctx/db_sqlite/__init__.py,sha256=0dP8VhI4bnFsQQKxAkaleKFlyaMycDD_cnE7gBCa57Y,512
@@ -2276,15 +2276,15 @@ pygpt_net/provider/core/prompt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5
2276
2276
  pygpt_net/provider/core/prompt/base.py,sha256=EYUA30T1QwJ9RSD0uW5x6VEstgIXNwgutmaXI64BWhw,1304
2277
2277
  pygpt_net/provider/core/prompt/json_file.py,sha256=5yfW1RgEa36tX4-ntze4PavWLry0YG43D2LO23_MrzE,4838
2278
2278
  pygpt_net/provider/llms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2279
- pygpt_net/provider/llms/anthropic.py,sha256=3amHgC6h5BHQhZsK08y-04ncpfVF5oJzEGkHuaIVLKk,6177
2279
+ pygpt_net/provider/llms/anthropic.py,sha256=ejXUFIjXwyvpWYpOUDrCgWlMojRDlNRmaCiPsMDWS08,6359
2280
2280
  pygpt_net/provider/llms/azure_openai.py,sha256=Q7LUfkXW7EQiUmC7h06a2cL4SK-WZowN5eTEB-3ifn4,3966
2281
- pygpt_net/provider/llms/base.py,sha256=_qjVRHeOp24R-eI0EovG4X0Ylr-EZoV0upLpz3MlycI,6849
2282
- pygpt_net/provider/llms/deepseek_api.py,sha256=GH6kQAD1cgKuhSOxKIp7LO1a-jYDuyN51Z3J0DTQFJY,3653
2283
- pygpt_net/provider/llms/google.py,sha256=UL9s-YUaFAU_1BZhkB9qkNWVgww50MJzwTXahpup5QE,5658
2281
+ pygpt_net/provider/llms/base.py,sha256=y2h5Am6nGBadgGicVG8kfdaEGKHEONdGIijFsSP2qJY,6924
2282
+ pygpt_net/provider/llms/deepseek_api.py,sha256=lTCJaXK7t-IE3FOYVlROGT0lf2h7-fnyZRUV5fFDAMQ,3743
2283
+ pygpt_net/provider/llms/google.py,sha256=j6k9XbTN9681TQeGrTWeAS6nDGPmrE2239JIGjDbuVk,5733
2284
2284
  pygpt_net/provider/llms/hugging_face.py,sha256=qWyGVqosDw9WVsKbZc5IG7j4jjfVPeCKr6gPAn8Tyus,1800
2285
- pygpt_net/provider/llms/hugging_face_api.py,sha256=KnD9R-6eFHFd82_uP--UXzmHi_t6ijUnVK8bANKCDx0,6814
2285
+ pygpt_net/provider/llms/hugging_face_api.py,sha256=l-uZ9MpTmY2wHOwnVIgv5KlITVe3U2jewTKrmTDJE3o,6979
2286
2286
  pygpt_net/provider/llms/hugging_face_embedding.py,sha256=Gho4RiOGT9Fw3kt7bSIKVP6VWXzAQ283jN5SaUAoQrI,3103
2287
- pygpt_net/provider/llms/hugging_face_router.py,sha256=fj6VxM_AvU5Jvg_bmk3y4yGDSsXM6HUnJkeUii1OUE4,4926
2287
+ pygpt_net/provider/llms/hugging_face_router.py,sha256=2CTIzdPvKAe-fNTZxL4j03z8WnMttp_f6vayCGGtWnY,5016
2288
2288
  pygpt_net/provider/llms/llama_index/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2289
2289
  pygpt_net/provider/llms/llama_index/openai/__init__.py,sha256=nkQoENFdv-dmjf50Ic-iZuVhZisCfFwwDSpK4h6iLVM,183
2290
2290
  pygpt_net/provider/llms/llama_index/openai/base.py,sha256=Z6NAmZ3OBvGLDNmYdJfB3Vp95BdHSTQriPVsCTYPeoU,42259
@@ -2294,15 +2294,15 @@ pygpt_net/provider/llms/llama_index/openai/utils.py,sha256=IdvbjJ2y5zWDkntoPgBZ2
2294
2294
  pygpt_net/provider/llms/llama_index/x_ai/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2295
2295
  pygpt_net/provider/llms/llama_index/x_ai/embedding.py,sha256=QrGgpkD0F4Jm5cMJgN6oYai7UK_bJ0YoGr7Uvy5GtRU,2458
2296
2296
  pygpt_net/provider/llms/local.py,sha256=zfiO3-eRe216l3qumrUUR1YotzY4voFI5fyqEpGL_x0,2724
2297
- pygpt_net/provider/llms/mistral.py,sha256=RdbzpPDTWy5q5W7ojZFu0-r_wMcVZ2bETyLK9ISuiBY,6594
2297
+ pygpt_net/provider/llms/mistral.py,sha256=BstHVTS-7luMEoInzNNQqbR9BR9_ezH9MAsHcS3r-E4,6778
2298
2298
  pygpt_net/provider/llms/ollama.py,sha256=vVqA22eH-APgyfHCaHSvJlAgxLSvspvZSaOCeaKWQCw,4434
2299
2299
  pygpt_net/provider/llms/ollama_custom.py,sha256=WVbLiEEwnz5loKiLy7EYmpuWz0Tp5Vhd1vOUB2051kI,24167
2300
2300
  pygpt_net/provider/llms/open_router.py,sha256=k4WgtT6A13bwhdT7oKQe4dO78x0Wog5deebbvfL7YVA,3815
2301
2301
  pygpt_net/provider/llms/openai.py,sha256=oPnnrMTypWnNzcx9twctIhTsXTH0GYuNRfeREZOC1CM,5581
2302
- pygpt_net/provider/llms/perplexity.py,sha256=saNelgOXaePdJIX6eS3XQ0Nh7Nt1lGsC5PE1Lngv6w8,6098
2302
+ pygpt_net/provider/llms/perplexity.py,sha256=JMMVS2zZBxApVhJQZKZ0i_BuP6dYDo19haEf-riZYcM,6173
2303
2303
  pygpt_net/provider/llms/utils.py,sha256=5p83te7Hv9jUTtW-VXDDwzRO_0qvFSN5FdeRYioUedk,1336
2304
2304
  pygpt_net/provider/llms/voyage.py,sha256=3tuLmayekAy-pNIK9z-Gwz9jEVYdt7CsAtsE57feUlA,1918
2305
- pygpt_net/provider/llms/x_ai.py,sha256=jlJVau9OYLPxX5ZnpXCxID105ckCVUd_PL0D2cyy7iM,7729
2305
+ pygpt_net/provider/llms/x_ai.py,sha256=XXaWh_zUwYkXbEPLMv1Xia-_R9H6fhlbSjlu6AVBI8A,7804
2306
2306
  pygpt_net/provider/loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
2307
2307
  pygpt_net/provider/loaders/base.py,sha256=3-qzzGAF2jxhriNHjE3Y2GtDXxs1_2_BIloaVJS4qzQ,3101
2308
2308
  pygpt_net/provider/loaders/file_csv.py,sha256=br4zlMFXMVkhq1n71tqCNk2CS1wBxvClpn9vivq3l2g,1266
@@ -2474,7 +2474,7 @@ pygpt_net/ui/layout/chat/chat.py,sha256=xfdVb_HUqiC9HkV-iXbt1ucqnFeIVYVVc8yG0cW3
2474
2474
  pygpt_net/ui/layout/chat/explorer.py,sha256=Jg6aK5qTCTNgb4EXr-zeZXSexARQSzn4W8unqV1MGe8,1358
2475
2475
  pygpt_net/ui/layout/chat/input.py,sha256=Wnb29-1MQPD4AUU4CZN4vz6tba_L6tgIyJX-Xr4cgxY,9969
2476
2476
  pygpt_net/ui/layout/chat/markdown.py,sha256=hjYY8Da1z0IZZD086_csMcDY1wwagpuQTDZ-XfgeNgs,18656
2477
- pygpt_net/ui/layout/chat/output.py,sha256=aNFC41K9C8EWuViEiBuYtWtDojuOzCIJyAru5pJ_h20,7656
2477
+ pygpt_net/ui/layout/chat/output.py,sha256=7HlkEJuMZlqM9JE0axQpt0bAQWRpOPtlcwUwjV6fues,7664
2478
2478
  pygpt_net/ui/layout/chat/painter.py,sha256=XmogOPKRIBMldZOmJDNSVZLqFC_JTCXLu6Eyfw1Da3c,8552
2479
2479
  pygpt_net/ui/layout/ctx/__init__.py,sha256=NJ9L0yJKIx1nKnk2sczp7ILWVbu2hfpvUz4E56EFuPI,509
2480
2480
  pygpt_net/ui/layout/ctx/ctx.py,sha256=GDJyolAnFlAd49bbu9-LGsCxOUTAImSH5In4i8YHFOo,1653
@@ -2531,7 +2531,7 @@ pygpt_net/ui/widget/dialog/alert.py,sha256=6EYiiac1kuuWq3hcnm1DjVPRFdSYWaEe0gJ5L
2531
2531
  pygpt_net/ui/widget/dialog/applog.py,sha256=T9ZHk__9Bm0HGJLZtps4NecNbpapu7R9TIkzxOfTPCs,1502
2532
2532
  pygpt_net/ui/widget/dialog/assistant_store.py,sha256=cCccypJvfpfeKRBRyt7jU6D-V9HN-J1bBkng-C2bN74,1712
2533
2533
  pygpt_net/ui/widget/dialog/audio.py,sha256=CgKi1wGw9xVZsHua3HelrXdOgQ_G-CypR_JLznzh6rw,551
2534
- pygpt_net/ui/widget/dialog/base.py,sha256=S8G2wMSU1FzzRuvtFAAw05vhk1uwqBidcf-wtpWUrOk,3800
2534
+ pygpt_net/ui/widget/dialog/base.py,sha256=5juYUwQOzPH6dYaBkWsJJ4zpUZlBVs5VhgoAhtxg2D8,3904
2535
2535
  pygpt_net/ui/widget/dialog/confirm.py,sha256=DrfB_UFj2WxXv-syh3RU0dwm3Y2v5PSzC5I-A7LUI40,2550
2536
2536
  pygpt_net/ui/widget/dialog/create.py,sha256=BaTn9SVL4QiGk6JCcsArVLQOOsmrdfkdExm_T5rHJe8,2191
2537
2537
  pygpt_net/ui/widget/dialog/db.py,sha256=arTJ27_znjUXnu6EKji1NBjOgq6WUEAT4SnSjDahyV0,1585
@@ -2615,20 +2615,20 @@ pygpt_net/ui/widget/textarea/console.py,sha256=nCV92S5JR4DiRWH6akWhygxg9kaLLxnCP
2615
2615
  pygpt_net/ui/widget/textarea/create.py,sha256=f4SrAW-2hjkKYIPrwVliSYH-LkgsQP8G13Jkq8EKhuI,1358
2616
2616
  pygpt_net/ui/widget/textarea/editor.py,sha256=gmNzsMrCQXGkFyVfl0woc_klmjsyiXuOdcG8Lk2PSR4,5038
2617
2617
  pygpt_net/ui/widget/textarea/find.py,sha256=fQu6t-_LTZGFRNCkezywtMVsL-DocIkGBR_HbRFq61g,1534
2618
- pygpt_net/ui/widget/textarea/html.py,sha256=4DOnUYtHBhN-6X5w13GK-ceAAvTPd8M4mH_N-c3L_h0,12344
2619
- pygpt_net/ui/widget/textarea/input.py,sha256=wPISqeT64WR-zm2zX_Bw9dQLIDAIJZ5aEj08afMdNjc,35581
2618
+ pygpt_net/ui/widget/textarea/html.py,sha256=aqJGSXz-0f1FkWfjG5vkf5ZXc_4TmGlMIcJI8zyiZWo,12380
2619
+ pygpt_net/ui/widget/textarea/input.py,sha256=cU83-sYqT_bZEAV79jiD0CSOupHuGVwmQeIsZWUpReQ,36177
2620
2620
  pygpt_net/ui/widget/textarea/name.py,sha256=vcyAY_pJWJoS_IJqdJjhIeDSniTL9rfpt8aaobWNFVY,1132
2621
2621
  pygpt_net/ui/widget/textarea/notepad.py,sha256=yGXXUN3pBs5UQgx4ipa8_Xn8JWxbNEoYVsnLg4BvtcY,9718
2622
2622
  pygpt_net/ui/widget/textarea/output.py,sha256=3yvlnxXhss-i5eRHwmNxxRZMhP4fiTbKA3esNyhrBt8,6934
2623
2623
  pygpt_net/ui/widget/textarea/rename.py,sha256=NwuGRIeWMo7WfsMguAFpTqdOz1eTiXbxrDXGsbWF_TY,1358
2624
2624
  pygpt_net/ui/widget/textarea/search_input.py,sha256=aoOlunBwxn-z3gIMNKfnghHX00sC36wQHl87dRlDJlM,5227
2625
2625
  pygpt_net/ui/widget/textarea/url.py,sha256=xbNQxoM5fYI1ZWbvybQkPmNPrIq3yhtNPBOSOWftZCg,1337
2626
- pygpt_net/ui/widget/textarea/web.py,sha256=Gfp1fkqNbHhOmB1cmz4IM6wAL8JQzXZ-HqMWbLxZd48,20207
2626
+ pygpt_net/ui/widget/textarea/web.py,sha256=sVRSmudPwPfjK2h7q-e6Ae4b-677BHLe20t-xjxcDDI,20269
2627
2627
  pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
2628
2628
  pygpt_net/ui/widget/vision/camera.py,sha256=v1qEncaZr5pXocO5Cpk_lsgfCMvfFigdJmzsYfzvCl0,1877
2629
2629
  pygpt_net/utils.py,sha256=m0fkJ06JaUKvTbxZQgdY-mpYt7ReZZhq1D90a2ANOQ0,10832
2630
- pygpt_net-2.6.56.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
2631
- pygpt_net-2.6.56.dist-info/METADATA,sha256=4lRXHWyHgMwoY4qsgYCg3QaKqLwfm97czMH7tKiVauI,166866
2632
- pygpt_net-2.6.56.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
2633
- pygpt_net-2.6.56.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2634
- pygpt_net-2.6.56.dist-info/RECORD,,
2630
+ pygpt_net-2.6.57.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
2631
+ pygpt_net-2.6.57.dist-info/METADATA,sha256=_Vy3gCFMn8ya2c4rQzVUlG-qt2PhxoAMe6kqjWvB7sA,167180
2632
+ pygpt_net-2.6.57.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
2633
+ pygpt_net-2.6.57.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2634
+ pygpt_net-2.6.57.dist-info/RECORD,,