pygpt-net 2.4.47__py3-none-any.whl → 2.4.49__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 (51) hide show
  1. CHANGELOG.md +13 -0
  2. README.md +15 -2
  3. pygpt_net/CHANGELOG.txt +13 -0
  4. pygpt_net/__init__.py +7 -3
  5. pygpt_net/controller/assistant/threads.py +6 -1
  6. pygpt_net/controller/dialogs/info.py +18 -1
  7. pygpt_net/controller/lang/mapping.py +3 -3
  8. pygpt_net/core/agents/tools.py +3 -3
  9. pygpt_net/core/ctx/__init__.py +7 -0
  10. pygpt_net/core/idx/__init__.py +16 -11
  11. pygpt_net/core/idx/chat.py +18 -22
  12. pygpt_net/core/idx/indexing.py +14 -12
  13. pygpt_net/core/idx/llm.py +3 -11
  14. pygpt_net/data/config/config.json +3 -3
  15. pygpt_net/data/config/models.json +3 -3
  16. pygpt_net/data/config/modes.json +3 -3
  17. pygpt_net/data/locale/locale.de.ini +2 -1
  18. pygpt_net/data/locale/locale.en.ini +4 -3
  19. pygpt_net/data/locale/locale.es.ini +2 -1
  20. pygpt_net/data/locale/locale.fr.ini +2 -1
  21. pygpt_net/data/locale/locale.it.ini +2 -1
  22. pygpt_net/data/locale/locale.pl.ini +3 -2
  23. pygpt_net/data/locale/locale.uk.ini +2 -1
  24. pygpt_net/data/locale/locale.zh.ini +2 -1
  25. pygpt_net/provider/llms/google.py +25 -2
  26. pygpt_net/provider/llms/openai.py +1 -1
  27. pygpt_net/provider/loaders/hub/github/issues.py +5 -5
  28. pygpt_net/provider/loaders/hub/json/base.py +2 -2
  29. pygpt_net/provider/loaders/hub/pandas_excel/base.py +2 -2
  30. pygpt_net/provider/loaders/hub/simple_csv/base.py +2 -2
  31. pygpt_net/provider/loaders/hub/yt/base.py +1 -1
  32. pygpt_net/provider/vector_stores/__init__.py +19 -11
  33. pygpt_net/provider/vector_stores/base.py +11 -7
  34. pygpt_net/provider/vector_stores/chroma.py +11 -5
  35. pygpt_net/provider/vector_stores/ctx_attachment.py +7 -5
  36. pygpt_net/provider/vector_stores/elasticsearch.py +11 -5
  37. pygpt_net/provider/vector_stores/pinecode.py +11 -5
  38. pygpt_net/provider/vector_stores/redis.py +11 -5
  39. pygpt_net/provider/vector_stores/simple.py +7 -5
  40. pygpt_net/provider/vector_stores/temp.py +7 -5
  41. pygpt_net/ui/layout/chat/output.py +1 -2
  42. pygpt_net/ui/menu/__init__.py +4 -1
  43. pygpt_net/ui/menu/about.py +6 -7
  44. pygpt_net/ui/menu/donate.py +46 -0
  45. pygpt_net/ui/widget/anims/toggles.py +1 -1
  46. pygpt_net/utils.py +20 -7
  47. {pygpt_net-2.4.47.dist-info → pygpt_net-2.4.49.dist-info}/METADATA +48 -33
  48. {pygpt_net-2.4.47.dist-info → pygpt_net-2.4.49.dist-info}/RECORD +51 -50
  49. {pygpt_net-2.4.47.dist-info → pygpt_net-2.4.49.dist-info}/LICENSE +0 -0
  50. {pygpt_net-2.4.47.dist-info → pygpt_net-2.4.49.dist-info}/WHEEL +0 -0
  51. {pygpt_net-2.4.47.dist-info → pygpt_net-2.4.49.dist-info}/entry_points.txt +0 -0
@@ -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.12.14 22:00:00 #
9
+ # Updated Date: 2025.01.16 01:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import os.path
@@ -14,7 +14,6 @@ from typing import Optional
14
14
 
15
15
  from llama_index.core import StorageContext, load_index_from_storage
16
16
  from llama_index.core.indices.base import BaseIndex
17
- from llama_index.core.indices.service_context import ServiceContext
18
17
 
19
18
  from .base import BaseStore
20
19
 
@@ -107,13 +106,15 @@ class TempProvider(BaseStore):
107
106
  def get(
108
107
  self,
109
108
  id: str,
110
- service_context: Optional[ServiceContext] = None
109
+ llm: Optional = None,
110
+ embed_model: Optional = None,
111
111
  ) -> BaseIndex:
112
112
  """
113
113
  Get index
114
114
 
115
115
  :param id: tmp idx id
116
- :param service_context: Service context
116
+ :param llm: LLM instance
117
+ :param embed_model: Embedding model instance
117
118
  :return: index instance
118
119
  """
119
120
  if not self.exists(id):
@@ -126,7 +127,8 @@ class TempProvider(BaseStore):
126
127
  )
127
128
  self.indexes[id] = load_index_from_storage(
128
129
  storage_context,
129
- service_context=service_context,
130
+ llm=llm,
131
+ embed_model=embed_model,
130
132
  )
131
133
 
132
134
  return self.indexes[id]
@@ -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.12.14 19:00:00 #
9
+ # Updated Date: 2025.01.16 01:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from PySide6.QtCore import Qt
@@ -160,7 +160,6 @@ class Output:
160
160
  self.window.ui.nodes['inline.vision'] = HelpLabel(trans('inline.vision'))
161
161
  self.window.ui.nodes['inline.vision'].setVisible(False)
162
162
  self.window.ui.nodes['inline.vision'].setContentsMargins(0, 0, 0, 0)
163
- self.window.ui.nodes['inline.vision'].setToolTip(trans('vision.checkbox.tooltip'))
164
163
 
165
164
  opts_layout = QHBoxLayout()
166
165
  # opts_layout.setSpacing(2) #
@@ -6,13 +6,14 @@
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.03.25 10:00:00 #
9
+ # Updated Date: 2025.01.16 01:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from .about import About
13
13
  from .audio import Audio
14
14
  from .config import Config
15
15
  from .debug import Debug
16
+ from .donate import Donate
16
17
  from .file import File
17
18
  from .lang import Lang
18
19
  from .plugins import Plugins
@@ -33,6 +34,7 @@ class Menu:
33
34
  self.audio = Audio(window)
34
35
  self.config = Config(window)
35
36
  self.debug = Debug(window)
37
+ self.donate = Donate(window)
36
38
  self.file = File(window)
37
39
  self.lang = Lang(window)
38
40
  self.plugins = Plugins(window)
@@ -54,6 +56,7 @@ class Menu:
54
56
  """Post setup menus"""
55
57
  # tools menu
56
58
  self.tools.setup()
59
+ self.donate.setup()
57
60
 
58
61
  # debug menu
59
62
  show = self.window.core.config.get('debug')
@@ -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.04.19 01:00:00 #
9
+ # Updated Date: 2025.01.16 01:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  from PySide6.QtGui import QAction, QIcon
@@ -33,6 +33,8 @@ class About:
33
33
  self.window)
34
34
  self.window.ui.menu['info.updates'] = QAction(QIcon(":/icons/updater.svg"), trans("menu.info.updates"),
35
35
  self.window)
36
+ self.window.ui.menu['info.report'] = QAction(QIcon(":/icons/public_filled.svg"), trans("menu.info.report"),
37
+ self.window)
36
38
  self.window.ui.menu['info.website'] = QAction(QIcon(":/icons/public_filled.svg"), trans("menu.info.website"),
37
39
  self.window)
