pygpt-net 2.5.8__py3-none-any.whl → 2.5.10__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.
CHANGELOG.md CHANGED
@@ -1,5 +1,18 @@
1
1
  # CHANGELOG
2
2
 
3
+ ## 2.5.10 (2025-03-06)
4
+
5
+ - Added a new model: Claude 3.7 Sonnet.
6
+ - Fixed the context switch issue when the column changed and the tab is not a chat tab.
7
+ - LlamaIndex upgraded to 0.12.22.
8
+ - LlamaIndex LLMs upgraded to recent versions.
9
+
10
+ ## 2.5.9 (2025-03-05)
11
+
12
+ - Improved formatting of HTML code in the output.
13
+ - Disabled automatic indentation parsing as code blocks.
14
+ - Disabled automatic scrolling of the notepad when opening a tab.
15
+
3
16
  ## 2.5.8 (2025-03-02)
4
17
 
5
18
  - Added a new mode: Research (Perplexity) powered by: https://perplexity.ai - beta.
README.md CHANGED
@@ -2,7 +2,7 @@
2
2
 
3
3
  [![pygpt](https://snapcraft.io/pygpt/badge.svg)](https://snapcraft.io/pygpt)
4
4
 
5
- Release: **2.5.8** | build: **2025.03.02** | Python: **>=3.10, <3.13**
5
+ Release: **2.5.10** | build: **2025.03.06** | Python: **>=3.10, <3.13**
6
6
 
7
7
  > Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
8
8
  >
@@ -3972,6 +3972,19 @@ may consume additional tokens that are not displayed in the main window.
3972
3972
 
3973
3973
  ## Recent changes:
3974
3974
 
3975
+ **2.5.10 (2025-03-06)**
3976
+
3977
+ - Added a new model: Claude 3.7 Sonnet.
3978
+ - Fixed the context switch issue when the column changed and the tab is not a chat tab.
3979
+ - LlamaIndex upgraded to 0.12.22.
3980
+ - LlamaIndex LLMs upgraded to recent versions.
3981
+
3982
+ **2.5.9 (2025-03-05)**
3983
+
3984
+ - Improved formatting of HTML code in the output.
3985
+ - Disabled automatic indentation parsing as code blocks.
3986
+ - Disabled automatic scrolling of the notepad when opening a tab.
3987
+
3975
3988
  **2.5.8 (2025-03-02)**
3976
3989
 
3977
3990
  - Added a new mode: Research (Perplexity) powered by: https://perplexity.ai - beta.
@@ -4029,70 +4042,6 @@ may consume additional tokens that are not displayed in the main window.
4029
4042
  - Fix: error handling in stream mode.
4030
4043
  - Fix: added check for active plugin tools before tool call.
4031
4044
 
4032
- **2.4.57 (2025-01-19)**
4033
-
4034
- - Logging fix.
4035
-
4036
- **2.4.56 (2025-01-19)**
4037
-
4038
- - Improved tab switching and focus change.
4039
- - Improved global keyboard shortcuts handling.
4040
-
4041
- **2.4.55 (2025-01-18)**
4042
-
4043
- - Added a new option in settings: Audio -> Recording timeout.
4044
- - Added a new option in settings: Audio -> Enable timeout in continuous mode.
4045
-
4046
- **2.4.54 (2025-01-18)**
4047
-
4048
- - Audio output switched from PyGame to PyAudio. It may be necessary to manually connect Alsa in Snap version with: "sudo snap connect pygpt:alsa".
4049
- - Added audio output volume progress bar.
4050
-
4051
- **2.4.53 (2025-01-17)**
4052
-
4053
- - Fix: issue #89
4054
-
4055
- **2.4.52 (2025-01-17)**
4056
-
4057
- - Improved audio input button visibility toggle.
4058
- - Fix: check for required arguments - issue #88.
4059
- - UI Fixes.
4060
-
4061
- **2.4.51 (2025-01-17)**
4062
-
4063
- - Added a "Continuous recording" mode under Audio Input in the Notepad tab, allowing for recording long voice notes and real-time auto-transcription. (beta)
4064
- - A new option has been added in Settings -> Audio -> Continuous recording auto-transcribe interval.
4065
-
4066
- **2.4.50 (2025-01-16)**
4067
-
4068
- - Refactored audio input core.
4069
- - Added audio input volume progress bar.
4070
-
4071
- **2.4.49 (2025-01-16)**
4072
-
4073
- - Fix: stream render in Assistants mode.
4074
- - Fix: items remove in context regen/edit.
4075
-
4076
- **2.4.48 (2025-01-16)**
4077
-
4078
- - Fix: parsing lists in data loaders configuration.
4079
- - Fix: crash on Windows on PySide6 v6.6.0.
4080
- - Added Gemini embeddings to LlamaIndex settings.
4081
- - LlamaIndex upgraded to 0.12.11.
4082
- - Security updates.
4083
-
4084
- **2.4.47 (2025-01-14)**
4085
-
4086
- - Added support for Python 3.12.
4087
- - Added a new model to Chat with Files: gemini-2.0-flash-exp.
4088
- - PySide6 upgraded to 6.6.0.
4089
-
4090
- **2.4.46 (2024-12-16)**
4091
-
4092
- - Added a new tab in Settings: "API Keys", where the API keys configuration for Google and Anthropic models has been relocated.
4093
- - Introduced a new mode in "Chat with Files": "Retrieve Only", which allows for retrieving raw documents from the index.
4094
- - Fixed a bug related to tool calls in the Gemini provider when using Chat with Files mode.
4095
-
4096
4045
  # Credits and links
4097
4046
 
4098
4047
  **Official website:** <https://pygpt.net>
pygpt_net/CHANGELOG.txt CHANGED
@@ -1,3 +1,16 @@
1
+ 2.5.10 (2025-03-06)
2
+
3
+ - Added a new model: Claude 3.7 Sonnet.
4
+ - Fixed the context switch issue when the column changed and the tab is not a chat tab.
5
+ - LlamaIndex upgraded to 0.12.22.
6
+ - LlamaIndex LLMs upgraded to recent versions.
7
+
8
+ 2.5.9 (2025-03-05)
9
+
10
+ - Improved formatting of HTML code in the output.
11
+ - Disabled automatic indentation parsing as code blocks.
12
+ - Disabled automatic scrolling of the notepad when opening a tab.
13
+
1
14
  2.5.8 (2025-03-02)
2
15
 
3
16
  - Added a new mode: Research (Perplexity) powered by: https://perplexity.ai - beta.
pygpt_net/__init__.py CHANGED
@@ -6,15 +6,15 @@
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.03.02 19:00:00 #
9
+ # Updated Date: 2025.03.06 02:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  __author__ = "Marcin Szczygliński"
13
13
  __copyright__ = "Copyright 2025, Marcin Szczygliński"
14
14
  __credits__ = ["Marcin Szczygliński"]
15
15
  __license__ = "MIT"
16
- __version__ = "2.5.8"
17
- __build__ = "2025-03-02"
16
+ __version__ = "2.5.10"
17
+ __build__ = "2025-03-06"
18
18
  __maintainer__ = "Marcin Szczygliński"
19
19
  __github__ = "https://github.com/szczyglis-dev/py-gpt"
20
20
  __report__ = "https://github.com/szczyglis-dev/py-gpt/issues"
@@ -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.02.26 23:00:00 #
9
+ # Updated Date: 2025.03.05 23:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from typing import Optional, Tuple
@@ -31,6 +31,7 @@ class Notepad:
31
31
  """
32
32
  self.window = window
33
33
  self.opened_once = False
34
+ self.opened_idx = []
34
35
 
35
36
  def create(
36
37
  self,
@@ -283,6 +284,9 @@ class Notepad:
283
284
  if tab.type == Tab.TAB_NOTEPAD:
284
285
  idx = tab.data_id
285
286
  if idx in self.window.ui.notepad:
286
- self.window.ui.notepad[idx].scroll_to_bottom()
287
+ if idx not in self.opened_idx:
288
+ self.window.ui.notepad[idx].scroll_to_bottom()
287
289
  if not self.window.ui.notepad[idx].opened:
288
290
  self.window.ui.notepad[idx].opened = True
291
+ if idx not in self.opened_idx:
292
+ self.opened_idx.append(idx)
@@ -283,7 +283,8 @@ class Tabs:
283
283
  return
284
284
  current_ctx = self.window.core.ctx.get_current()
285
285
  if (current_ctx is not None and current_ctx != tab.data_id) or current_ctx is None:
286
- self.window.controller.ctx.select_on_list_only(tab.data_id)
286
+ if tab.type == Tab.TAB_CHAT:
287
+ self.window.controller.ctx.select_on_list_only(tab.data_id)
287
288
  self.window.controller.ui.update()
288
289
  self.update_current()
289
290
 
@@ -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.02.26 23:00:00 #
9
+ # Updated Date: 2025.03.05 23:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import re
@@ -33,6 +33,9 @@ class Helpers:
33
33
  pattern = r"~###~(.*?)~###~"
34
34
  def repl(match):
35
35
  code = match.group(1)
36
+ # restore tags first
37
+ code = code.replace("&lt;", "<")
38
+ code = code.replace("&gt;", ">")
36
39
  escaped_code = html.escape(code)
37
40
  return f'<p class="cmd">{escaped_code}</p>'
38
41
  return re.sub(pattern, repl, text, flags=re.DOTALL)
@@ -48,12 +51,14 @@ class Helpers:
48
51
  text = text.replace("#~###~", "~###~") # fix for #~###~ in text (previous versions)
49
52
  text = text.replace("# ~###~", "~###~") # fix for # ~###~ in text (previous versions)
50
53
 
51
- #text = text.replace("<think>", "{{{{think}}}}")
52
- #text = text.replace("</think>", "{{{{/think}}}}")
53
- #text = text.replace("<", "&lt;")
54
- #text = text.replace(">", "&gt;")
55
- #text = text.replace("{{{{think}}}}", "<think>")
56
- #text = text.replace("{{{{/think}}}}", "</think>")
54
+ # replace HTML tags
55
+ text = text.replace("<think>", "{{{{think}}}}")
56
+ text = text.replace("</think>", "{{{{/think}}}}")
57
+ text = text.replace("<", "&lt;")
58
+ text = text.replace(">", "&gt;")
59
+ text = text.replace("{{{{think}}}}", "<think>")
60
+ text = text.replace("{{{{/think}}}}", "</think>")
61
+ text = text.replace("<think>\n", "<think>")
57
62
 
58
63
  # replace cmd tags
59
64
  text = self.replace_code_tags(text)
@@ -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: 2024.11.21 22:00:00 #
9
+ # Updated Date: 2025.03.05 23:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import os
@@ -32,9 +32,7 @@ class Parser:
32
32
  self.block_idx = 1
33
33
 
34
34
  def init(self):
35
- """
36
- Initialize markdown parser
37
- """
35
+ """Initialize markdown parser"""
38
36
  if self.md is None:
39
37
  self.md = markdown.Markdown(extensions=[
40
38
  'fenced_code',
@@ -42,6 +40,9 @@ class Parser:
42
40
  'sane_lists',
43
41
  MathExtension(enable_dollar_delimiter=True) # math formulas
44
42
  ])
43
+ # disable code blocks parsing (without ` and ```)
44
+ if 'code' in self.md.parser.blockprocessors:
45
+ self.md.parser.blockprocessors.deregister('code')
45
46
 
46
47
  def reset(self):
47
48
  """
@@ -78,7 +79,8 @@ class Parser:
78
79
  self.init()
79
80
  try:
80
81
  text = self.prepare_paths(text.strip())
81
- soup = BeautifulSoup(self.md.convert(text), 'html.parser')
82
+ html = self.md.convert(text)
83
+ soup = BeautifulSoup(html, 'html.parser')
82
84
  self.strip_whitespace_lists(soup) # strip whitespace from codeblocks
83
85
  # if self.window.core.config.get("ctx.convert_lists"):
84
86
  # self.convert_lists_to_paragraphs(soup) # convert lists to paragraphs, DISABLED: 2024-11-03
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "__meta__": {
3
- "version": "2.5.8",
4
- "app.version": "2.5.8",
5
- "updated_at": "2025-03-02T00:00:00"
3
+ "version": "2.5.10",
4
+ "app.version": "2.5.10",
5
+ "updated_at": "2025-03-06T00:00:00"
6
6
  },
7
7
  "access.audio.event.speech": false,
8
8
  "access.audio.event.speech.disabled": [],
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "__meta__": {
3
- "version": "2.5.8",
4
- "app.version": "2.5.8",
5
- "updated_at": "2025-03-02T00:00:00"
3
+ "version": "2.5.10",
4
+ "app.version": "2.5.10",
5
+ "updated_at": "2025-03-06T00:00:00"
6
6
  },
7
7
  "items": {
8
8
  "claude-3-5-sonnet-20240620": {
@@ -56,6 +56,57 @@
56
56
  "tokens": 4096,
57
57
  "default": false
58
58
  },
59
+ "claude-3-7-sonnet-latest": {
60
+ "id": "claude-3-7-sonnet-latest",
61
+ "name": "claude-3-7-sonnet-latest",
62
+ "mode": [
63
+ "llama_index",
64
+ "agent",
65
+ "agent_llama",
66
+ "expert"
67
+ ],
68
+ "langchain": {
69
+ "provider": "anthropic",
70
+ "mode": [
71
+ "chat"
72
+ ],
73
+ "args": [
74
+ {
75
+ "name": "model",
76
+ "value": "claude-3-7-sonnet-latest",
77
+ "type": "str"
78
+ }
79
+ ],
80
+ "env": [
81
+ {
82
+ "name": "ANTHROPIC_API_KEY",
83
+ "value": "{api_key_anthropic}"
84
+ }
85
+ ]
86
+ },
87
+ "llama_index": {
88
+ "provider": "anthropic",
89
+ "mode": [
90
+ "chat"
91
+ ],
92
+ "args": [
93
+ {
94
+ "name": "model",
95
+ "value": "claude-3-7-sonnet-latest",
96
+ "type": "str"
97
+ }
98
+ ],
99
+ "env": [
100
+ {
101
+ "name": "ANTHROPIC_API_KEY",
102
+ "value": "{api_key_anthropic}"
103
+ }
104
+ ]
105
+ },
106
+ "ctx": 200000,
107
+ "tokens": 4096,
108
+ "default": false
109
+ },
59
110
  "claude-3-opus-20240229": {
60
111
  "id": "claude-3-opus-20240229",
61
112
  "name": "claude-3-opus-20240229",
@@ -1,8 +1,8 @@
1
1
  {
2
2
  "__meta__": {
3
- "version": "2.5.8",
4
- "app.version": "2.5.8",
5
- "updated_at": "2025-03-02T00:00:00"
3
+ "version": "2.5.10",
4
+ "app.version": "2.5.10",
5
+ "updated_at": "2025-03-06T00:00:00"
6
6
  },
7
7
  "items": {
8
8
  "chat": {
@@ -2,7 +2,7 @@
2
2
  "name": "*",
3
3
  "ai_name": "",
4
4
  "user_name": "",
5
- "prompt": "You are a helpful assistant.",
5
+ "prompt": "You are a helpful assistant. Use fenced code for code blocks.",
6
6
  "temperature": 1.0,
7
7
  "chat": true,
8
8
  "completion": false,
@@ -2,7 +2,7 @@
2
2
  "name": "*",
3
3
  "ai_name": "",
4
4
  "user_name": "",
5
- "prompt": "",
5
+ "prompt": "You are a helpful assistant. Use fenced code for code blocks.",
6
6
  "temperature": 1.0,
7
7
  "chat": false,
8
8
  "completion": false,
@@ -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.03.02 19:00:00 #
9
+ # Updated Date: 2025.03.06 03:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from packaging.version import parse as parse_version, Version
@@ -509,6 +509,12 @@ class Patch:
509
509
  # add gpt-4.5-preview, sonar, R1
510
510
  updated = True
511
511
 
512
+ # < 2.5.10 <--- add claude-3-7-sonnet-latest
513
+ if old < parse_version("2.5.10"):
514
+ print("Migrating models from < 2.5.10...")
515
+ # add claude-3-7-sonnet-latest
516
+ updated = True
517
+
512
518
  # update file
513
519
  if updated:
514
520
  data = dict(sorted(data.items()))
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pygpt-net
3
- Version: 2.5.8
3
+ Version: 2.5.10
4
4
  Summary: Desktop AI Assistant powered by models: OpenAI o1, GPT-4o, GPT-4, GPT-4 Vision, GPT-3.5, DALL-E 3, Llama 3, Mistral, Gemini, Claude, DeepSeek, Bielik, and other models supported by Langchain, Llama Index, and Ollama. Features include chatbot, text completion, image generation, vision analysis, speech-to-text, internet access, file handling, command execution and more.
5
5
  Home-page: https://pygpt.net
6
6
  License: MIT
@@ -37,21 +37,21 @@ Requires-Dist: langchain (>=0.2.14,<0.3.0)
37
37
  Requires-Dist: langchain-community (>=0.2.12,<0.3.0)
38
38
  Requires-Dist: langchain-experimental (>=0.0.64,<0.0.65)
39
39
  Requires-Dist: langchain-openai (>=0.1.22,<0.2.0)
40
- Requires-Dist: llama-index (>=0.12.11,<0.13.0)
40
+ Requires-Dist: llama-index (>=0.12.22,<0.13.0)
41
41
  Requires-Dist: llama-index-agent-openai (>=0.4.2,<0.5.0)
42
- Requires-Dist: llama-index-core (==0.12.11)
42
+ Requires-Dist: llama-index-core (==0.12.22)
43
43
  Requires-Dist: llama-index-embeddings-azure-openai (>=0.3.0,<0.4.0)
44
44
  Requires-Dist: llama-index-embeddings-gemini (>=0.3.1,<0.4.0)
45
45
  Requires-Dist: llama-index-embeddings-huggingface-api (>=0.3.0,<0.4.0)
46
46
  Requires-Dist: llama-index-embeddings-ollama (>=0.5.0,<0.6.0)
47
47
  Requires-Dist: llama-index-embeddings-openai (>=0.3.1,<0.4.0)
48
- Requires-Dist: llama-index-llms-anthropic (>=0.6.3,<0.7.0)
49
- Requires-Dist: llama-index-llms-azure-openai (>=0.3.0,<0.4.0)
48
+ Requires-Dist: llama-index-llms-anthropic (>=0.6.8,<0.7.0)
49
+ Requires-Dist: llama-index-llms-azure-openai (>=0.3.1,<0.4.0)
50
50
  Requires-Dist: llama-index-llms-deepseek (>=0.1.0,<0.2.0)
51
- Requires-Dist: llama-index-llms-gemini (>=0.4.3,<0.5.0)
51
+ Requires-Dist: llama-index-llms-gemini (>=0.4.11,<0.5.0)
52
52
  Requires-Dist: llama-index-llms-huggingface-api (>=0.3.1,<0.4.0)
53
53
  Requires-Dist: llama-index-llms-ollama (>=0.5.0,<0.6.0)
54
- Requires-Dist: llama-index-llms-openai (>=0.3.13,<0.4.0)
54
+ Requires-Dist: llama-index-llms-openai (>=0.3.25,<0.4.0)
55
55
  Requires-Dist: llama-index-llms-openai-like (>=0.3.3,<0.4.0)
56
56
  Requires-Dist: llama-index-multi-modal-llms-openai (>=0.4.2,<0.5.0)
57
57
  Requires-Dist: llama-index-readers-chatgpt-plugin (>=0.3.0,<0.4.0)
@@ -94,7 +94,7 @@ Description-Content-Type: text/markdown
94
94
 
95
95
  [![pygpt](https://snapcraft.io/pygpt/badge.svg)](https://snapcraft.io/pygpt)
96
96
 
97
- Release: **2.5.8** | build: **2025.03.02** | Python: **>=3.10, <3.13**
97
+ Release: **2.5.10** | build: **2025.03.06** | Python: **>=3.10, <3.13**
98
98
 
99
99
  > Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
100
100
  >
@@ -4064,6 +4064,19 @@ may consume additional tokens that are not displayed in the main window.
4064
4064
 
4065
4065
  ## Recent changes:
4066
4066
 
4067
+ **2.5.10 (2025-03-06)**
4068
+
4069
+ - Added a new model: Claude 3.7 Sonnet.
4070
+ - Fixed the context switch issue when the column changed and the tab is not a chat tab.
4071
+ - LlamaIndex upgraded to 0.12.22.
4072
+ - LlamaIndex LLMs upgraded to recent versions.
4073
+
4074
+ **2.5.9 (2025-03-05)**
4075
+
4076
+ - Improved formatting of HTML code in the output.
4077
+ - Disabled automatic indentation parsing as code blocks.
4078
+ - Disabled automatic scrolling of the notepad when opening a tab.
4079
+
4067
4080
  **2.5.8 (2025-03-02)**
4068
4081
 
4069
4082
  - Added a new mode: Research (Perplexity) powered by: https://perplexity.ai - beta.
@@ -4121,70 +4134,6 @@ may consume additional tokens that are not displayed in the main window.
4121
4134
  - Fix: error handling in stream mode.
4122
4135
  - Fix: added check for active plugin tools before tool call.
4123
4136
 
4124
- **2.4.57 (2025-01-19)**
4125
-
4126
- - Logging fix.
4127
-
4128
- **2.4.56 (2025-01-19)**
4129
-
4130
- - Improved tab switching and focus change.
4131
- - Improved global keyboard shortcuts handling.
4132
-
4133
- **2.4.55 (2025-01-18)**
4134
-
4135
- - Added a new option in settings: Audio -> Recording timeout.
4136
- - Added a new option in settings: Audio -> Enable timeout in continuous mode.
4137
-
4138
- **2.4.54 (2025-01-18)**
4139
-
4140
- - Audio output switched from PyGame to PyAudio. It may be necessary to manually connect Alsa in Snap version with: "sudo snap connect pygpt:alsa".
4141
- - Added audio output volume progress bar.
4142
-
4143
- **2.4.53 (2025-01-17)**
4144
-
4145
- - Fix: issue #89
4146
-
4147
- **2.4.52 (2025-01-17)**
4148
-
4149
- - Improved audio input button visibility toggle.
4150
- - Fix: check for required arguments - issue #88.
4151
- - UI Fixes.
4152
-
4153
- **2.4.51 (2025-01-17)**
4154
-
4155
- - Added a "Continuous recording" mode under Audio Input in the Notepad tab, allowing for recording long voice notes and real-time auto-transcription. (beta)
4156
- - A new option has been added in Settings -> Audio -> Continuous recording auto-transcribe interval.
4157
-
4158
- **2.4.50 (2025-01-16)**
4159
-
4160
- - Refactored audio input core.
4161
- - Added audio input volume progress bar.
4162
-
4163
- **2.4.49 (2025-01-16)**
4164
-
4165
- - Fix: stream render in Assistants mode.
4166
- - Fix: items remove in context regen/edit.
4167
-
4168
- **2.4.48 (2025-01-16)**
4169
-
4170
- - Fix: parsing lists in data loaders configuration.
4171
- - Fix: crash on Windows on PySide6 v6.6.0.
4172
- - Added Gemini embeddings to LlamaIndex settings.
4173
- - LlamaIndex upgraded to 0.12.11.
4174
- - Security updates.
4175
-
4176
- **2.4.47 (2025-01-14)**
4177
-
4178
- - Added support for Python 3.12.
4179
- - Added a new model to Chat with Files: gemini-2.0-flash-exp.
4180
- - PySide6 upgraded to 6.6.0.
4181
-
4182
- **2.4.46 (2024-12-16)**
4183
-
4184
- - Added a new tab in Settings: "API Keys", where the API keys configuration for Google and Anthropic models has been relocated.
4185
- - Introduced a new mode in "Chat with Files": "Retrieve Only", which allows for retrieving raw documents from the index.
4186
- - Fixed a bug related to tool calls in the Gemini provider when using Chat with Files mode.
4187
-
4188
4137
  # Credits and links
4189
4138
 
4190
4139
  **Official website:** <https://pygpt.net>
@@ -1,9 +1,9 @@
1
- CHANGELOG.md,sha256=rfEL8qdMm3dAFgbUTmB_3fxBwk1Ksn8hTUrgkKUNlfA,83902
2
- README.md,sha256=mRGrZCwQ_JTRk3CL1zJVu6InZMZzsIDakLrgfmtpAyk,165559
1
+ CHANGELOG.md,sha256=BQD6TSC5gTdv1SiYsf5A8UxTFuYd-bMnJVkVnR_Io4o,84335
2
+ README.md,sha256=iVsOOE7xjUAUbuor0lKapEI4cPNTzrdh3041KGASh_M,164044
3
3
  icon.png,sha256=CzcINJaU23a9hNjsDlDNbyuiEvKZ4Wg6DQVYF6SpuRg,13970
4
- pygpt_net/CHANGELOG.txt,sha256=AZGwj_jx0mwES-7H0A_mRvTwt4VpFCGqZVxZuZ80bdg,82364
4
+ pygpt_net/CHANGELOG.txt,sha256=fJvNvI73tUVdzu_cwiOC2EiXefBgs2qzGOa63DU-miE,82791
5
5
  pygpt_net/LICENSE,sha256=dz9sfFgYahvu2NZbx4C1xCsVn9GVer2wXcMkFRBvqzY,1146
6
- pygpt_net/__init__.py,sha256=4F12-eQsXUbo9EHr62TsBVkUpzYV4ZaA0IN2Yw95SdE,1372
6
+ pygpt_net/__init__.py,sha256=0kGiDfJ_lxxTgZgBkRQfNhDvnXQsVYsIWZu3kR2ObRo,1373
7
7
  pygpt_net/app.py,sha256=XXjn9XaKHGRcsHN8mMuqbRHAg8_Da0GLmACUU9ddjBc,16217
8
8
  pygpt_net/config.py,sha256=Qc1FOBtTf3O6A6-6KoqUGtoJ0u8hXQeowvCVbZFwtik,16405
9
9
  pygpt_net/container.py,sha256=BemiVZPpPNIzfB-ZvnZeeBPFu-AcX2c30OqYFylEjJc,4023
@@ -80,7 +80,7 @@ pygpt_net/controller/layout/__init__.py,sha256=9R30zrZtvedAf1OxQLzxDWt8o2XirUq0b
80
80
  pygpt_net/controller/mode/__init__.py,sha256=TY3y5fD8kpqLCmDyyCoEL_1OTSOXLnHVdIvH2lGUTew,7303
81
81
  pygpt_net/controller/model/__init__.py,sha256=qRXFmBje0zu_obAku3qTkhnr01z5D5yDN4gbX347NMA,5931
82
82
  pygpt_net/controller/model/editor.py,sha256=8UaNi_Ui5ooPdio9_mw4ECihTxE7Iq5n5hDl41D3hu0,12675
83
- pygpt_net/controller/notepad/__init__.py,sha256=LYZIPg5oO38xILv-a51ZhXbuefKsgPCCP-r01ozrQe8,9263
83
+ pygpt_net/controller/notepad/__init__.py,sha256=zLWbPvcOQ1yY7VFT27iarpBZqz9BPkOi4KvkLtUUsK4,9438
84
84
  pygpt_net/controller/painter/__init__.py,sha256=1Ekmr2a3irDkSb2wowiPXhW59rfdZOW1tdbxeubph-k,2747
85
85
  pygpt_net/controller/painter/capture.py,sha256=oLBh5emwjJUTddjT6hWErv2FFjSakC_9WSruxPhkJO8,6664
86
86
  pygpt_net/controller/painter/common.py,sha256=gTRCIcmAsgYhueUWNfEIwIJo-40YBVhoNSksOY1Oj34,6395
@@ -102,7 +102,7 @@ pygpt_net/controller/theme/nodes.py,sha256=6SCKMGQ5SZdKgy4t69raiikTLQDPPkjoYTPwl
102
102
  pygpt_net/controller/tools/__init__.py,sha256=b_yt413iRUI9fWHzZGdtM4333UjzrJb-zmq_exYTgy4,2723
103
103
  pygpt_net/controller/ui/__init__.py,sha256=LDAvURc007zxboXlgnAI5VPFCT5WSZljD2W3ApKD4zM,6098
104
104
  pygpt_net/controller/ui/mode.py,sha256=8mw_tmRo7sArvgv-k1yfwx5SCfVOkwdc96U8ZiW83Q0,10231
105
- pygpt_net/controller/ui/tabs.py,sha256=7DxDCkkx0mPJ8VbVp-mRt8cb2Mgjbv7Jv3OOVkJp91k,20321
105
+ pygpt_net/controller/ui/tabs.py,sha256=vwVB3w_hU5rudom00doyJPHzGjLm5e2akHWtb01M8-4,20366
106
106
  pygpt_net/controller/ui/vision.py,sha256=KrP8wFuuz-gsO9iwbLDnzvC5iqWVlWjFarQ27HkHdEg,2303
107
107
  pygpt_net/core/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
108
108
  pygpt_net/core/access/__init__.py,sha256=rFKp9xMsuJHS_wxiMEMMHVRd5lXdkPj7LuObAIdQFBY,942
@@ -224,8 +224,8 @@ pygpt_net/core/render/plain/pid.py,sha256=yngcS0o1lBQ2RlRzWrs5JwqT_ThamvnWftp3cX
224
224
  pygpt_net/core/render/plain/renderer.py,sha256=VDJiNrGi35IHLGo_yX9JQ37tz-5w2qm6Z-MhFs_3MyA,15267
225
225
  pygpt_net/core/render/web/__init__.py,sha256=istp5dsn6EkLEP7lOBeDb8RjodUcWZqjcEvTroaTT-w,489
226
226
  pygpt_net/core/render/web/body.py,sha256=dDLQJa1SrPm7n1n_GRpf9Rvuyt1UsfMjzDev4qR3424,29520
227
- pygpt_net/core/render/web/helpers.py,sha256=2suAMzdCkPq1EEjWS5QjkP_WGmNfsIQZJF70E8E2PXU,3379
228
- pygpt_net/core/render/web/parser.py,sha256=2LLj8__-CTO6bGOl7c58IfIpKSR4X7phxcY450j_K98,10039
227
+ pygpt_net/core/render/web/helpers.py,sha256=ymJl1vUAYoEh3PyMmtjpRtH4KyhZIhMjRhpwR73NLic,3576
228
+ pygpt_net/core/render/web/parser.py,sha256=49Vq3jqRrUWWKy0WlBiwR8JcDzp3_MKoLNEXOpbL3qU,10230
229
229
  pygpt_net/core/render/web/pid.py,sha256=ZyYmzB01adMqY9-1Zi0QhGgrzyg-E9xC_VxqjNvTHWk,1331
230
230
  pygpt_net/core/render/web/renderer.py,sha256=vVMiFxffct1iCOtMhkF28N5AOM54g80haAszmoiuDD8,39227
231
231
  pygpt_net/core/render/web/syntax_highlight.py,sha256=QSLGF5cJL_Xeqej7_TYwY_5C2w9enXV_cMEuaJ3C43U,2005
@@ -250,9 +250,9 @@ pygpt_net/css_rc.py,sha256=i13kX7irhbYCWZ5yJbcMmnkFp_UfS4PYnvRFSPF7XXo,11349
250
250
  pygpt_net/data/audio/click_off.mp3,sha256=aNiRDP1pt-Jy7ija4YKCNFBwvGWbzU460F4pZWZDS90,65201
251
251
  pygpt_net/data/audio/click_on.mp3,sha256=qfdsSnthAEHVXzeyN4LlC0OvXuyW8p7stb7VXtlvZ1k,65201
252
252
  pygpt_net/data/audio/ok.mp3,sha256=LTiV32pEBkpUGBkKkcOdOFB7Eyt_QoP2Nv6c5AaXftk,32256
253
- pygpt_net/data/config/config.json,sha256=R0eeU3wbSIWeNMOhJH8WXqiC5nGtxrqnJpyOecHxg7E,19971
254
- pygpt_net/data/config/models.json,sha256=ImKi1gOs4NeBaD0zjI047M0Xm0Eb6O_XgJGSnOUnEls,101755
255
- pygpt_net/data/config/modes.json,sha256=lA3GebipEnKqK7o6XSX_6cHTTuy-0UZgS1Y8n-PTCyc,2083
253
+ pygpt_net/data/config/config.json,sha256=Aa2QnkGf0JdlNI6kFwCmPMsBKGATjLgY_PM1LfvQnjk,19973
254
+ pygpt_net/data/config/models.json,sha256=ebhfH0rDauaVKsYc3M_Fh9yyHkF7h6Dkhu_LPjv1590,103293
255
+ pygpt_net/data/config/modes.json,sha256=aOoswOizqG_nITWbw59vRokfbh57_D8FrDlCAtVhDJY,2085
256
256
  pygpt_net/data/config/presets/agent_openai.json,sha256=vMTR-soRBiEZrpJJHuFLWyx8a3Ez_BqtqjyXgxCAM_Q,733
257
257
  pygpt_net/data/config/presets/agent_openai_assistant.json,sha256=awJw9lNTGpKML6SJUShVn7lv8AXh0oic7wBeyoN7AYs,798
258
258
  pygpt_net/data/config/presets/agent_planner.json,sha256=a6Rv58Bnm2STNWB0Rw_dGhnsz6Lb3J8_GwsUVZaTIXc,742
@@ -262,12 +262,12 @@ pygpt_net/data/config/presets/current.agent.json,sha256=aSkA0Eh1bziRaXFHMkEE1OG2
262
262
  pygpt_net/data/config/presets/current.agent_llama.json,sha256=-XdX5tAWXDc34FCDa7GotQjg1tPNigG5RdJbV2CAphU,705
263
263
  pygpt_net/data/config/presets/current.assistant.json,sha256=zORIJwns1wTEFXjwabm1z-Pqd8KKpCumflHiNxzBKZg,419
264
264
  pygpt_net/data/config/presets/current.audio.json,sha256=bf24XyMudkA5uBT63oktncLAbsUHDbovuysYLIdoiVQ,733
265
- pygpt_net/data/config/presets/current.chat.json,sha256=-8z97XIx1hkEeI_ei4AHboCryaeIvW2v3_IjoiE3D-I,447
265
+ pygpt_net/data/config/presets/current.chat.json,sha256=izDX6u8CZFysmwhT4N2A805HYPIEtV3XcTHjbzBtG20,480
266
266
  pygpt_net/data/config/presets/current.completion.json,sha256=JU5vjqKc_L3nECPr3HazXYhlo2bzCxZ6cDPfA40A4Zg,436
267
267
  pygpt_net/data/config/presets/current.expert.json,sha256=V0I633FyU2ZLZnTApiSF29tila85zYBqYadojedXWJw,419
268
268
  pygpt_net/data/config/presets/current.img.json,sha256=hr6gj6ZqcQgv0CJdqFSsGMUTFRixcsTa-sDX2_9P7Io,419
269
269
  pygpt_net/data/config/presets/current.langchain.json,sha256=yVOmJ1VpX0saxdBO_8tGaWM5oxa8EGbIcS6Wrk7Nqzo,433
270
- pygpt_net/data/config/presets/current.llama_index.json,sha256=jQVfdxgY-mf3G_YL1hQUnw6dVej8Py_Ycsx77iiwE7E,419
270
+ pygpt_net/data/config/presets/current.llama_index.json,sha256=1ZcALHvPgf1g-1W2tyfK77gDDHFzlGZVMNg87jT5N_s,480
271
271
  pygpt_net/data/config/presets/current.research.json,sha256=dExl7MoUUKAUyRd1njumD6C9viT8qyZSZwhU4PCCNQg,759
272
272
  pygpt_net/data/config/presets/current.vision.json,sha256=x1ll5B3ROSKYQA6l27PRGXUnfugXNJ5730ZcuRXEO1I,447
273
273
  pygpt_net/data/config/presets/dalle_white_cat.json,sha256=esqUb43cqY8dAo7B5u99tRC0MBV5lmlrVLnJhTSkL8w,552
@@ -1851,7 +1851,7 @@ pygpt_net/provider/core/mode/patch.py,sha256=VS2KCYW05jxLd-lcStNY1k4fHKUUrVVLTdR
1851
1851
  pygpt_net/provider/core/model/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
1852
1852
  pygpt_net/provider/core/model/base.py,sha256=L1x2rHha8a8hnCUYxZr88utay1EWEx5qBXW_2acpAN0,1319
1853
1853
  pygpt_net/provider/core/model/json_file.py,sha256=k6M6KhiXJ0xsXdYXUFsHPcaJ-v_dMkzX8311Rk-d57s,6566
1854
- pygpt_net/provider/core/model/patch.py,sha256=hptdG1peCX_BwSki9yjTgD1qlCacEZe5DXRssYsWg1E,24077
1854
+ pygpt_net/provider/core/model/patch.py,sha256=rBUQXg9BFSOI_-4aVLWceC_NItToAhEOVb01OAl-A3Y,24318
1855
1855
  pygpt_net/provider/core/notepad/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
1856
1856
  pygpt_net/provider/core/notepad/base.py,sha256=7aPhild8cALTaN3JEbI0YrkIW1DRIycGQWTfsdH6WcQ,1323
1857
1857
  pygpt_net/provider/core/notepad/db_sqlite/__init__.py,sha256=DQnVKJxvLq-6zlRlLk3MXSQZEObFtcQ5p5mEnuRzwYE,3104
@@ -2181,8 +2181,8 @@ pygpt_net/ui/widget/textarea/web.py,sha256=2LebPHa_e5lvBqnIVzjwsLcFMoc11BonXgAUs
2181
2181
  pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
2182
2182
  pygpt_net/ui/widget/vision/camera.py,sha256=T8b5cmK6uhf_WSSxzPt_Qod8JgMnst6q8sQqRvgQiSA,2584
2183
2183
  pygpt_net/utils.py,sha256=WtrdagJ-BlCjxGEEVq2rhsyAZMcU6JqltCXzOs823po,6707
2184
- pygpt_net-2.5.8.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
2185
- pygpt_net-2.5.8.dist-info/METADATA,sha256=xJs_qUfuXnFC5hMmNaIkZcoaA1VUT4lppRIwCd8Uv4E,170514
2186
- pygpt_net-2.5.8.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
2187
- pygpt_net-2.5.8.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2188
- pygpt_net-2.5.8.dist-info/RECORD,,
2184
+ pygpt_net-2.5.10.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
2185
+ pygpt_net-2.5.10.dist-info/METADATA,sha256=fER5LPoJ_rxaPjoDaIvJkigt-u5h-lr29DWMGGDrghQ,169001
2186
+ pygpt_net-2.5.10.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
2187
+ pygpt_net-2.5.10.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2188
+ pygpt_net-2.5.10.dist-info/RECORD,,