pygpt-net 2.5.91__py3-none-any.whl → 2.5.92__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.
- pygpt_net/CHANGELOG.txt +4 -0
- pygpt_net/__init__.py +1 -1
- pygpt_net/core/audio/audio.py +17 -0
- pygpt_net/data/config/config.json +3 -2
- pygpt_net/data/config/models.json +2 -2
- pygpt_net/data/config/settings.json +23 -11
- pygpt_net/data/locale/locale.de.ini +3 -0
- pygpt_net/data/locale/locale.en.ini +3 -0
- pygpt_net/data/locale/locale.es.ini +3 -0
- pygpt_net/data/locale/locale.fr.ini +3 -0
- pygpt_net/data/locale/locale.it.ini +3 -0
- pygpt_net/data/locale/locale.pl.ini +4 -1
- pygpt_net/data/locale/locale.uk.ini +3 -0
- pygpt_net/data/locale/locale.zh.ini +3 -0
- pygpt_net/plugin/audio_output/plugin.py +15 -10
- pygpt_net/provider/core/config/patch.py +8 -0
- pygpt_net/provider/core/model/patch.py +1 -0
- {pygpt_net-2.5.91.dist-info → pygpt_net-2.5.92.dist-info}/METADATA +10 -2
- {pygpt_net-2.5.91.dist-info → pygpt_net-2.5.92.dist-info}/RECORD +22 -22
- {pygpt_net-2.5.91.dist-info → pygpt_net-2.5.92.dist-info}/LICENSE +0 -0
- {pygpt_net-2.5.91.dist-info → pygpt_net-2.5.92.dist-info}/WHEEL +0 -0
- {pygpt_net-2.5.91.dist-info → pygpt_net-2.5.92.dist-info}/entry_points.txt +0 -0
pygpt_net/CHANGELOG.txt
CHANGED
pygpt_net/__init__.py
CHANGED
|
@@ -13,7 +13,7 @@ __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.
|
|
16
|
+
__version__ = "2.5.92"
|
|
17
17
|
__build__ = "2025-08-08"
|
|
18
18
|
__maintainer__ = "Marcin Szczygliński"
|
|
19
19
|
__github__ = "https://github.com/szczyglis-dev/py-gpt"
|
pygpt_net/core/audio/audio.py
CHANGED
|
@@ -204,11 +204,28 @@ class Audio:
|
|
|
204
204
|
:return: audio cache directory path
|
|
205
205
|
"""
|
|
206
206
|
dir = self.window.core.config.get_user_dir("tmp")
|
|
207
|
+
if not os.path.exists(dir):
|
|
208
|
+
os.makedirs(dir, exist_ok=True)
|
|
207
209
|
tmp_dir = os.path.join(dir, "audio_cache")
|
|
208
210
|
if not os.path.exists(tmp_dir):
|
|
209
211
|
os.makedirs(tmp_dir, exist_ok=True)
|
|
210
212
|
return tmp_dir
|
|
211
213
|
|
|
214
|
+
def delete_old_cache(self, max_files: int = 10):
|
|
215
|
+
"""
|
|
216
|
+
Delete old cache files, keeping only the most recent ones.
|
|
217
|
+
|
|
218
|
+
:param max_files: Maximum number of cache files to keep.
|
|
219
|
+
"""
|
|
220
|
+
tmp_dir = self.get_cache_dir()
|
|
221
|
+
files = [os.path.join(tmp_dir, f) for f in os.listdir(tmp_dir) if f.endswith('.' + self.CACHE_FORMAT)]
|
|
222
|
+
files.sort(key=os.path.getmtime, reverse=True)
|
|
223
|
+
for file in files[max_files:]:
|
|
224
|
+
try:
|
|
225
|
+
os.remove(file)
|
|
226
|
+
except Exception as e:
|
|
227
|
+
print(f"Error deleting cache file {file}: {e}")
|
|
228
|
+
|
|
212
229
|
def mp3_to_wav(
|
|
213
230
|
self,
|
|
214
231
|
src_file: str,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"__meta__": {
|
|
3
|
-
"version": "2.5.
|
|
4
|
-
"app.version": "2.5.
|
|
3
|
+
"version": "2.5.92",
|
|
4
|
+
"app.version": "2.5.92",
|
|
5
5
|
"updated_at": "2025-08-08T00:00:00"
|
|
6
6
|
},
|
|
7
7
|
"access.audio.event.speech": false,
|
|
@@ -95,6 +95,7 @@
|
|
|
95
95
|
"attachments_send_clear": true,
|
|
96
96
|
"attachments_capture_clear": true,
|
|
97
97
|
"audio.cache.enabled": true,
|
|
98
|
+
"audio.cache.max_files": 1000,
|
|
98
99
|
"audio.input.backend": "native",
|
|
99
100
|
"audio.input.channels": 1,
|
|
100
101
|
"audio.input.continuous": false,
|
|
@@ -1373,17 +1373,7 @@
|
|
|
1373
1373
|
"step": 1,
|
|
1374
1374
|
"advanced": false,
|
|
1375
1375
|
"tab": "device"
|
|
1376
|
-
},
|
|
1377
|
-
"audio.cache.enabled": {
|
|
1378
|
-
"section": "audio",
|
|
1379
|
-
"type": "bool",
|
|
1380
|
-
"slider": true,
|
|
1381
|
-
"label": "settings.audio.cache.enabled",
|
|
1382
|
-
"description": "settings.audio.cache.enabled.desc",
|
|
1383
|
-
"value": true,
|
|
1384
|
-
"advanced": false,
|
|
1385
|
-
"tab": "options"
|
|
1386
|
-
},
|
|
1376
|
+
},
|
|
1387
1377
|
"audio.input.stop_interval": {
|
|
1388
1378
|
"section": "audio",
|
|
1389
1379
|
"type": "int",
|
|
@@ -1424,6 +1414,28 @@
|
|
|
1424
1414
|
"advanced": false,
|
|
1425
1415
|
"tab": "options"
|
|
1426
1416
|
},
|
|
1417
|
+
"audio.cache.enabled": {
|
|
1418
|
+
"section": "audio",
|
|
1419
|
+
"type": "bool",
|
|
1420
|
+
"slider": true,
|
|
1421
|
+
"label": "settings.audio.cache.enabled",
|
|
1422
|
+
"description": "settings.audio.cache.enabled.desc",
|
|
1423
|
+
"value": true,
|
|
1424
|
+
"advanced": false,
|
|
1425
|
+
"tab": "cache"
|
|
1426
|
+
},
|
|
1427
|
+
"audio.cache.max_files": {
|
|
1428
|
+
"section": "audio",
|
|
1429
|
+
"type": "int",
|
|
1430
|
+
"slider": false,
|
|
1431
|
+
"label": "settings.audio.cache.max_files",
|
|
1432
|
+
"description": "settings.audio.cache.max_files.desc",
|
|
1433
|
+
"min": 0,
|
|
1434
|
+
"multiplier": 1,
|
|
1435
|
+
"value": 1000,
|
|
1436
|
+
"advanced": false,
|
|
1437
|
+
"tab": "cache"
|
|
1438
|
+
},
|
|
1427
1439
|
"remote_tools.web_search": {
|
|
1428
1440
|
"section": "remote_tools",
|
|
1429
1441
|
"type": "bool",
|
|
@@ -1027,6 +1027,8 @@ settings.app.env = Anwendungsumgebung (os.environ)
|
|
|
1027
1027
|
settings.app.env.desc = Zusätzliche Umgebungsvariablen, die beim Start der Anwendung gesetzt werden sollen
|
|
1028
1028
|
settings.audio.cache.enabled = Cache aktivieren
|
|
1029
1029
|
settings.audio.cache.enabled.desc = Aktivieren Sie das Audio-Caching für die Spracherzeugung.
|
|
1030
|
+
settings.audio.cache.max_files = Maximale Anzahl zu speichernder Dateien
|
|
1031
|
+
settings.audio.cache.max_files.desc = Maximale Anzahl gecachter Audiodateien, die auf der Festplatte gespeichert werden
|
|
1030
1032
|
settings.audio.input.backend = Backend für Audioeingabe
|
|
1031
1033
|
settings.audio.input.backend.desc = Wählen Sie das Backend für die Audioeingabe.
|
|
1032
1034
|
settings.audio.input.channels = Kanäle
|
|
@@ -1241,6 +1243,7 @@ settings.section.api_keys.openai = OpenAI
|
|
|
1241
1243
|
settings.section.api_keys.perplexity = Perplexity
|
|
1242
1244
|
settings.section.api_keys.xai = xAI
|
|
1243
1245
|
settings.section.audio = Audio
|
|
1246
|
+
settings.section.audio.cache = Cache
|
|
1244
1247
|
settings.section.audio.device = Geräte
|
|
1245
1248
|
settings.section.audio.options = Optionen
|
|
1246
1249
|
settings.section.ctx = Kontext
|
|
@@ -1033,6 +1033,8 @@ settings.app.env = Application environment (os.environ)
|
|
|
1033
1033
|
settings.app.env.desc = Additional environment vars to set on application start
|
|
1034
1034
|
settings.audio.cache.enabled = Enable Cache
|
|
1035
1035
|
settings.audio.cache.enabled.desc = Enable audio caching for speech synthesis generation.
|
|
1036
|
+
settings.audio.cache.max_files = Max files to store
|
|
1037
|
+
settings.audio.cache.max_files.desc = Max number of cached audio files stored to disk
|
|
1036
1038
|
settings.audio.input.backend = Audio Input Backend
|
|
1037
1039
|
settings.audio.input.backend.desc = Select the audio input backend.
|
|
1038
1040
|
settings.audio.input.channels = Channels
|
|
@@ -1251,6 +1253,7 @@ settings.section.api_keys.openai = OpenAI
|
|
|
1251
1253
|
settings.section.api_keys.perplexity = Perplexity
|
|
1252
1254
|
settings.section.api_keys.xai = xAI
|
|
1253
1255
|
settings.section.audio = Audio
|
|
1256
|
+
settings.section.audio.cache = Cache
|
|
1254
1257
|
settings.section.audio.device = Devices
|
|
1255
1258
|
settings.section.audio.options = Options
|
|
1256
1259
|
settings.section.ctx = Context
|
|
@@ -1028,6 +1028,8 @@ settings.app.env = Entorno de la aplicación (os.environ)
|
|
|
1028
1028
|
settings.app.env.desc = Variables de entorno adicionales para configurar en el inicio de la aplicación
|
|
1029
1029
|
settings.audio.cache.enabled = Habilitar caché
|
|
1030
1030
|
settings.audio.cache.enabled.desc = Habilitar caché de audio para la generación de síntesis de voz.
|
|
1031
|
+
settings.audio.cache.max_files = Número máximo de archivos a almacenar
|
|
1032
|
+
settings.audio.cache.max_files.desc = Número máximo de archivos de audio en caché almacenados en el disco
|
|
1031
1033
|
settings.audio.input.backend = Backend para la entrada de audio
|
|
1032
1034
|
settings.audio.input.backend.desc = Selecciona el backend para la entrada de audio.
|
|
1033
1035
|
settings.audio.input.channels = Canaux
|
|
@@ -1242,6 +1244,7 @@ settings.section.api_keys.openai = OpenAI
|
|
|
1242
1244
|
settings.section.api_keys.perplexity = Perplexity
|
|
1243
1245
|
settings.section.api_keys.xai = xAI
|
|
1244
1246
|
settings.section.audio = Audio
|
|
1247
|
+
settings.section.audio.cache = Caché
|
|
1245
1248
|
settings.section.audio.device = Dispositivos
|
|
1246
1249
|
settings.section.audio.options = Opciones
|
|
1247
1250
|
settings.section.ctx = Contexto
|
|
@@ -1027,6 +1027,8 @@ settings.app.env = Environnement de l'application (os.environ)
|
|
|
1027
1027
|
settings.app.env.desc = Variables d'environnement supplémentaires à définir au démarrage de l'application
|
|
1028
1028
|
settings.audio.cache.enabled = Activer le cache
|
|
1029
1029
|
settings.audio.cache.enabled.desc = Activer le cache audio pour la génération de synthèse vocale.
|
|
1030
|
+
settings.audio.cache.max_files = Nombre maximal de fichiers à stocker
|
|
1031
|
+
settings.audio.cache.max_files.desc = Nombre maximal de fichiers audio mis en cache et enregistrés sur le disque
|
|
1030
1032
|
settings.audio.input.backend = Backend pour l'entrée audio
|
|
1031
1033
|
settings.audio.input.backend.desc = Sélectionnez le backend pour l'entrée audio.
|
|
1032
1034
|
settings.audio.input.channels = Canaux
|
|
@@ -1241,6 +1243,7 @@ settings.section.api_keys.openai = OpenAI
|
|
|
1241
1243
|
settings.section.api_keys.perplexity = Perplexity
|
|
1242
1244
|
settings.section.api_keys.xai = xAI
|
|
1243
1245
|
settings.section.audio = Audio
|
|
1246
|
+
settings.section.audio.cache = Cache
|
|
1244
1247
|
settings.section.audio.device = Appareils
|
|
1245
1248
|
settings.section.audio.options = Options
|
|
1246
1249
|
settings.section.ctx = Contexte
|
|
@@ -1027,6 +1027,8 @@ settings.app.env = Ambiente dell'applicazione (os.environ)
|
|
|
1027
1027
|
settings.app.env.desc = Variabili d'ambiente aggiuntive da impostare all'avvio dell'applicazione
|
|
1028
1028
|
settings.audio.cache.enabled = Abilita cache
|
|
1029
1029
|
settings.audio.cache.enabled.desc = Abilita la memorizzazione audio per la generazione della sintesi vocale.
|
|
1030
|
+
settings.audio.cache.max_files = Numero massimo di file da memorizzare
|
|
1031
|
+
settings.audio.cache.max_files.desc = Numero massimo di file audio in cache memorizzati su disco
|
|
1030
1032
|
settings.audio.input.backend = Backend per l'ingresso audio
|
|
1031
1033
|
settings.audio.input.backend.desc = Seleziona il backend per l'ingresso audio.
|
|
1032
1034
|
settings.audio.input.channels = Canali
|
|
@@ -1241,6 +1243,7 @@ settings.section.api_keys.openai = OpenAI
|
|
|
1241
1243
|
settings.section.api_keys.perplexity = Perplexity
|
|
1242
1244
|
settings.section.api_keys.xai = xAI
|
|
1243
1245
|
settings.section.audio = Audio
|
|
1246
|
+
settings.section.audio.cache = Cache
|
|
1244
1247
|
settings.section.audio.device = Dispositivi
|
|
1245
1248
|
settings.section.audio.options = Opzioni
|
|
1246
1249
|
settings.section.ctx = Contesto
|
|
@@ -1028,7 +1028,9 @@ settings.api_use_responses_llama.desc = Używaj Responses API zamiast ChatComple
|
|
|
1028
1028
|
settings.app.env = Środowisko aplikacji (os.environ)
|
|
1029
1029
|
settings.app.env.desc = Dodatkowe zmienne środowiskowe do ustawienia przy starcie aplikacji
|
|
1030
1030
|
settings.audio.cache.enabled = Włącz pamięć podręczną
|
|
1031
|
-
settings.audio.cache.enabled.desc = Włącz buforowanie audio dla generowania syntezy mowy.
|
|
1031
|
+
settings.audio.cache.enabled.desc = Włącz buforowanie audio dla generowania syntezy mowy.
|
|
1032
|
+
settings.audio.cache.max_files = Maksymalna liczba plików
|
|
1033
|
+
settings.audio.cache.max_files.desc = Maksymalna liczba plików audio w pamięci podręcznej zapisywanych na dysku
|
|
1032
1034
|
settings.audio.input.backend = Backend dla wejścia audio
|
|
1033
1035
|
settings.audio.input.backend.desc = Wybierz backend dla wejścia audio.
|
|
1034
1036
|
settings.audio.input.channels = Kanały
|
|
@@ -1243,6 +1245,7 @@ settings.section.api_keys.openai = OpenAI
|
|
|
1243
1245
|
settings.section.api_keys.perplexity = Perplexity
|
|
1244
1246
|
settings.section.api_keys.xai = xAI
|
|
1245
1247
|
settings.section.audio = Audio
|
|
1248
|
+
settings.section.audio.cache = Pamięć podręczna
|
|
1246
1249
|
settings.section.audio.device = Urządzenia
|
|
1247
1250
|
settings.section.audio.options = Opcje
|
|
1248
1251
|
settings.section.ctx = Kontekst
|
|
@@ -1027,6 +1027,8 @@ settings.app.env = Оточення додатка (os.environ)
|
|
|
1027
1027
|
settings.app.env.desc = Додаткові змінні середовища для встановлення при запуску додатка
|
|
1028
1028
|
settings.audio.cache.enabled = Увімкнути кеш
|
|
1029
1029
|
settings.audio.cache.enabled.desc = Увімкнути кешування аудіо для генерації синтезу мови.
|
|
1030
|
+
settings.audio.cache.max_files = Максимальна кількість файлів для збереження
|
|
1031
|
+
settings.audio.cache.max_files.desc = Максимальна кількість кешованих аудіофайлів, збережених на диску
|
|
1030
1032
|
settings.audio.input.backend = Бекенд для аудіовходу
|
|
1031
1033
|
settings.audio.input.backend.desc = Виберіть бекенд для аудіовходу.
|
|
1032
1034
|
settings.audio.input.channels = Канали
|
|
@@ -1241,6 +1243,7 @@ settings.section.api_keys.openai = OpenAI
|
|
|
1241
1243
|
settings.section.api_keys.perplexity = Perplexity
|
|
1242
1244
|
settings.section.api_keys.xai = xAI
|
|
1243
1245
|
settings.section.audio = Аудіо
|
|
1246
|
+
settings.section.audio.cache = Кеш
|
|
1244
1247
|
settings.section.audio.device = Пристрої
|
|
1245
1248
|
settings.section.audio.options = Параметри
|
|
1246
1249
|
settings.section.ctx = Контекст
|
|
@@ -1027,6 +1027,8 @@ settings.app.env = 应用程序环境 (os.environ)
|
|
|
1027
1027
|
settings.app.env.desc = 在应用程序启动时要设置的额外环境变量
|
|
1028
1028
|
settings.audio.cache.enabled = 启用缓存
|
|
1029
1029
|
settings.audio.cache.enabled.desc = 启用音频缓存以进行语音合成生成。
|
|
1030
|
+
settings.audio.cache.max_files = 要存储的最大文件数
|
|
1031
|
+
settings.audio.cache.max_files.desc = 缓存到磁盘的最大音频文件数
|
|
1030
1032
|
settings.audio.input.backend = 音频输入的后端
|
|
1031
1033
|
settings.audio.input.backend.desc = 选择音频输入的后端。
|
|
1032
1034
|
settings.audio.input.channels = 声道
|
|
@@ -1241,6 +1243,7 @@ settings.section.api_keys.openai = OpenAI
|
|
|
1241
1243
|
settings.section.api_keys.perplexity = Perplexity
|
|
1242
1244
|
settings.section.api_keys.xai = xAI
|
|
1243
1245
|
settings.section.audio = 音频
|
|
1246
|
+
settings.section.audio.cache = 缓存
|
|
1244
1247
|
settings.section.audio.device = 设备
|
|
1245
1248
|
settings.section.audio.options = 选项
|
|
1246
1249
|
settings.section.ctx = 上下文
|
|
@@ -178,16 +178,21 @@ class Plugin(BasePlugin):
|
|
|
178
178
|
|
|
179
179
|
# cache ctx
|
|
180
180
|
cache_enabled = self.window.core.config.get("audio.cache.enabled", False)
|
|
181
|
-
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
if
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
if
|
|
190
|
-
|
|
181
|
+
max_files = int(self.window.core.config.get("audio.cache.max_files", 10))
|
|
182
|
+
if cache_enabled:
|
|
183
|
+
# delete old if max
|
|
184
|
+
if max_files > 0:
|
|
185
|
+
self.window.core.audio.delete_old_cache(max_files)
|
|
186
|
+
if not cache_file:
|
|
187
|
+
# gen cache file path if exists
|
|
188
|
+
tmp_cache_file, is_cached = self.window.core.audio.prepare_cache_path(text)
|
|
189
|
+
if is_cached:
|
|
190
|
+
event = Event(Event.AUDIO_PLAYBACK, ctx=ctx)
|
|
191
|
+
event.data = {"audio_file": tmp_cache_file}
|
|
192
|
+
return self.on_playback(ctx, event) # playback cached audio file
|
|
193
|
+
else:
|
|
194
|
+
if tmp_cache_file:
|
|
195
|
+
cache_file = tmp_cache_file # store cache file
|
|
191
196
|
|
|
192
197
|
try:
|
|
193
198
|
if text is not None and len(text) > 0:
|
|
@@ -2189,6 +2189,14 @@ class Patch:
|
|
|
2189
2189
|
print("Migrating config from < 2.5.91...")
|
|
2190
2190
|
if "audio.cache.enabled" not in data:
|
|
2191
2191
|
data["audio.cache.enabled"] = True
|
|
2192
|
+
updated = True
|
|
2193
|
+
|
|
2194
|
+
# < 2.5.92
|
|
2195
|
+
if old < parse_version("2.5.92"):
|
|
2196
|
+
print("Migrating config from < 2.5.92...")
|
|
2197
|
+
if "audio.cache.max_files" not in data:
|
|
2198
|
+
data["audio.cache.max_files"] = 1000
|
|
2199
|
+
updated = True
|
|
2192
2200
|
|
|
2193
2201
|
# update file
|
|
2194
2202
|
migrated = False
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pygpt-net
|
|
3
|
-
Version: 2.5.
|
|
3
|
+
Version: 2.5.92
|
|
4
4
|
Summary: Desktop AI Assistant powered by: OpenAI GPT-5, o1, o3, GPT-4, Gemini, Claude, Grok, DeepSeek, and other models supported by Llama Index, and Ollama. Chatbot, agents, completion, image generation, vision analysis, speech-to-text, plugins, internet access, file handling, command execution and more.
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: py_gpt,py-gpt,pygpt,desktop,app,o1,o3,gpt-5,gpt,gpt4,gpt-4o,gpt-4v,gpt3.5,gpt-4,gpt-4-vision,gpt-3.5,llama3,mistral,gemini,grok,deepseek,bielik,claude,tts,whisper,vision,chatgpt,dall-e,chat,chatbot,assistant,text completion,image generation,ai,api,openai,api key,langchain,llama-index,ollama,presets,ui,qt,pyside
|
|
@@ -104,7 +104,7 @@ Description-Content-Type: text/markdown
|
|
|
104
104
|
|
|
105
105
|
[](https://snapcraft.io/pygpt)
|
|
106
106
|
|
|
107
|
-
Release: **2.5.
|
|
107
|
+
Release: **2.5.92** | build: **2025-08-08** | Python: **>=3.10, <3.14**
|
|
108
108
|
|
|
109
109
|
> Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
|
|
110
110
|
>
|
|
@@ -3295,6 +3295,10 @@ Enable/disable remote tools, like Web Search or Image generation to use in OpenA
|
|
|
3295
3295
|
|
|
3296
3296
|
- `Sampling Rate`: Sampling rate, default: 44100
|
|
3297
3297
|
|
|
3298
|
+
- `Use cache`: Use cache for generating audio files.
|
|
3299
|
+
|
|
3300
|
+
- `Max files to store`: Max files to store on disk for audio cache.
|
|
3301
|
+
|
|
3298
3302
|
**Indexes / LlamaIndex**
|
|
3299
3303
|
|
|
3300
3304
|
**General**
|
|
@@ -4354,6 +4358,10 @@ may consume additional tokens that are not displayed in the main window.
|
|
|
4354
4358
|
|
|
4355
4359
|
## Recent changes:
|
|
4356
4360
|
|
|
4361
|
+
**2.5.92 (2025-08-08)**
|
|
4362
|
+
|
|
4363
|
+
- Added max files to store config option in Audio -> Cache.
|
|
4364
|
+
|
|
4357
4365
|
**2.5.91 (2025-08-08)**
|
|
4358
4366
|
|
|
4359
4367
|
- Added GPT-5.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
pygpt_net/CHANGELOG.txt,sha256=
|
|
1
|
+
pygpt_net/CHANGELOG.txt,sha256=G4RISl9r-SJc1bsRAgeoUyUMokGlp1urYmOyeC_jzIE,96791
|
|
2
2
|
pygpt_net/LICENSE,sha256=dz9sfFgYahvu2NZbx4C1xCsVn9GVer2wXcMkFRBvqzY,1146
|
|
3
|
-
pygpt_net/__init__.py,sha256=
|
|
3
|
+
pygpt_net/__init__.py,sha256=At2kiZ5ezKyU9mHK_GDNkheHFgl3buN3__yfacOt_EY,1373
|
|
4
4
|
pygpt_net/app.py,sha256=86COG6F-sC9dIRURMjBPS4fkD3Zzrp5kwCFQuM4tikc,18971
|
|
5
5
|
pygpt_net/config.py,sha256=FxN39zmTpOY84lgrfhfIDuxKmNPrePhNHdGxvEOKqK8,16881
|
|
6
6
|
pygpt_net/container.py,sha256=4puHeSNIyj3q6gTjPLsQKE1U-4fAhoNANYKiDq-mTqA,4054
|
|
@@ -168,7 +168,7 @@ pygpt_net/core/attachments/attachments.py,sha256=bUqvfPqlpdXiGf3GvS1kTE45A0Q1Eo3
|
|
|
168
168
|
pygpt_net/core/attachments/context.py,sha256=S67zDh4lD9_stmeeh1ZGNv3IMt_6_IMGxq-3Jqn9kMs,25119
|
|
169
169
|
pygpt_net/core/attachments/worker.py,sha256=Yt6DU2Yr7-FPTPTdlj8vDzT46pcKcvZoatiZybY6YEo,1685
|
|
170
170
|
pygpt_net/core/audio/__init__.py,sha256=SNShKpjqXzLhaSKxWiM8b6lasHRkrdSZ8ck-X7RJ-VY,509
|
|
171
|
-
pygpt_net/core/audio/audio.py,sha256=
|
|
171
|
+
pygpt_net/core/audio/audio.py,sha256=_WaS1JHT9S3BqmzEc7bOcWwMfth6ueMJQVs13jzoy4c,7709
|
|
172
172
|
pygpt_net/core/audio/backend/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
173
173
|
pygpt_net/core/audio/backend/native.py,sha256=HfkuK281CByBGQgxv343mRC-pyyxWfZrhYfcYTTEYOg,22117
|
|
174
174
|
pygpt_net/core/audio/backend/pyaudio.py,sha256=iVpkr-82OldSY_9Zar9U7hMiiBcy9kZso4h8Xcvo9pA,18487
|
|
@@ -340,8 +340,8 @@ pygpt_net/css_rc.py,sha256=i13kX7irhbYCWZ5yJbcMmnkFp_UfS4PYnvRFSPF7XXo,11349
|
|
|
340
340
|
pygpt_net/data/audio/click_off.mp3,sha256=aNiRDP1pt-Jy7ija4YKCNFBwvGWbzU460F4pZWZDS90,65201
|
|
341
341
|
pygpt_net/data/audio/click_on.mp3,sha256=qfdsSnthAEHVXzeyN4LlC0OvXuyW8p7stb7VXtlvZ1k,65201
|
|
342
342
|
pygpt_net/data/audio/ok.mp3,sha256=LTiV32pEBkpUGBkKkcOdOFB7Eyt_QoP2Nv6c5AaXftk,32256
|
|
343
|
-
pygpt_net/data/config/config.json,sha256
|
|
344
|
-
pygpt_net/data/config/models.json,sha256=
|
|
343
|
+
pygpt_net/data/config/config.json,sha256=-lndyyNRWW_Ahdr3KSmaehRc6f7kgJ2FSELQ7IMtNx4,24750
|
|
344
|
+
pygpt_net/data/config/models.json,sha256=avI6jlTtphXMgA7U29aIY25srKvttoTC_Fzw3InCqwM,109127
|
|
345
345
|
pygpt_net/data/config/modes.json,sha256=M882iiqX_R2sNQl9cqZ3k-uneEvO9wpARtHRMLx_LHw,2265
|
|
346
346
|
pygpt_net/data/config/presets/agent_code_act.json,sha256=GYHqhxtKFLUCvRI3IJAJ7Qe1k8yD9wGGNwManldWzlI,754
|
|
347
347
|
pygpt_net/data/config/presets/agent_openai.json,sha256=vMTR-soRBiEZrpJJHuFLWyx8a3Ez_BqtqjyXgxCAM_Q,733
|
|
@@ -374,7 +374,7 @@ pygpt_net/data/config/presets/current.vision.json,sha256=x1ll5B3ROSKYQA6l27PRGXU
|
|
|
374
374
|
pygpt_net/data/config/presets/dalle_white_cat.json,sha256=esqUb43cqY8dAo7B5u99tRC0MBV5lmlrVLnJhTSkL8w,552
|
|
375
375
|
pygpt_net/data/config/presets/joke_agent.json,sha256=R6n9P7KRb0s-vZWZE7kHdlOfXAx1yYrPmUw8uLyw8OE,474
|
|
376
376
|
pygpt_net/data/config/presets/joke_expert.json,sha256=jjcoIYEOaEp8kLoIbecxQROiq4J3Zess5w8_HmngPOY,671
|
|
377
|
-
pygpt_net/data/config/settings.json,sha256=
|
|
377
|
+
pygpt_net/data/config/settings.json,sha256=9QTRQDJMijDtQPBYeXB5MDjMFMbdXOKsNFU820i6QS0,64821
|
|
378
378
|
pygpt_net/data/config/settings_section.json,sha256=Ng6kgmgxVmvt-KYFIqZvIDAEK4DfISNjNVF55DFWNjs,1082
|
|
379
379
|
pygpt_net/data/css/fix_windows.css,sha256=Mks14Vg25ncbMqZJfAMStrhvZmgHF6kU75ohTWRZeI8,664
|
|
380
380
|
pygpt_net/data/css/fix_windows.dark.css,sha256=7hGbT_qI5tphYC_WlFpJRDAcmjBb0AQ2Yc-y-_Zzf2M,161
|
|
@@ -1597,14 +1597,14 @@ pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff,sha256=4U_tArGrp86fW
|
|
|
1597
1597
|
pygpt_net/data/js/katex/fonts/KaTeX_Typewriter-Regular.woff2,sha256=cdUX1ngneHz6vfGGkUzDNY7aU543kxlB8rL9SiH2jAs,13568
|
|
1598
1598
|
pygpt_net/data/js/katex/katex.min.css,sha256=lVaKnUaQNG4pI71WHffQZVALLQF4LMZEk4nOia8U9ow,23532
|
|
1599
1599
|
pygpt_net/data/js/katex/katex.min.js,sha256=KLASOtKS2x8pUxWVzCDmlWJ4jhuLb0vtrgakbD6gDDo,276757
|
|
1600
|
-
pygpt_net/data/locale/locale.de.ini,sha256=
|
|
1601
|
-
pygpt_net/data/locale/locale.en.ini,sha256=
|
|
1602
|
-
pygpt_net/data/locale/locale.es.ini,sha256=
|
|
1603
|
-
pygpt_net/data/locale/locale.fr.ini,sha256=
|
|
1604
|
-
pygpt_net/data/locale/locale.it.ini,sha256=
|
|
1605
|
-
pygpt_net/data/locale/locale.pl.ini,sha256=
|
|
1606
|
-
pygpt_net/data/locale/locale.uk.ini,sha256=
|
|
1607
|
-
pygpt_net/data/locale/locale.zh.ini,sha256=
|
|
1600
|
+
pygpt_net/data/locale/locale.de.ini,sha256=ZpYsSFQk-0-XHUGjJSjOd8g6Y49MbJYo89xmulHwg4A,95311
|
|
1601
|
+
pygpt_net/data/locale/locale.en.ini,sha256=QWHYX0HTzRua3HXDHi7uyCFLv1M9xBd8QOG7SS8r9bU,86457
|
|
1602
|
+
pygpt_net/data/locale/locale.es.ini,sha256=JTh5fcDTBd4l3RYe2PuiW9sRniq-Nux6oHPD3dfTGfo,96064
|
|
1603
|
+
pygpt_net/data/locale/locale.fr.ini,sha256=gOpc07xXNOzkKgMEmhCYnU4Zef4FOuDXBNZF920FKME,98511
|
|
1604
|
+
pygpt_net/data/locale/locale.it.ini,sha256=eU5uJ8rAvPB8VWTaWmKosO6CK028pN4MXrDaS5l93Sk,93890
|
|
1605
|
+
pygpt_net/data/locale/locale.pl.ini,sha256=1OoPSQnak3PTEndaxnmNHQeyzdNEarbz5gxwM-GIJmY,93640
|
|
1606
|
+
pygpt_net/data/locale/locale.uk.ini,sha256=FIbXUrfl6yuMf77mS5hz5wG60gB31CdQA6z7KA_yuXk,130136
|
|
1607
|
+
pygpt_net/data/locale/locale.zh.ini,sha256=Ns_BD1pj7nAmEzuSJiskHsrGOg3UdNw3DOr-s7ZGv3I,83809
|
|
1608
1608
|
pygpt_net/data/locale/plugin.agent.de.ini,sha256=BY28KpfFvgfVYJzcw2o5ScWnR4uuErIYGyc3NVHlmTw,1714
|
|
1609
1609
|
pygpt_net/data/locale/plugin.agent.en.ini,sha256=HwOWCI7e8uzlIgyRWRVyr1x6Xzs8Xjv5pfEc7jfLOo4,1728
|
|
1610
1610
|
pygpt_net/data/locale/plugin.agent.es.ini,sha256=bqaJQne8HPKFVtZ8Ukzo1TSqVW41yhYbGUqW3j2x1p8,1680
|
|
@@ -1829,7 +1829,7 @@ pygpt_net/plugin/audio_input/simple.py,sha256=rSqczTMzNbmMNNWGbt9j2M837szWRJpa_1
|
|
|
1829
1829
|
pygpt_net/plugin/audio_input/worker.py,sha256=-VmSUfsFl--95G9aHKOm9LqDw6F9-8HHS7ckAzcBW6A,12157
|
|
1830
1830
|
pygpt_net/plugin/audio_output/__init__.py,sha256=UglI8YPtzF_-buENrR0vqDuvzlK3CJdIXKx-iaJozZM,510
|
|
1831
1831
|
pygpt_net/plugin/audio_output/config.py,sha256=IA2K-9fQMZSwYGyi30Uh5qAlYwuqwaHo3dtDJ13vQdo,1208
|
|
1832
|
-
pygpt_net/plugin/audio_output/plugin.py,sha256=
|
|
1832
|
+
pygpt_net/plugin/audio_output/plugin.py,sha256=tncu3gPVVYZYF173ggnytuEh1AKDnUMUAlPDvZvu41Y,10276
|
|
1833
1833
|
pygpt_net/plugin/audio_output/worker.py,sha256=XhkY0uYlx1UIuAeWB3CA9MLvvDxI870E0iKJ0O2Lx10,3718
|
|
1834
1834
|
pygpt_net/plugin/base/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
1835
1835
|
pygpt_net/plugin/base/config.py,sha256=q5WAcF-h3KZH4bJFYANasM7UmV1v1c43fF1EZ05iF7Y,848
|
|
@@ -1985,7 +1985,7 @@ pygpt_net/provider/core/calendar/db_sqlite/storage.py,sha256=QDclQCQdr4QyRIqjgGX
|
|
|
1985
1985
|
pygpt_net/provider/core/config/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
|
|
1986
1986
|
pygpt_net/provider/core/config/base.py,sha256=cbvzbMNqL2XgC-36gGubnU37t94AX7LEw0lecb2Nm80,1365
|
|
1987
1987
|
pygpt_net/provider/core/config/json_file.py,sha256=GCcpCRQnBiSLWwlGbG9T3ZgiHkTfp5Jsg2KYkZcakBw,6789
|
|
1988
|
-
pygpt_net/provider/core/config/patch.py,sha256=
|
|
1988
|
+
pygpt_net/provider/core/config/patch.py,sha256=xpTeLYRky7k77RtWD7XOhsEbWSoHKWXEps9FSjlDC7k,115715
|
|
1989
1989
|
pygpt_net/provider/core/ctx/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
|
|
1990
1990
|
pygpt_net/provider/core/ctx/base.py,sha256=Tfb4MDNe9BXXPU3lbzpdYwJF9S1oa2-mzgu5XT4It9g,3003
|
|
1991
1991
|
pygpt_net/provider/core/ctx/db_sqlite/__init__.py,sha256=0dP8VhI4bnFsQQKxAkaleKFlyaMycDD_cnE7gBCa57Y,512
|
|
@@ -2014,7 +2014,7 @@ pygpt_net/provider/core/mode/patch.py,sha256=VS2KCYW05jxLd-lcStNY1k4fHKUUrVVLTdR
|
|
|
2014
2014
|
pygpt_net/provider/core/model/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
|
|
2015
2015
|
pygpt_net/provider/core/model/base.py,sha256=L1x2rHha8a8hnCUYxZr88utay1EWEx5qBXW_2acpAN0,1319
|
|
2016
2016
|
pygpt_net/provider/core/model/json_file.py,sha256=l74l_n5PEHNp-FsoHtO9LHflz3RFKwDwKwOKN0stgZw,8418
|
|
2017
|
-
pygpt_net/provider/core/model/patch.py,sha256=
|
|
2017
|
+
pygpt_net/provider/core/model/patch.py,sha256=O_i0f0ixxObgMaZOZwBwF6hzRmZeujKHP07qBkTpeGQ,33661
|
|
2018
2018
|
pygpt_net/provider/core/notepad/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
|
|
2019
2019
|
pygpt_net/provider/core/notepad/base.py,sha256=7aPhild8cALTaN3JEbI0YrkIW1DRIycGQWTfsdH6WcQ,1323
|
|
2020
2020
|
pygpt_net/provider/core/notepad/db_sqlite/__init__.py,sha256=0dP8VhI4bnFsQQKxAkaleKFlyaMycDD_cnE7gBCa57Y,512
|
|
@@ -2379,8 +2379,8 @@ pygpt_net/ui/widget/textarea/web.py,sha256=7VTiA1LwWSUmbJ7r1uhKV-RFndOfNC_r_EAJi
|
|
|
2379
2379
|
pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
|
|
2380
2380
|
pygpt_net/ui/widget/vision/camera.py,sha256=T8b5cmK6uhf_WSSxzPt_Qod8JgMnst6q8sQqRvgQiSA,2584
|
|
2381
2381
|
pygpt_net/utils.py,sha256=mQ_9Esbs2htAw82tPG5rzST8IZwXFwO2eLPsHRTCMJ4,6936
|
|
2382
|
-
pygpt_net-2.5.
|
|
2383
|
-
pygpt_net-2.5.
|
|
2384
|
-
pygpt_net-2.5.
|
|
2385
|
-
pygpt_net-2.5.
|
|
2386
|
-
pygpt_net-2.5.
|
|
2382
|
+
pygpt_net-2.5.92.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
|
|
2383
|
+
pygpt_net-2.5.92.dist-info/METADATA,sha256=cVNv0QesYPCO_rSvTPxFcQXMVw33rAayvRC2Tt8lqoo,182962
|
|
2384
|
+
pygpt_net-2.5.92.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
2385
|
+
pygpt_net-2.5.92.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
|
|
2386
|
+
pygpt_net-2.5.92.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|