38
40
  self.window.ui.menu['info.docs'] = QAction(QIcon(":/icons/public_filled.svg"), trans("menu.info.docs"),
@@ -50,15 +52,14 @@ class About:
50
52
  self.window.ui.menu['info.license'] = QAction(QIcon(":/icons/info.svg"), trans("menu.info.license"),
51
53
  self.window)
52
54
 
53
- self.window.ui.menu['info.donate'] = QAction(QIcon(":/icons/favorite.svg"), trans("menu.info.donate"),
54
- self.window)
55
-
56
55
  self.window.ui.menu['info.about'].triggered.connect(
57
56
  lambda: self.window.controller.dialogs.info.toggle('about'))
58
57
  self.window.ui.menu['info.changelog'].triggered.connect(
59
58
  lambda: self.window.controller.dialogs.info.toggle('changelog'))
60
59
  self.window.ui.menu['info.updates'].triggered.connect(
61
60
  lambda: self.window.controller.launcher.check_updates())
61
+ self.window.ui.menu['info.report'].triggered.connect(
62
+ lambda: self.window.controller.dialogs.info.goto_report())
62
63
  self.window.ui.menu['info.website'].triggered.connect(
63
64
  lambda: self.window.controller.dialogs.info.goto_website())
64
65
  self.window.ui.menu['info.docs'].triggered.connect(
@@ -77,13 +78,12 @@ class About:
77
78
  width=500,
78
79
  height=480,
79
80
  ))
80
- self.window.ui.menu['info.donate'].triggered.connect(
81
- lambda: self.window.controller.dialogs.info.goto_donate())
82
81
 
83
82
  self.window.ui.menu['menu.about'] = self.window.menuBar().addMenu(trans("menu.info"))
84
83
  self.window.ui.menu['menu.about'].addAction(self.window.ui.menu['info.about'])
85
84
  self.window.ui.menu['menu.about'].addAction(self.window.ui.menu['info.changelog'])
86
85
  self.window.ui.menu['menu.about'].addAction(self.window.ui.menu['info.updates'])
86
+ self.window.ui.menu['menu.about'].addAction(self.window.ui.menu['info.report'])
87
87
  self.window.ui.menu['menu.about'].addAction(self.window.ui.menu['info.docs'])
88
88
  self.window.ui.menu['menu.about'].addAction(self.window.ui.menu['info.website'])
89
89
  self.window.ui.menu['menu.about'].addAction(self.window.ui.menu['info.github'])
@@ -91,4 +91,3 @@ class About:
91
91
  self.window.ui.menu['menu.about'].addAction(self.window.ui.menu['info.snap'])
92
92
  self.window.ui.menu['menu.about'].addAction(self.window.ui.menu['info.discord'])
93
93
  self.window.ui.menu['menu.about'].addAction(self.window.ui.menu['info.license'])
94
- self.window.ui.menu['menu.about'].addAction(self.window.ui.menu['info.donate'])
@@ -0,0 +1,46 @@
1
+ #!/usr/bin/env python3
2
+ # -*- coding: utf-8 -*-
3
+ # ================================================== #
4
+ # This file is a part of PYGPT package #
5
+ # Website: https://pygpt.net #
6
+ # GitHub: https://github.com/szczyglis-dev/py-gpt #
7
+ # MIT License #
8
+ # Created By : Marcin Szczygliński #
9
+ # Updated Date: 2025.01.16 01:00:00 #
10
+ # ================================================== #
11
+
12
+ from PySide6.QtGui import QAction, QIcon
13
+
14
+ from pygpt_net.utils import trans
15
+ import pygpt_net.icons_rc
16
+
17
+
18
+ class Donate:
19
+ def __init__(self, window=None):
20
+ """
21
+ Menu setup
22
+
23
+ :param window: Window instance
24
+ """
25
+ self.window = window
26
+
27
+ def setup(self):
28
+ """Setup donate menu"""
29
+ self.window.ui.menu['donate.coffee'] = QAction(QIcon(":/icons/favorite.svg"), "Buy me a coffee",
30
+ self.window)
31
+ self.window.ui.menu['donate.coffee'].setMenuRole(QAction.MenuRole.NoRole)
32
+ self.window.ui.menu['donate.paypal'] = QAction(QIcon(":/icons/favorite.svg"), "PayPal",
33
+ self.window)
34
+ self.window.ui.menu['donate.github'] = QAction(QIcon(":/icons/favorite.svg"), "GitHub Sponsors", self.window)
35
+
36
+ self.window.ui.menu['donate.coffee'].triggered.connect(
37
+ lambda: self.window.controller.dialogs.info.donate('coffee'))
38
+ self.window.ui.menu['donate.paypal'].triggered.connect(
39
+ lambda: self.window.controller.dialogs.info.donate('paypal'))
40
+ self.window.ui.menu['donate.github'].triggered.connect(
41
+ lambda: self.window.controller.dialogs.info.donate('github'))
42
+
43
+ self.window.ui.menu['menu.donate'] = self.window.menuBar().addMenu(trans("menu.info.donate"))
44
+ self.window.ui.menu['menu.donate'].addAction(self.window.ui.menu['donate.coffee'])
45
+ self.window.ui.menu['menu.donate'].addAction(self.window.ui.menu['donate.paypal'])
46
+ self.window.ui.menu['menu.donate'].addAction(self.window.ui.menu['donate.github'])
@@ -63,7 +63,7 @@ class AnimToggle(QCheckBox):
63
63
  #bar_checked_color = palette.color(QPalette.Dark)
64
64
  bar_checked_color = QColor("#969696")
65
65
  bar_color.setAlpha(0x80)
66
- handle_color = palette.color(QPalette.Shadow)
66
+ handle_color = palette.color(QPalette.Dark)
67
67
  handle_checked_color = palette.color(QPalette.ButtonText)
68
68
 
69
69
  # Create semi-transparent colors for the pulse effect
pygpt_net/utils.py CHANGED
@@ -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.15 02:00:00 #
9
+ # Updated Date: 2025.01.16 01:00:00 #
10
10
  # ================================================== #
11
11
 
12
12
  import json
@@ -98,7 +98,11 @@ def get_app_meta() -> dict:
98
98
  'version': get_init_value("__version__"),
99
99
  'build': get_init_value("__build__"),
100
100
  'author': get_init_value("__author__"),
101
- 'email': get_init_value("__email__")
101
+ 'email': get_init_value("__email__"),
102
+ 'donate_coffee': get_init_value("__donate_coffee__"),
103
+ 'donate_paypal': get_init_value("__donate_paypal__"),
104
+ 'donate_github': get_init_value("__donate_github__"),
105
+ 'report': get_init_value("__report__"),
102
106
  }
103
107
 
104
108
 
@@ -137,12 +141,21 @@ def parse_args(data: list) -> dict:
137
141
  except Exception:
138
142
  args[key] = False
139
143
  elif type == 'dict':
140
- try:
141
- args[key] = json.loads(value)
142
- except:
143
- args[key] = {}
144
+ if isinstance(value, dict):
145
+ args[key] = value
146
+ else:
147
+ try:
148
+ args[key] = json.loads(value)
149
+ except:
150
+ args[key] = {}
144
151
  elif type == 'list':
145
- args[key] = [x.strip() for x in value.split(',')]
152
+ if isinstance(value, list):
153
+ args[key] = value
154
+ else:
155
+ try:
156
+ args[key] = [x.strip() for x in value.split(',')]
157
+ except:
158
+ args[key] = []
146
159
  elif type == 'None':
147
160
  args[key] = None
148
161
  else:
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.1
2
2
  Name: pygpt-net
3
- Version: 2.4.47
3
+ Version: 2.4.49
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, 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
@@ -19,15 +19,16 @@ Requires-Dist: EbookLib (>=0.18,<0.19)
19
19
  Requires-Dist: Markdown (>=3.7,<4.0)
20
20
  Requires-Dist: PyAudio (>=0.2.14,<0.3.0)
21
21
  Requires-Dist: PyAutoGUI (>=0.9.54,<0.10.0)
22
- Requires-Dist: PySide6 (==6.6.0)
22
+ Requires-Dist: PySide6 (==6.6.1)
23
23
  Requires-Dist: Pygments (>=2.18.0,<3.0.0)
24
24
  Requires-Dist: SQLAlchemy (>=2.0.27,<3.0.0)
25
25
  Requires-Dist: SpeechRecognition (>=3.10.1,<4.0.0)
26
26
  Requires-Dist: beautifulsoup4 (>=4.12.3,<5.0.0)
27
- Requires-Dist: chromadb (>=0.4.23,<0.5.0)
27
+ Requires-Dist: chromadb (>=0.5.17,<0.6.0)
28
28
  Requires-Dist: croniter (>=2.0.1,<3.0.0)
29
29
  Requires-Dist: docker (>=7.0.0,<8.0.0)
30
30
  Requires-Dist: docx2txt (>=0.8,<0.9)
31
+ Requires-Dist: google-generativeai (>=0.8.3,<0.9.0)
31
32
  Requires-Dist: httpx (>=0.27.2,<0.28.0)
32
33
  Requires-Dist: httpx-socks (>=0.9.2,<0.10.0)
33
34
  Requires-Dist: ipykernel (>=6.29.5,<7.0.0)
@@ -36,33 +37,34 @@ Requires-Dist: langchain (>=0.2.14,<0.3.0)
36
37
  Requires-Dist: langchain-community (>=0.2.12,<0.3.0)
37
38
  Requires-Dist: langchain-experimental (>=0.0.64,<0.0.65)
38
39
  Requires-Dist: langchain-openai (>=0.1.22,<0.2.0)
39
- Requires-Dist: llama-index (>=0.10.65,<0.11.0)
40
- Requires-Dist: llama-index-agent-openai (>=0.2.9,<0.3.0)
41
- Requires-Dist: llama-index-core (==0.10.67)
42
- Requires-Dist: llama-index-embeddings-azure-openai (>=0.1.6,<0.2.0)
43
- Requires-Dist: llama-index-embeddings-huggingface-api (>=0.1.0,<0.2.0)
44
- Requires-Dist: llama-index-embeddings-ollama (>=0.2.0,<0.3.0)
45
- Requires-Dist: llama-index-embeddings-openai (>=0.1.0,<0.2.0)
46
- Requires-Dist: llama-index-llms-anthropic (>=0.1.17,<0.2.0)
47
- Requires-Dist: llama-index-llms-azure-openai (>=0.1.10,<0.2.0)
48
- Requires-Dist: llama-index-llms-gemini (>=0.2.0,<0.3.0)
49
- Requires-Dist: llama-index-llms-huggingface-api (>=0.1.0,<0.2.0)
50
- Requires-Dist: llama-index-llms-ollama (>=0.2.2,<0.3.0)
51
- Requires-Dist: llama-index-llms-openai (>=0.1.0,<0.2.0)
52
- Requires-Dist: llama-index-llms-openai-like (>=0.1.3,<0.2.0)
53
- Requires-Dist: llama-index-multi-modal-llms-openai (>=0.1.9,<0.2.0)
54
- Requires-Dist: llama-index-readers-chatgpt-plugin (>=0.1.3,<0.2.0)
55
- Requires-Dist: llama-index-readers-database (>=0.1.4,<0.2.0)
56
- Requires-Dist: llama-index-readers-file (>=0.1.33,<0.2.0)
57
- Requires-Dist: llama-index-readers-github (>=0.1.9,<0.2.0)
58
- Requires-Dist: llama-index-readers-google (>=0.2.11,<0.3.0)
59
- Requires-Dist: llama-index-readers-microsoft-onedrive (>=0.1.9,<0.2.0)
60
- Requires-Dist: llama-index-readers-twitter (>=0.1.3,<0.2.0)
61
- Requires-Dist: llama-index-readers-web (>=0.1.23,<0.2.0)
62
- Requires-Dist: llama-index-vector-stores-chroma (>=0.1.4,<0.2.0)
63
- Requires-Dist: llama-index-vector-stores-elasticsearch (>=0.1.4,<0.2.0)
64
- Requires-Dist: llama-index-vector-stores-pinecone (>=0.1.3,<0.2.0)
65
- Requires-Dist: llama-index-vector-stores-redis (>=0.1.2,<0.2.0)
40
+ Requires-Dist: llama-index (>=0.12.11,<0.13.0)
41
+ Requires-Dist: llama-index-agent-openai (>=0.4.2,<0.5.0)
42
+ Requires-Dist: llama-index-core (==0.12.11)
43
+ Requires-Dist: llama-index-embeddings-azure-openai (>=0.3.0,<0.4.0)
44
+ Requires-Dist: llama-index-embeddings-gemini (>=0.3.1,<0.4.0)
45
+ Requires-Dist: llama-index-embeddings-huggingface-api (>=0.3.0,<0.4.0)
46
+ Requires-Dist: llama-index-embeddings-ollama (>=0.5.0,<0.6.0)
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)
50
+ Requires-Dist: llama-index-llms-gemini (>=0.4.3,<0.5.0)
51
+ Requires-Dist: llama-index-llms-huggingface-api (>=0.3.1,<0.4.0)
52
+ Requires-Dist: llama-index-llms-ollama (>=0.5.0,<0.6.0)
53
+ Requires-Dist: llama-index-llms-openai (>=0.3.13,<0.4.0)
54
+ Requires-Dist: llama-index-llms-openai-like (>=0.3.3,<0.4.0)
55
+ Requires-Dist: llama-index-multi-modal-llms-openai (>=0.4.2,<0.5.0)
56
+ Requires-Dist: llama-index-readers-chatgpt-plugin (>=0.3.0,<0.4.0)
57
+ Requires-Dist: llama-index-readers-database (>=0.3.0,<0.4.0)
58
+ Requires-Dist: llama-index-readers-file (>=0.4.3,<0.5.0)
59
+ Requires-Dist: llama-index-readers-github (>=0.5.0,<0.6.0)
60
+ Requires-Dist: llama-index-readers-google (>=0.5.0,<0.6.0)
61
+ Requires-Dist: llama-index-readers-microsoft-onedrive (>=0.3.0,<0.4.0)
62
+ Requires-Dist: llama-index-readers-twitter (>=0.3.0,<0.4.0)
63
+ Requires-Dist: llama-index-readers-web (>=0.3.3,<0.4.0)
64
+ Requires-Dist: llama-index-vector-stores-chroma (>=0.4.1,<0.5.0)
65
+ Requires-Dist: llama-index-vector-stores-elasticsearch (>=0.4.0,<0.5.0)
66
+ Requires-Dist: llama-index-vector-stores-pinecone (>=0.4.2,<0.5.0)
67
+ Requires-Dist: llama-index-vector-stores-redis (>=0.4.0,<0.5.0)
66
68
  Requires-Dist: mss (>=9.0.2,<10.0.0)
67
69
  Requires-Dist: nbconvert (>=7.16.1,<8.0.0)
68
70
  Requires-Dist: openai (>=1.55.1,<1.60.0)
@@ -74,7 +76,7 @@ Requires-Dist: pinecone-client (>=3.1.0,<4.0.0)
74
76
  Requires-Dist: pydub (>=0.25.1,<0.26.0)
75
77
  Requires-Dist: pygame (>=2.5.2,<3.0.0)
76
78
  Requires-Dist: pynput (>=1.7.7,<2.0.0)
77
- Requires-Dist: pypdf (>=4.0.2,<5.0.0)
79
+ Requires-Dist: pypdf (>=5.1.0,<6.0.0)
78
80
  Requires-Dist: pyserial (>=3.5,<4.0)
79
81
  Requires-Dist: python-markdown-math (>=0.8,<0.9)
80
82
  Requires-Dist: qt-material (>=2.14,<3.0)
@@ -91,7 +93,7 @@ Description-Content-Type: text/markdown
91
93
 
92
94
  [![pygpt](https://snapcraft.io/pygpt/badge.svg)](https://snapcraft.io/pygpt)
93
95
 
94
- Release: **2.4.47** | build: **2025.01.14** | Python: **>=3.10, <3.13**
96
+ Release: **2.4.49** | build: **2025.01.16** | Python: **>=3.10, <3.13**
95
97
 
96
98
  > Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
97
99
  >
@@ -99,7 +101,7 @@ Release: **2.4.47** | build: **2025.01.14** | Python: **>=3.10, <3.13**
99
101
  >
100
102
  > Compiled version for Linux (`zip`) and Windows 10/11 (`msi`) 64-bit: https://pygpt.net/#download
101
103
  >
102
- > ❤️ Donate: https://www.buymeacoffee.com/szczyglis
104
+ > ❤️ Donate: https://www.buymeacoffee.com/szczyglis | https://github.com/sponsors/szczyglis-dev
103
105
 
104
106
  ## Overview
105
107
 
@@ -4041,6 +4043,19 @@ may consume additional tokens that are not displayed in the main window.
4041
4043
 
4042
4044
  ## Recent changes:
4043
4045
 
4046
+ **2.4.49 (2025-01-16)**
4047
+
4048
+ - Fix: stream render in Assistants mode.
4049
+ - Fix: items remove in context regen/edit.
4050
+
4051
+ **2.4.48 (2025-01-16)**
4052
+
4053
+ - Fix: parsing lists in data loaders configuration.
4054
+ - Fix: crash on Windows on PySide6 v6.6.0.
4055
+ - Added Gemini embeddings to LlamaIndex settings.
4056
+ - LlamaIndex upgraded to 0.12.11.
4057
+ - Security updates.
4058
+
4044
4059
  **2.4.47 (2025-01-14)**
4045
4060
 
4046
4061
  - Added support for Python 3.12.
@@ -1,9 +1,9 @@
1
- CHANGELOG.md,sha256=5HmybaxsYwfXUjavzZLhz9UvvW-Vqju6XzvAt6iMghs,80606
2
- README.md,sha256=cQ7so5YKWap-Xe4QQegTZvO6fWKVGh69G1QFq3jquXc,164467
1
+ CHANGELOG.md,sha256=gFRfBiL4PYqprFVvaUlx9AqT5AVpmhVjPK-YRLxle40,80939
2
+ README.md,sha256=qkwiNaUhyZKE-g0wWxYUyd946edChMkH9Y-mPDOajG4,164846
3
3
  icon.png,sha256=CzcINJaU23a9hNjsDlDNbyuiEvKZ4Wg6DQVYF6SpuRg,13970
4
- pygpt_net/CHANGELOG.txt,sha256=Y-XGDyJvozUCtsSf2lDSMse40SU1zZqPaGzdi9VJsH8,79129
4
+ pygpt_net/CHANGELOG.txt,sha256=-X0u1bg5Oq4rebB68yD00Movnr0rEPiC8aItUVHpn68,79456
5
5
  pygpt_net/LICENSE,sha256=dz9sfFgYahvu2NZbx4C1xCsVn9GVer2wXcMkFRBvqzY,1146
6
- pygpt_net/__init__.py,sha256=4a6Whp7eZ0PaV6dnUHKDnXAGQOKYzYlPd1_-lxmOaws,1067
6
+ pygpt_net/__init__.py,sha256=izcO_wLOAUU_jEhc6pCud7V2w6ywEptBfnZqqSstZnU,1307
7
7
  pygpt_net/app.py,sha256=i02M96uLngAs_XZCS1Mi84vb3Okx8ZZewbTdhCqFolM,16029
8
8
  pygpt_net/config.py,sha256=Qc1FOBtTf3O6A6-6KoqUGtoJ0u8hXQeowvCVbZFwtik,16405
9
9
  pygpt_net/container.py,sha256=BemiVZPpPNIzfB-ZvnZeeBPFu-AcX2c30OqYFylEjJc,4023
@@ -21,7 +21,7 @@ pygpt_net/controller/assistant/batch.py,sha256=yVa6G1xwBv7-knt7nRxsOuV8uFlVYy28Y
21
21
  pygpt_net/controller/assistant/editor.py,sha256=yzGPzatwUBsEew3H75rNJWL0AdJRmiaFtP-jERQ3GRI,15271
22
22
  pygpt_net/controller/assistant/files.py,sha256=0TmDcDyXpmDc7BsCFZaF6Oj-H4Yr4CxOgkusbBjtC5k,14777
23
23
  pygpt_net/controller/assistant/store.py,sha256=t0h5EeJ9d-Cc_KzV6gQ3kZneoIeECp4iVHxvpJhjP-Q,15771
24
- pygpt_net/controller/assistant/threads.py,sha256=wo1m5G2vWF5e3hU6380CHSdSlsCQRXs7hbsCEeL0fNk,20907
24
+ pygpt_net/controller/assistant/threads.py,sha256=IUAGvm1qYNXiu6AUOix6T6c3QJsdqHVgCZPHTvtcuJ0,21058
25
25
  pygpt_net/controller/attachment.py,sha256=to7QK1PwvvkW6gBUxXFIm0R_wh9HrgW8raZf9dJgVmo,20397
26
26
  pygpt_net/controller/audio/__init__.py,sha256=ubQL5uBucuXCEqf2wKHI9uelB-wvrD5kK8cK2wvlLik,10382
27
27
  pygpt_net/controller/calendar/__init__.py,sha256=s55RkCFQPFzdDoQ2zp3kohlNdpiWxdSxQtsaROeiigw,4424
@@ -60,7 +60,7 @@ pygpt_net/controller/debug/__init__.py,sha256=Dn12CfDYml_n4Xq3mWkafUrM-UVXFEU1mD
60
60
  pygpt_net/controller/dialogs/__init__.py,sha256=sJHyZxkAn9QKTegUqx_xETesN2ecMBkrtf-VsCubr2w,1008
61
61
  pygpt_net/controller/dialogs/confirm.py,sha256=EpLYx4cAyb3S723-ACU-nCvcx0lH9tj4upLnjPiekF8,15875
62
62
  pygpt_net/controller/dialogs/debug.py,sha256=v6E85vyCwfaDG9XZysxhBjRwlrDkbYC-NxUnDamNRpk,5980
63
- pygpt_net/controller/dialogs/info.py,sha256=7J3LwDX13BEXds5jVy5FQZAZgKIOGkqoOz8-kFadtTU,2835
63
+ pygpt_net/controller/dialogs/info.py,sha256=khbvahG6-kMeAfQgkx5YHMDahnbHT-DNtKwyluAA8Zk,3334
64
64
  pygpt_net/controller/files.py,sha256=1Zm9L8-rhLG-GjRQDaOCkAFocAAobTQj-D3ILxLUGn4,16135
65
65
  pygpt_net/controller/finder.py,sha256=4jl8EzTVR1Wc0dJkVwacAdvBiuF1CyOSKB4Qewju0Jw,4955
66
66
  pygpt_net/controller/idx/__init__.py,sha256=oY6clG2YANYB_wJumnOl78ugU3V5c_sG1WIwRyBCVOo,10161
@@ -72,7 +72,7 @@ pygpt_net/controller/kernel/reply.py,sha256=-5z1QHsXh2PvtZSC18gXc-fdyVVK5WACiEK_
72
72
  pygpt_net/controller/kernel/stack.py,sha256=aPLetBoQDKYawQJg8pkAO3tHfJgKwO_NvDOR8F2wJkM,3767
73
73
  pygpt_net/controller/lang/__init__.py,sha256=pTSX0il3xLNGHoh4XAOdIUlbC2f9kIBCzthRDDOjyNY,3287
74
74
  pygpt_net/controller/lang/custom.py,sha256=sA8fC9CqNNbaJ3cywa4xlZXBTJP9QUWJLa1YliKHPRw,5802
75
- pygpt_net/controller/lang/mapping.py,sha256=1q9tbuTM7j4VOqdxQA_CwqoiLCK3LWtRfQbjRjUe6pc,23560
75
+ pygpt_net/controller/lang/mapping.py,sha256=nLdY8PzFt-iPcPBmVnth6vtjOQR5qFH9E5oqd4b-znI,23553
76
76
  pygpt_net/controller/lang/plugins.py,sha256=JEiOajXB7BfxPPfBkYl82K1_gKpRVcMEPNPwsNAJ6WU,3879
77
77
  pygpt_net/controller/lang/settings.py,sha256=awPEshWbHlOt11Zyg_uQKlbYjvABXrQ7QMHdpu2L9ZI,2634
78
78
  pygpt_net/controller/launcher.py,sha256=om6aEZx31cSiCuShnDHp5Fs-Lj6Rb_pmbOO5fBweEWU,1899
@@ -117,7 +117,7 @@ pygpt_net/core/agents/observer/__init__.py,sha256=qVIBJKpGbc0k7PTESAwAR7SbN-pbkB
117
117
  pygpt_net/core/agents/observer/evaluation.py,sha256=IJzHhwXK4ZfYoJkNJWvIhLs88NNTHc0VXV5KPHL37G4,5052
118
118
  pygpt_net/core/agents/provider.py,sha256=MejAYHDh76hB-4PgWxMqIn9lPmbSU89qEfa7cAVg3sg,1671
119
119
  pygpt_net/core/agents/runner.py,sha256=4i_1lcHS_2jUoXWz_w3Y_wY2WmOgZ3t3BnQ2Siptf0o,23571
120
- pygpt_net/core/agents/tools.py,sha256=Fq9PtkFWWebT3-Sd9P8UsoqmdNFuJJNC4vgLNLYknFg,5554
120
+ pygpt_net/core/agents/tools.py,sha256=2yAn2IZkmvUdMHD1wrIi6_dJT3tCGkyC8ez16WhYyG0,5540
121
121
  pygpt_net/core/assistants/__init__.py,sha256=JVseBSjDJh9vJYjxoZVwU93EFTBJk_rUtRh_Ml550H0,4391
122
122
  pygpt_net/core/assistants/files.py,sha256=rmIVxDNfLrpA95Ghs_mc5s8Yn4xiC7POynpZMzaBcd0,10150
123
123
  pygpt_net/core/assistants/store.py,sha256=4zz8_10_f6o8gdRekEPo5Ox0tLwuZO8tKyVsz-AhYfs,8211
@@ -136,7 +136,7 @@ pygpt_net/core/chain/__init__.py,sha256=C7Xm88bRblcyM4e0wZMFG-6SQCdw_frXN9kqnWzc
136
136
  pygpt_net/core/chain/chat.py,sha256=5LxPWHkocjrIAAwrdDH1ss6knAnh4_owfbHPsOQYSws,5238
137
137
  pygpt_net/core/chain/completion.py,sha256=GGRA-q6sQgPnSibiwHBwk7jgT0MgOkka1_jK2-IiBPg,5698
138
138
  pygpt_net/core/command.py,sha256=B0rmRSF4F6AkIcCUIQIkxj2JryeczWmabsGxRMLKeeE,22058
139
- pygpt_net/core/ctx/__init__.py,sha256=H9VUnCPkgjGYRy72IjTrAEzq4dHhsSvkg2E71TjnGXY,43105
139
+ pygpt_net/core/ctx/__init__.py,sha256=5W5ZPYE5rkbBRRdL7mT9MFvnWZKjib0cMBiC-9HFl28,43311
140
140
  pygpt_net/core/ctx/bag.py,sha256=-LRhttDRiQkw1Msl3kbGQYaY9w8zqn1o0miNRdqjHtQ,1286
141
141
  pygpt_net/core/ctx/container.py,sha256=tdPHPRfTi8yGY1MZGgFtYtx2lvc5K9OTqhjde16wivY,4232
142
142
  pygpt_net/core/ctx/idx.py,sha256=3Zi-48OWlU80si-Z7mVjnsc7TYATXK9g1dM0M5sXsV4,8167
@@ -177,11 +177,11 @@ pygpt_net/core/filesystem/packer.py,sha256=9CmQgq-lja2QGtc0JFqh197mLLViJ7TDPc8fV
177
177
  pygpt_net/core/filesystem/types.py,sha256=1HFubxAHYup_SLQ7SlR5EvZb3KgVyd8K8vBRUkTcqaA,3458
178
178
  pygpt_net/core/filesystem/url.py,sha256=cXctpPHBY1-fwn7vFqfZi3CeP73n2nFXF-ZnePiRk7U,3236
179
179
  pygpt_net/core/history.py,sha256=93kjlEfVowxR8A_yoPqDINfYHsKlQnh9ii2klsWmUyE,3125
180
- pygpt_net/core/idx/__init__.py,sha256=I5IPrC7ZzEvYVe4mLlGbyTvV_d-V49LOtVd2edRVCsM,17965
181
- pygpt_net/core/idx/chat.py,sha256=Jr7pNwJXdn6ciaSeoi7nXMrkwBjxYtQRDxwJudOsE_o,23443
180
+ pygpt_net/core/idx/__init__.py,sha256=sK6zQDxetao3dnqcBaaT2HTKOz4zxOSEKmsHLQlsLGY,18115
181
+ pygpt_net/core/idx/chat.py,sha256=lB82XFrznPeasZdZmePTFOKNeh2QEm6BYQDmEd1_MsU,23128
182
182
  pygpt_net/core/idx/context.py,sha256=uISNiKprcA_Qv9t0PbMj1vDWCm1eccYbk5iGS-QcfG0,3143
183
- pygpt_net/core/idx/indexing.py,sha256=IoQQYdF0J75lH02Nj3LpWpEqhkXexAhvLwW4o1GX7Fs,43048
184
- pygpt_net/core/idx/llm.py,sha256=oTyU1t-xEtadRl8Vkzpp_IWN4bXTtbLQsnhiA_9myMQ,5159
183
+ pygpt_net/core/idx/indexing.py,sha256=lj0FnPGBhL3AvmOT-NIQcdH6zY-Tpp3DB0zei2SV7xo,42989
184
+ pygpt_net/core/idx/llm.py,sha256=RmYLBKhvMIL7XcvWa39HdNxq4yC-f2C34e93Wx7yaM8,4885
185
185
  pygpt_net/core/idx/metadata.py,sha256=69jrZ54S2wYZ3HzVooozADkbjgK2Rg4MuXTgfd6rcsI,5445
186
186
  pygpt_net/core/idx/types/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
187
187
  pygpt_net/core/idx/types/ctx.py,sha256=IsmwGHAPuvb39E_7TfYr66ljv6v1svNKVDw5jQH2FGk,3409
@@ -246,9 +246,9 @@ pygpt_net/css_rc.py,sha256=i13kX7irhbYCWZ5yJbcMmnkFp_UfS4PYnvRFSPF7XXo,11349
246
246
  pygpt_net/data/audio/click_off.mp3,sha256=aNiRDP1pt-Jy7ija4YKCNFBwvGWbzU460F4pZWZDS90,65201
247
247
  pygpt_net/data/audio/click_on.mp3,sha256=qfdsSnthAEHVXzeyN4LlC0OvXuyW8p7stb7VXtlvZ1k,65201
248
248
  pygpt_net/data/audio/ok.mp3,sha256=LTiV32pEBkpUGBkKkcOdOFB7Eyt_QoP2Nv6c5AaXftk,32256
249
- pygpt_net/data/config/config.json,sha256=sdgT7sx7kIIlDOXeL93eBgQq0rOmQIUHJ79Omzd-gsQ,19735
250
- pygpt_net/data/config/models.json,sha256=x5F_WBVUANTThhffHoFupLaTD4HmghDE13_CJQzU22o,61940
251
- pygpt_net/data/config/modes.json,sha256=LR1GDxxf3K7ZXSB8XAuq58CXN1e9zgc6_btY9fPxv-o,1923
249
+ pygpt_net/data/config/config.json,sha256=5HkaHlyhOoefxyM5HL1Oj_IhnC8PCFcaJ7dc6FPLOxc,19735
250
+ pygpt_net/data/config/models.json,sha256=lrki8Hq-HafH_Nr-ijmoCtrFCmgll_hKdnlshsg5ag0,61940
251
+ pygpt_net/data/config/modes.json,sha256=wxKhY9HJBjkj0lEtkwnod7aaz_iJmWY4eEyCVxY_5RU,1923
252
252
  pygpt_net/data/config/presets/agent_openai.json,sha256=vMTR-soRBiEZrpJJHuFLWyx8a3Ez_BqtqjyXgxCAM_Q,733
253
253
  pygpt_net/data/config/presets/agent_openai_assistant.json,sha256=awJw9lNTGpKML6SJUShVn7lv8AXh0oic7wBeyoN7AYs,798
254
254
  pygpt_net/data/config/presets/agent_planner.json,sha256=a6Rv58Bnm2STNWB0Rw_dGhnsz6Lb3J8_GwsUVZaTIXc,742
@@ -1484,14 +1484,14 @@ pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff,sha256=4U_tArGrp86fW
1484
1484
  pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff2,sha256=cdUX1ngneHz6vfGGkUzDNY7aU543kxlB8rL9SiH2jAs,13568
1485
1485
  pygpt_net/data/js/katex/katex.min.css,sha256=lVaKnUaQNG4pI71WHffQZVALLQF4LMZEk4nOia8U9ow,23532
1486
1486
  pygpt_net/data/js/katex/katex.min.js,sha256=KLASOtKS2x8pUxWVzCDmlWJ4jhuLb0vtrgakbD6gDDo,276757
1487
- pygpt_net/data/locale/locale.de.ini,sha256=x2KH8DuIMh-XT_LrwJtqI6lDhGpJGSzfNPG1Kda_mnc,63555
1488
- pygpt_net/data/locale/locale.en.ini,sha256=AilIvmCHTH446NpT_1lYvfUuWbqKBNJlJoAKUerFRxg,76120
1489
- pygpt_net/data/locale/locale.es.ini,sha256=jZtuTkg80doldJXiIOL6t2emLmTA6D4DR7Rejl6DVDw,63796
1490
- pygpt_net/data/locale/locale.fr.ini,sha256=tSZISfdE8ysnHMyZsKyJ1kBXw0_liRNSfmV2XRJwUn4,65825
1491
- pygpt_net/data/locale/locale.it.ini,sha256=y63qF7dcsMZf_gxAV799H2-7WZhEfE86GH0CdExyk0k,62582
1492
- pygpt_net/data/locale/locale.pl.ini,sha256=H3GJwKhyoZ3CFS-niItAsRH0FWCpHI2chhlTxxpoBpY,62664
1493
- pygpt_net/data/locale/locale.uk.ini,sha256=7EnAUSpsarHefmYNPe9_kSwSYz654KNsoQ26PR7-cpY,87197
1494
- pygpt_net/data/locale/locale.zh.ini,sha256=kd6CZXcX-yPyDlW3O2KWV-JE_9T35Qb1zznUcb7CN2c,64386
1487
+ pygpt_net/data/locale/locale.de.ini,sha256=pQoz_qzInY4RA0Bt1FB7yPlhaoNLaGN1cIIPTr7TnvA,63588
1488
+ pygpt_net/data/locale/locale.en.ini,sha256=v967jvOT3s4RpcLlIMjdDOmgCuCn1DzCPyQyguo7mZU,76144
1489
+ pygpt_net/data/locale/locale.es.ini,sha256=zTeCXB2F13FtZI07RnElmfeJJwd35JVGJG9C5WSE7WI,63821
1490
+ pygpt_net/data/locale/locale.fr.ini,sha256=aYYT3xBiJbUKX4OPcZVvNBG_W3_pHeIUaVbLMk9RPqs,65853
1491
+ pygpt_net/data/locale/locale.it.ini,sha256=QB-mPBNHK3iDYKOutst6p3MzpTiSE-7FDWO4RVhU3Z8,62604
1492
+ pygpt_net/data/locale/locale.pl.ini,sha256=-en8RBnnn_ZU0x8Qxy-mKskjyPnZpQNiDeBtH5eW1D8,62688
1493
+ pygpt_net/data/locale/locale.uk.ini,sha256=1P4vdZbK4bB1dL2xOj-lCp0vmHWeP9pFNCFCYZKERVk,87233
1494
+ pygpt_net/data/locale/locale.zh.ini,sha256=IaBf41RuD0iV2q3G97V4NL_v5_BbARpLxHER-H1X86c,64417
1495
1495
  pygpt_net/data/locale/plugin.agent.de.ini,sha256=BY28KpfFvgfVYJzcw2o5ScWnR4uuErIYGyc3NVHlmTw,1714
1496
1496
  pygpt_net/data/locale/plugin.agent.en.ini,sha256=88LkZUpilbV9l4QDbMyIdq_K9sbWt-CQPpavEttPjJU,1489
1497
1497
  pygpt_net/data/locale/plugin.agent.es.ini,sha256=bqaJQne8HPKFVtZ8Ukzo1TSqVW41yhYbGUqW3j2x1p8,1680
@@ -1881,12 +1881,12 @@ pygpt_net/provider/llms/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG
1881
1881
  pygpt_net/provider/llms/anthropic.py,sha256=SLRWOZfYrtKMjwR1k_Vz5Eg3klAB04mYD_gKCglNFCI,1647
1882
1882
  pygpt_net/provider/llms/azure_openai.py,sha256=Yr0-sRrxM1pyConA7PP4Vd74-ZF9WcTODCIPCPRiuc4,3459
1883
1883
  pygpt_net/provider/llms/base.py,sha256=7--jZH2NBO1i8qFU9l8wAbUDrY9zSBF9CN9XXPqLfRU,4931
1884
- pygpt_net/provider/llms/google.py,sha256=ZS8mVB_Ox39stQufTqQ7OM7rH1aYXBtmyQGgOcKvaL8,1612
1884
+ pygpt_net/provider/llms/google.py,sha256=6jVlCR8Mm57FKCPEbTiQRn0OgAPTNyjXIbH5uYB6Gy8,2312
1885
1885
  pygpt_net/provider/llms/hugging_face.py,sha256=HLw0x8O0HuFNI-7yeI4m-ksl2KPpyENqT1ZiJ1_xEQs,1702
1886
1886
  pygpt_net/provider/llms/hugging_face_api.py,sha256=EmMQL4QJnE-2SZwHg102ZqSZzi8WMIo84inG2bRiaw8,2892
1887
1887
  pygpt_net/provider/llms/local.py,sha256=s6Myi1dZ2fTCCno6UHT-gbffe0g5b_sYxnvMj5P8LlI,1393
1888
1888
  pygpt_net/provider/llms/ollama.py,sha256=ZxCKKSrL-YVIY1erBpKz8eUoOeChAFs83zSZ-hLHQro,3699
1889
- pygpt_net/provider/llms/openai.py,sha256=l2ENhiTBsTrh2vY_KB-EcyhqqQuQkuiRqgIxnK1z8gc,3730
1889
+ pygpt_net/provider/llms/openai.py,sha256=8HUn-YAVM4YQ10fBbsnGvv0eAOFlyKURVPlv9aL8d7U,3730
1890
1890
  pygpt_net/provider/loaders/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1891
1891
  pygpt_net/provider/loaders/base.py,sha256=3-qzzGAF2jxhriNHjE3Y2GtDXxs1_2_BIloaVJS4qzQ,3101
1892
1892
  pygpt_net/provider/loaders/file_csv.py,sha256=sV2JrQ4EqdWc2-8dMjjBvT8x56ux07eB5jyO61EX3pQ,1258
@@ -1909,7 +1909,7 @@ pygpt_net/provider/loaders/hub/chatgpt_retrieval/base.py,sha256=E4SQjBjLuRz7qsex
1909
1909
  pygpt_net/provider/loaders/hub/database/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1910
1910
  pygpt_net/provider/loaders/hub/database/base.py,sha256=oVIojon1bMkIUXTYF30fZIDUuyo3GFn5vZOn4Ew7XfQ,4228
1911
1911
  pygpt_net/provider/loaders/hub/github/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1912
- pygpt_net/provider/loaders/hub/github/issues.py,sha256=wNq3FIjAip91CcPR3QB0M86tGUVfxBly8FkXyCaMpmA,4204
1912
+ pygpt_net/provider/loaders/hub/github/issues.py,sha256=LYzjotadALyvo36mOdwAQZl-rmrtCbNq5GKR0SORaxE,4192
1913
1913
  pygpt_net/provider/loaders/hub/github/repo.py,sha256=y00tCQ473i9nE1yedVXtGxwsBp1sb-4jjXG1A1zfTk0,3550
1914
1914
  pygpt_net/provider/loaders/hub/google/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1915
1915
  pygpt_net/provider/loaders/hub/google/calendar.py,sha256=G2Xvbch9Ik9Ntx54iFqrCd5rJoTg9hYw9kG0s08qyJI,2658
@@ -1920,17 +1920,17 @@ pygpt_net/provider/loaders/hub/google/sheets.py,sha256=gGKqwnZgbfp-sTHQQDNiZWIa6
1920
1920
  pygpt_net/provider/loaders/hub/image_vision/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1921
1921
  pygpt_net/provider/loaders/hub/image_vision/base.py,sha256=MmupDFfKOKwl7DGHa91UcWaarFVeM5oR8_zVfSov5II,7801
1922
1922
  pygpt_net/provider/loaders/hub/json/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1923
- pygpt_net/provider/loaders/hub/json/base.py,sha256=47tIS4CPATH6JLs_kv7BJzz_UBRFiqstRBsBPt_04QI,3862
1923
+ pygpt_net/provider/loaders/hub/json/base.py,sha256=741gHwLIDd70PIm_6EwVjqQTGObTjSWsCGR7mD-_iCE,3858
1924
1924
  pygpt_net/provider/loaders/hub/pandas_excel/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1925
- pygpt_net/provider/loaders/hub/pandas_excel/base.py,sha256=QoeuOLwU5VeVDmdVUHAhgBBIJZLvlw6UkFvM7ZmwpFs,3940
1925
+ pygpt_net/provider/loaders/hub/pandas_excel/base.py,sha256=lJdWG7Qrsmn6yVvKzhhjVJjSIlFPU8NTUAGJL4EoJ4c,3936
1926
1926
  pygpt_net/provider/loaders/hub/simple_csv/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1927
- pygpt_net/provider/loaders/hub/simple_csv/base.py,sha256=rBnBksTmmg3ivtC2aCbaiOPbjUeHoZejl3H6R1uE6Q0,1481
1927
+ pygpt_net/provider/loaders/hub/simple_csv/base.py,sha256=nf7F0hVP4gAQ7Mrfcc7kRW4KlMgjBpj-YGCxSRj0-po,1477
1928
1928
  pygpt_net/provider/loaders/hub/video_audio/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1929
1929
  pygpt_net/provider/loaders/hub/video_audio/base.py,sha256=A-NDZ6IKUgn8F5WN7bWaPYjq7OTTOMILJ-VmchsWP_A,4960
1930
1930
  pygpt_net/provider/loaders/hub/web_page/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1931
1931
  pygpt_net/provider/loaders/hub/web_page/base.py,sha256=jYiPKC-wVZRE5ygVcetMsJnlPNxlHWbz9fvUpCJOkG8,556
1932
1932
  pygpt_net/provider/loaders/hub/yt/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
1933
- pygpt_net/provider/loaders/hub/yt/base.py,sha256=HiX-eDdeL8FJnLKj8rulAtiCEAWzJ5y3WzfBusK55tI,2554
1933
+ pygpt_net/provider/loaders/hub/yt/base.py,sha256=SZwATitTEs8yEwo-bzbK4smbxYZ4vlOZXON40aulOTI,2552
1934
1934
  pygpt_net/provider/loaders/hub/yt/utils.py,sha256=uDEaDQJGrcyMBeNeazJmXVVDIJOyPwR7msz3CoBTM7s,545
1935
1935
  pygpt_net/provider/loaders/web_bitbucket.py,sha256=FwzBTfP0pJQD8pn0FurpOOwqMS-d-mEUQKt2gxC6pWc,3626
1936
1936
  pygpt_net/provider/loaders/web_chatgpt_retrieval.py,sha256=Lh0cWcbx5XFMiLHIpB1qrKvnzYIWSaR59w0_m-2ZpYQ,2580
@@ -1949,15 +1949,15 @@ pygpt_net/provider/loaders/web_rss.py,sha256=yV7c_AB5fXwCyauvsMj7pGQP0gPx-HikblS
1949
1949
  pygpt_net/provider/loaders/web_sitemap.py,sha256=zFIW3abS93ZzsyVasq24MHAiy2ZtrOro-xFl3oaCfyQ,2205
1950
1950
  pygpt_net/provider/loaders/web_twitter.py,sha256=geW_fHMfl-Uh9TmoE3NAk8Ifk0h1VBxMreP7EgKbxhA,2954
1951
1951
  pygpt_net/provider/loaders/web_yt.py,sha256=1j68SbIS6h7Da3pcSPvDnBw5K_jjX3huT39WLQSmArY,2739
1952
- pygpt_net/provider/vector_stores/__init__.py,sha256=ep6B8xlMHcvQTq48Z_4Tr2csO4xEJ4Lqr0Pu--_eTHk,8338
1953
- pygpt_net/provider/vector_stores/base.py,sha256=5beaRqewHzJonWzSAc0M3FWt-RNd90HT_emazkVUEeA,4318
1954
- pygpt_net/provider/vector_stores/chroma.py,sha256=fjSLEqiLcaM7Xnqlo8ARuBjI8tgBoiohXEjnNdfc1Zo,3186
1955
- pygpt_net/provider/vector_stores/ctx_attachment.py,sha256=wRU2rtsTl2p3KR6uSOliGXLHRweTJ3aM1TrpQyKUvGc,3324
1956
- pygpt_net/provider/vector_stores/elasticsearch.py,sha256=iuSo7s4B1XgOzIV5GZR_l0QXKwW25LN72jsaZ04tQJk,3165
1957
- pygpt_net/provider/vector_stores/pinecode.py,sha256=pKnn7JEYVPnt1yE2sWSg60iS1mHLaCGUhytihsU9ydA,5190
1958
- pygpt_net/provider/vector_stores/redis.py,sha256=qfYS7MZq3hrU4QP3a--7itQYBZheqUuxAyUYzedpu2Q,3196
1959
- pygpt_net/provider/vector_stores/simple.py,sha256=eH5yePmjinl2f-jpwD87w-8p79JbyE5b1juKJ9DBuJ4,2587
1960
- pygpt_net/provider/vector_stores/temp.py,sha256=YjeGMnuCBO21qK1qMZBUw8tL-y5FIi5R6DvtmT5Yams,4494
1952
+ pygpt_net/provider/vector_stores/__init__.py,sha256=htSyBOAIVhoHmrcAoinbI_WCly5y_zMoGEcAfeCDhTo,8475
1953
+ pygpt_net/provider/vector_stores/base.py,sha256=CLY9X2yenF-vLiwpVdQBZFO5MOkMf_pShDahWaaoDu8,4361
1954
+ pygpt_net/provider/vector_stores/chroma.py,sha256=_G5GeCzII_wqnUON0e8-uxU3wZmAoFanpX4OQunF_48,3276
1955
+ pygpt_net/provider/vector_stores/ctx_attachment.py,sha256=zNfYQjEGzZM2kPsxIQJCncJpU-746lajwQeqFT_y7po,3322
1956
+ pygpt_net/provider/vector_stores/elasticsearch.py,sha256=sa9ZESc-Yaxh658dvF8FEIx4V5VpaBS_u67bDzGM1nE,3255
1957
+ pygpt_net/provider/vector_stores/pinecode.py,sha256=oyFq8gh9e7Oi369ADvX7MEJlVPpQGZUFybC5c3cdJzE,5280
1958
+ pygpt_net/provider/vector_stores/redis.py,sha256=lea-hmtJH87Q2uCfZogu8H8c0ukSU7UK8vK8dgFFbwM,3286
1959
+ pygpt_net/provider/vector_stores/simple.py,sha256=yP2q9KJgNHTAJc-w-PbVewQkULsgYaFju4Du12Hk8rg,2585
1960
+ pygpt_net/provider/vector_stores/temp.py,sha256=ZaTvzfCMB6bzSKiC4TLc9fn-7uoCguAYvtJoCCj1-Do,4496
1961
1961
  pygpt_net/provider/web/__init__.py,sha256=lOkgAiuNUqkAl_QrIG3ZsUznIZeJYtokgzEnDB8gRic,488
1962
1962
  pygpt_net/provider/web/base.py,sha256=uXWu4N5giHIAWUylq8Ow2T02HDcKl7pWbSKWTpFc5do,2105
1963
1963
  pygpt_net/provider/web/google_custom_search.py,sha256=hgxdpcdxy3YzUBeL1hEuNPFQ3pE3D_CCi5spBzIPKeI,4741
@@ -2035,7 +2035,7 @@ pygpt_net/ui/layout/chat/calendar.py,sha256=Vc6ztv4S_gO2ceqO-SekXyqI4V7cbf-JN_sZ
2035
2035
  pygpt_net/ui/layout/chat/explorer.py,sha256=VGWS6JhXSJV2ry1pIY1Ijme6DvYHfsnKwfrieVXHc3U,1280
2036
2036
  pygpt_net/ui/layout/chat/input.py,sha256=6mvoyAmJvZa2cegyQXz5Wld_oqiuCOq0rabsITax-LE,11144
2037
2037
  pygpt_net/ui/layout/chat/markdown.py,sha256=hjYY8Da1z0IZZD086_csMcDY1wwagpuQTDZ-XfgeNgs,18656
2038
- pygpt_net/ui/layout/chat/output.py,sha256=pS6s2tn1yZU1kukR1s6G3B_FFw6CRiTQtodvu9_9QeM,9978
2038
+ pygpt_net/ui/layout/chat/output.py,sha256=4a_BCzk2MKt5z-KYKD8iaapiS4Kj1R7Gj-8v-5R4BLs,9887
2039
2039
  pygpt_net/ui/layout/chat/painter.py,sha256=2yGU9GET5PpcGteGyWcHTtodKqAL7rxrqxhQ10vhodM,5471
2040
2040
  pygpt_net/ui/layout/ctx/__init__.py,sha256=txpvk6XMqZjBckstlWhn4laQnHBVpcD_7kshER_ymf4,1850
2041
2041
  pygpt_net/ui/layout/ctx/ctx_list.py,sha256=gPvcqyWXmxv3t-PeHCythg61Sc-hmQFtxg1LMcF4DYU,11958
@@ -2055,11 +2055,12 @@ pygpt_net/ui/layout/toolbox/presets.py,sha256=Afb_hLddPQlTcCUcWSCPhfp7ApKdbypkDJ
2055
2055
  pygpt_net/ui/layout/toolbox/prompt.py,sha256=QC5CZx5TvO0-CZVXea4eIuAHFjoYcGxYrLBtny15ATI,3937
2056
2056
  pygpt_net/ui/layout/toolbox/vision.py,sha256=GZY-N2z8re1LN1ntsy-3Ius8OY4DujmJpyJ1qP2ZRxs,2447
2057
2057
  pygpt_net/ui/main.py,sha256=mkGgB7lhrx2WDUBf9N_kbQU9lDPuJ7UdeqnHZtEPRAs,10335
2058
- pygpt_net/ui/menu/__init__.py,sha256=86Mcp_TYTeoCQzsqoGXS9cnj75QbJU0rBfmztUh_7k0,1784
2059
- pygpt_net/ui/menu/about.py,sha256=GTsBPzbjY6XXc9aXq6rFpkpzzGXdECaRTM8s2FMtupQ,5476
2058
+ pygpt_net/ui/menu/__init__.py,sha256=50JVEmOoNnpyjMGgrgIJ2u-M-WudcOw6paMDWHaQEaE,1876
2059
+ pygpt_net/ui/menu/about.py,sha256=bzoUcE_Z2rfb6iGmw4II2m1S8f3XPZ-jA0cmvBwGtLI,5480
2060
2060
  pygpt_net/ui/menu/audio.py,sha256=Sb8NTAyMnPj4johTvBKwocHzq67XypIdw7K7hjf2760,3494
2061
2061
  pygpt_net/ui/menu/config.py,sha256=uQjHZtZok4dasIngzNZkV42pC54zesJ8nJhLLptPtPg,8159
2062
2062
  pygpt_net/ui/menu/debug.py,sha256=umXmXVUyKvmIjZBMqD1luAykX62HSj7QCponycwHqIY,6779
2063
+ pygpt_net/ui/menu/donate.py,sha256=5jpmnl31N-3yy79juL289E-9uEuEv7E0_8uHq7R77aw,2136
2063
2064
  pygpt_net/ui/menu/file.py,sha256=gi4XIMs3l2-9sc5Vl6L9t_le9YP-UUVDIBr1tAREEOE,3360
2064
2065
  pygpt_net/ui/menu/lang.py,sha256=99dSS3mM4KIftgXgsgZoq2bJ_DnmgqA7z7cP49kICP4,897
2065
2066
  pygpt_net/ui/menu/plugins.py,sha256=z0cUg_S5dY1T4oZH3Vv0Dxx0rOuHVaiprPZj2FfBzD0,2880
@@ -2069,7 +2070,7 @@ pygpt_net/ui/menu/video.py,sha256=yVEHdOiIMDOYaIbe3OumFyLxcwRqmo9n82bTACfBTVc,20
2069
2070
  pygpt_net/ui/tray.py,sha256=OaFt9-Jb5YYL1_NXlZMPK2JP_9EO3KBLrSguBYYMr-8,6728
2070
2071
  pygpt_net/ui/widget/__init__.py,sha256=X9-pucLqQF9_ocDV-qNY6EQAJ_4dubGb-7TcWIzCXBo,488
2071
2072
  pygpt_net/ui/widget/anims/loader.py,sha256=PzxHraeABUyMIZlg4Rk_tbJnUPmiwxlhdcHaCkURWWw,5989
2072
- pygpt_net/ui/widget/anims/toggles.py,sha256=ZZTvbqQppZyUBEtvfCT_vkLP6S8vCtdB3Vt9piWVLpw,5757
2073
+ pygpt_net/ui/widget/anims/toggles.py,sha256=_L2533IYyDkbnPCok9XBriIaKM5E9sHSznrwVWpKOOs,5755
2073
2074
  pygpt_net/ui/widget/audio/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
2074
2075
  pygpt_net/ui/widget/audio/input.py,sha256=t9VAhP15HkSOvNV2crI3Kg6AgrQDj-wSQiiYTMlvK60,1721
2075
2076
  pygpt_net/ui/widget/audio/input_button.py,sha256=e5nt91PcLZK0fNbzhvHeRYdpBzRNz-iusoPZziajs30,3695
@@ -2172,9 +2173,9 @@ pygpt_net/ui/widget/textarea/url.py,sha256=xbNQxoM5fYI1ZWbvybQkPmNPrIq3yhtNPBOSO
2172
2173
  pygpt_net/ui/widget/textarea/web.py,sha256=9FoL02QY6mOxtc4t4fe8X7fVDIdPn9Sb_fwsv-OQDBA,11601
2173
2174
  pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
2174
2175
  pygpt_net/ui/widget/vision/camera.py,sha256=T8b5cmK6uhf_WSSxzPt_Qod8JgMnst6q8sQqRvgQiSA,2584
2175
- pygpt_net/utils.py,sha256=ES35jv1OV2etVIQcArpI-FSdfH2SMI86Gdu-V-MDbRQ,6132
2176
- pygpt_net-2.4.47.dist-info/LICENSE,sha256=GLKQTnJOPK4dDIWfkAIM4GwOxKJXi5zcMGt7FjLR1xk,1126
2177
- pygpt_net-2.4.47.dist-info/METADATA,sha256=4RTQiLrkT559RPmgUZSMiT1PnF5lcv6EJJ905YgrcLg,169236
2178
- pygpt_net-2.4.47.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
2179
- pygpt_net-2.4.47.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2180
- pygpt_net-2.4.47.dist-info/RECORD,,
2176
+ pygpt_net/utils.py,sha256=Gsh_mITVke3bb8o-Ke57l__xA5a9Wv4t7tlsnSQULj8,6655
2177
+ pygpt_net-2.4.49.dist-info/LICENSE,sha256=GLKQTnJOPK4dDIWfkAIM4GwOxKJXi5zcMGt7FjLR1xk,1126
2178
+ pygpt_net-2.4.49.dist-info/METADATA,sha256=j-CVH60IOvIiJj9FCjbFCeZBjm6stvp23QrJ7oZR85Q,169725
2179
+ pygpt_net-2.4.49.dist-info/WHEEL,sha256=FMvqSimYX_P7y0a7UY-_Mc83r5zkBZsCYPm7Lr0Bsq4,88
2180
+ pygpt_net-2.4.49.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
2181
+ pygpt_net-2.4.49.dist-info/RECORD,,