pygpt-net 2.6.35__py3-none-any.whl → 2.6.36__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/render/web/body.py +41 -12
- pygpt_net/core/render/web/renderer.py +4 -4
- pygpt_net/data/config/config.json +2 -2
- pygpt_net/data/config/models.json +2 -2
- pygpt_net/data/css/web-blocks.css +1 -1
- pygpt_net/data/css/web-chatgpt.css +1 -1
- pygpt_net/data/css/web-chatgpt_wide.css +1 -1
- pygpt_net/provider/core/config/patch.py +9 -0
- {pygpt_net-2.6.35.dist-info → pygpt_net-2.6.36.dist-info}/METADATA +6 -2
- {pygpt_net-2.6.35.dist-info → pygpt_net-2.6.36.dist-info}/RECORD +15 -15
- {pygpt_net-2.6.35.dist-info → pygpt_net-2.6.36.dist-info}/LICENSE +0 -0
- {pygpt_net-2.6.35.dist-info → pygpt_net-2.6.36.dist-info}/WHEEL +0 -0
- {pygpt_net-2.6.35.dist-info → pygpt_net-2.6.36.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.6.
|
|
16
|
+
__version__ = "2.6.36"
|
|
17
17
|
__build__ = "2025-09-04"
|
|
18
18
|
__maintainer__ = "Marcin Szczygliński"
|
|
19
19
|
__github__ = "https://github.com/szczyglis-dev/py-gpt"
|
|
@@ -46,6 +46,9 @@ class Body:
|
|
|
46
46
|
<script type="text/javascript" src="qrc:///js/highlight.min.js"></script>
|
|
47
47
|
<script type="text/javascript" src="qrc:///js/katex.min.js"></script>
|
|
48
48
|
<script>
|
|
49
|
+
hljs.configure({
|
|
50
|
+
ignoreUnescapedHTML: true,
|
|
51
|
+
});
|
|
49
52
|
const DEBUG_MODE = false;
|
|
50
53
|
let bridgeConnected = false;
|
|
51
54
|
let streamHandler;
|
|
@@ -248,8 +251,7 @@ class Body:
|
|
|
248
251
|
});
|
|
249
252
|
}
|
|
250
253
|
function highlightCodeInternal(root, withMath) {
|
|
251
|
-
(root || document).querySelectorAll('pre code').forEach(el => {
|
|
252
|
-
try { if (el.dataset) delete el.dataset.highlighted; } catch (e) {}
|
|
254
|
+
(root || document).querySelectorAll('pre code:not(.hljs)').forEach(el => {
|
|
253
255
|
hljs.highlightElement(el);
|
|
254
256
|
});
|
|
255
257
|
if (withMath) {
|
|
@@ -342,7 +344,7 @@ class Body:
|
|
|
342
344
|
el.scrollTop = el.scrollHeight; // no behavior, no RAF, deterministic
|
|
343
345
|
prevScroll = el.scrollHeight;
|
|
344
346
|
}
|
|
345
|
-
function scrollToBottom(live = false) {
|
|
347
|
+
function scrollToBottom(live = false, force = false) {
|
|
346
348
|
const el = document.scrollingElement || document.documentElement;
|
|
347
349
|
const marginPx = 450;
|
|
348
350
|
const behavior = (live === true) ? 'instant' : 'smooth';
|
|
@@ -355,7 +357,7 @@ class Body:
|
|
|
355
357
|
}
|
|
356
358
|
|
|
357
359
|
// Allow initial auto-follow before any user interaction
|
|
358
|
-
if ((live === true && userInteracted === false) || isNearBottom(marginPx) || live == false) {
|
|
360
|
+
if ((live === true && userInteracted === false) || isNearBottom(marginPx) || live == false || force) {
|
|
359
361
|
el.scrollTo({ top: el.scrollHeight, behavior });
|
|
360
362
|
}
|
|
361
363
|
prevScroll = el.scrollHeight;
|
|
@@ -380,6 +382,7 @@ class Body:
|
|
|
380
382
|
return element;
|
|
381
383
|
}
|
|
382
384
|
function appendNode(content) {
|
|
385
|
+
userInteracted = false;
|
|
383
386
|
if (DEBUG_MODE) {
|
|
384
387
|
log("APPEND NODE: {" + content + "}");
|
|
385
388
|
}
|
|
@@ -396,6 +399,7 @@ class Body:
|
|
|
396
399
|
clearHighlightCache();
|
|
397
400
|
}
|
|
398
401
|
function replaceNodes(content) {
|
|
402
|
+
userInteracted = false;
|
|
399
403
|
if (DEBUG_MODE) {
|
|
400
404
|
log("REPLACE NODES: {" + content + "}");
|
|
401
405
|
}
|
|
@@ -407,7 +411,7 @@ class Body:
|
|
|
407
411
|
element.replaceChildren();
|
|
408
412
|
element.insertAdjacentHTML('beforeend', content);
|
|
409
413
|
highlightCode(true, element);
|
|
410
|
-
scrollToBottom(false); // without schedule
|
|
414
|
+
scrollToBottom(false, true); // without schedule
|
|
411
415
|
scheduleScrollFabUpdate();
|
|
412
416
|
}
|
|
413
417
|
clearHighlightCache();
|
|
@@ -434,10 +438,7 @@ class Body:
|
|
|
434
438
|
*/
|
|
435
439
|
}
|
|
436
440
|
function clearHighlightCache() {
|
|
437
|
-
|
|
438
|
-
elements.forEach(function(el) {
|
|
439
|
-
try { if (el.dataset) delete el.dataset.highlighted; } catch (e) {}
|
|
440
|
-
});
|
|
441
|
+
//
|
|
441
442
|
}
|
|
442
443
|
function appendExtra(id, content) {
|
|
443
444
|
hideTips();
|
|
@@ -522,14 +523,14 @@ class Body:
|
|
|
522
523
|
clearOutput();
|
|
523
524
|
// Ensure initial auto-follow baseline before any chunks overflow
|
|
524
525
|
forceScrollToBottomImmediate();
|
|
525
|
-
scheduleScroll();
|
|
526
|
+
scheduleScroll();
|
|
526
527
|
}
|
|
527
528
|
function endStream() {
|
|
528
529
|
if (DEBUG_MODE) {
|
|
529
530
|
log("STREAM END");
|
|
530
531
|
}
|
|
531
532
|
clearOutput();
|
|
532
|
-
bridgeReconnect();
|
|
533
|
+
bridgeReconnect();
|
|
533
534
|
}
|
|
534
535
|
function enqueueStream(name_header, content, chunk, replace = false, is_code_block = false) {
|
|
535
536
|
// Push incoming chunk; scheduling is done with RAF to batch DOM ops
|
|
@@ -1154,7 +1155,7 @@ class Body:
|
|
|
1154
1155
|
window.addEventListener('resize', scheduleScrollFabUpdate, { passive: true });
|
|
1155
1156
|
|
|
1156
1157
|
// Initial state
|
|
1157
|
-
scheduleScrollFabUpdate();
|
|
1158
|
+
scheduleScrollFabUpdate();
|
|
1158
1159
|
|
|
1159
1160
|
container.addEventListener('click', function(event) {
|
|
1160
1161
|
const copyButton = event.target.closest('.code-header-copy');
|
|
@@ -1397,6 +1398,33 @@ class Body:
|
|
|
1397
1398
|
cfg = self.window.core.config
|
|
1398
1399
|
fonts_path = os.path.join(cfg.get_app_path(), "data", "fonts").replace("\\", "/")
|
|
1399
1400
|
syntax_style = self.window.core.config.get("render.code_syntax") or "default"
|
|
1401
|
+
perf_css = """
|
|
1402
|
+
#container, #_nodes_, #_append_output_, #_append_output_before_ {
|
|
1403
|
+
contain: layout paint;
|
|
1404
|
+
overscroll-behavior: contain;
|
|
1405
|
+
}
|
|
1406
|
+
.msg-box {
|
|
1407
|
+
contain: layout paint style;
|
|
1408
|
+
contain-intrinsic-size: 1px 600px;
|
|
1409
|
+
}
|
|
1410
|
+
.msg-box:not(:last-child) {
|
|
1411
|
+
content-visibility: auto;
|
|
1412
|
+
}
|
|
1413
|
+
#container,
|
|
1414
|
+
#_nodes_,
|
|
1415
|
+
#_append_output_,
|
|
1416
|
+
#_append_output_before_ {
|
|
1417
|
+
backface-visibility: hidden;
|
|
1418
|
+
transform: translateZ(0);
|
|
1419
|
+
}
|
|
1420
|
+
.msg-box {
|
|
1421
|
+
box-shadow: none !important;
|
|
1422
|
+
filter: none !important;
|
|
1423
|
+
}
|
|
1424
|
+
.msg {
|
|
1425
|
+
text-rendering: optimizeSpeed;
|
|
1426
|
+
}
|
|
1427
|
+
"""
|
|
1400
1428
|
|
|
1401
1429
|
theme_css = self.window.controller.theme.markdown.get_web_css().replace('%fonts%', fonts_path)
|
|
1402
1430
|
parts = [
|
|
@@ -1404,6 +1432,7 @@ class Body:
|
|
|
1404
1432
|
theme_css,
|
|
1405
1433
|
"pre { color: #fff; }" if syntax_style in self._syntax_dark else "pre { color: #000; }",
|
|
1406
1434
|
self.highlight.get_style_defs(),
|
|
1435
|
+
perf_css,
|
|
1407
1436
|
self._SCROLL_FAB_CSS, # keep FAB styles last to ensure precedence
|
|
1408
1437
|
]
|
|
1409
1438
|
return "\n".join(parts)
|
|
@@ -1488,12 +1488,12 @@ class Renderer(BaseRenderer):
|
|
|
1488
1488
|
"""
|
|
1489
1489
|
try:
|
|
1490
1490
|
if replace:
|
|
1491
|
-
self.get_output_node_by_pid(pid).page().
|
|
1492
|
-
self.sanitize_html(html)
|
|
1491
|
+
self.get_output_node_by_pid(pid).page().runJavaScript(
|
|
1492
|
+
f"if (typeof window.replaceNodes !== 'undefined') replaceNodes({self.to_json(self.sanitize_html(html))});"
|
|
1493
1493
|
)
|
|
1494
1494
|
else:
|
|
1495
|
-
self.get_output_node_by_pid(pid).page().
|
|
1496
|
-
self.sanitize_html(html)
|
|
1495
|
+
self.get_output_node_by_pid(pid).page().runJavaScript(
|
|
1496
|
+
f"if (typeof window.appendNode !== 'undefined') appendNode({self.to_json(self.sanitize_html(html))});"
|
|
1497
1497
|
)
|
|
1498
1498
|
except Exception:
|
|
1499
1499
|
pass
|
|
@@ -2438,6 +2438,15 @@ class Patch:
|
|
|
2438
2438
|
patch_css('web-blocks.css', True)
|
|
2439
2439
|
updated = True
|
|
2440
2440
|
|
|
2441
|
+
# < 2.6.36
|
|
2442
|
+
if old < parse_version("2.6.36"):
|
|
2443
|
+
print("Migrating config from < 2.6.36...")
|
|
2444
|
+
# perf css
|
|
2445
|
+
patch_css('web-chatgpt.css', True)
|
|
2446
|
+
patch_css('web-chatgpt_wide.css', True)
|
|
2447
|
+
patch_css('web-blocks.css', True)
|
|
2448
|
+
updated = True
|
|
2449
|
+
|
|
2441
2450
|
# update file
|
|
2442
2451
|
migrated = False
|
|
2443
2452
|
if updated:
|
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
Metadata-Version: 2.3
|
|
2
2
|
Name: pygpt-net
|
|
3
|
-
Version: 2.6.
|
|
3
|
+
Version: 2.6.36
|
|
4
4
|
Summary: Desktop AI Assistant powered by: OpenAI GPT-5, GPT-4, o1, o3, Gemini, Claude, Grok, DeepSeek, and other models supported by Llama Index, and Ollama. Chatbot, agents, completion, image generation, vision analysis, speech-to-text, plugins, internet access, file handling, command execution and more.
|
|
5
5
|
License: MIT
|
|
6
6
|
Keywords: ai,api,api key,app,assistant,bielik,chat,chatbot,chatgpt,claude,dall-e,deepseek,desktop,gemini,gpt,gpt-3.5,gpt-4,gpt-4-vision,gpt-4o,gpt-5,gpt-oss,gpt3.5,gpt4,grok,langchain,llama-index,llama3,mistral,o1,o3,ollama,openai,presets,py-gpt,py_gpt,pygpt,pyside,qt,text completion,tts,ui,vision,whisper
|
|
@@ -118,7 +118,7 @@ Description-Content-Type: text/markdown
|
|
|
118
118
|
|
|
119
119
|
[](https://snapcraft.io/pygpt)
|
|
120
120
|
|
|
121
|
-
Release: **2.6.
|
|
121
|
+
Release: **2.6.36** | build: **2025-09-04** | Python: **>=3.10, <3.14**
|
|
122
122
|
|
|
123
123
|
> Official website: https://pygpt.net | Documentation: https://pygpt.readthedocs.io
|
|
124
124
|
>
|
|
@@ -3565,6 +3565,10 @@ may consume additional tokens that are not displayed in the main window.
|
|
|
3565
3565
|
|
|
3566
3566
|
## Recent changes:
|
|
3567
3567
|
|
|
3568
|
+
**2.6.36 (2025-09-04)**
|
|
3569
|
+
|
|
3570
|
+
- Optimized rendering of large code blocks.
|
|
3571
|
+
|
|
3568
3572
|
**2.6.35 (2025-09-04)**
|
|
3569
3573
|
|
|
3570
3574
|
- Improved responsiveness in chat streaming.
|
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
pygpt_net/CHANGELOG.txt,sha256=
|
|
1
|
+
pygpt_net/CHANGELOG.txt,sha256=01djs2qN8px-gs3aKp6me8AVxrZcHFSYlNTDzjDTU2s,104397
|
|
2
2
|
pygpt_net/LICENSE,sha256=dz9sfFgYahvu2NZbx4C1xCsVn9GVer2wXcMkFRBvqzY,1146
|
|
3
|
-
pygpt_net/__init__.py,sha256=
|
|
3
|
+
pygpt_net/__init__.py,sha256=qnS_bsa2M3nSCJfQtjhr24cQacm8NJSJr5sruC1rQ30,1373
|
|
4
4
|
pygpt_net/app.py,sha256=26N6af9L88rTeYmYIgP9amoPJB-o3Sc5_MFHLNckbWk,21817
|
|
5
5
|
pygpt_net/app_core.py,sha256=y7mHzH_sdUg2yoG_BKvMdJA6v5jCBSHhwcXqIZfxXs4,4169
|
|
6
6
|
pygpt_net/config.py,sha256=SCps_FfwdrynVAgpn37Ci1qTN8BFC05IGl9sYIi9e0w,16720
|
|
@@ -338,11 +338,11 @@ pygpt_net/core/render/plain/helpers.py,sha256=tWbdJZBfjnuHLAUDVYLTfv3Vt-h7XN1tg6
|
|
|
338
338
|
pygpt_net/core/render/plain/pid.py,sha256=Pz3v1tnLj-XI_9vcaVkCf9SZ2EgVs4LYV4qzelBMoOg,1119
|
|
339
339
|
pygpt_net/core/render/plain/renderer.py,sha256=mb1d6UBbuOs_fotG9fZPdBk95i8n0UMCJNnF4an8E0o,15357
|
|
340
340
|
pygpt_net/core/render/web/__init__.py,sha256=istp5dsn6EkLEP7lOBeDb8RjodUcWZqjcEvTroaTT-w,489
|
|
341
|
-
pygpt_net/core/render/web/body.py,sha256=
|
|
341
|
+
pygpt_net/core/render/web/body.py,sha256=LFomrvuLcUw4CK0oSpJPKxB0GqaWHZpwc0tn5KAsiNo,77261
|
|
342
342
|
pygpt_net/core/render/web/helpers.py,sha256=KAmUNUuIk8gArCMkyWcK_Ak0uxJOuIULt5eOA-jnjJM,5757
|
|
343
343
|
pygpt_net/core/render/web/parser.py,sha256=pDFc9Tf8P-jvrDilXyT1fukcQHbixHRJ9Dn9hF10Gko,12892
|
|
344
344
|
pygpt_net/core/render/web/pid.py,sha256=nCbwS5MOyfp8vn4pME6JYgRtnd-4U74FEntXYJM6GqY,4180
|
|
345
|
-
pygpt_net/core/render/web/renderer.py,sha256=
|
|
345
|
+
pygpt_net/core/render/web/renderer.py,sha256=Gy2wNUEcaPvgywnpJ7n72opeRrl0cjLen2NqFI-R4CU,61406
|
|
346
346
|
pygpt_net/core/render/web/syntax_highlight.py,sha256=QSLGF5cJL_Xeqej7_TYwY_5C2w9enXV_cMEuaJ3C43U,2005
|
|
347
347
|
pygpt_net/core/settings/__init__.py,sha256=GQ6_gJ2jf_Chm7ZuZLvkcvEh_sfMDVMBieeoJi2iPI4,512
|
|
348
348
|
pygpt_net/core/settings/settings.py,sha256=Ix06y-gJ3q7NJDf55XAWBBYulBLpinBqzYqsytH_9mo,8686
|
|
@@ -383,8 +383,8 @@ pygpt_net/css_rc.py,sha256=i13kX7irhbYCWZ5yJbcMmnkFp_UfS4PYnvRFSPF7XXo,11349
|
|
|
383
383
|
pygpt_net/data/audio/click_off.mp3,sha256=aNiRDP1pt-Jy7ija4YKCNFBwvGWbzU460F4pZWZDS90,65201
|
|
384
384
|
pygpt_net/data/audio/click_on.mp3,sha256=qfdsSnthAEHVXzeyN4LlC0OvXuyW8p7stb7VXtlvZ1k,65201
|
|
385
385
|
pygpt_net/data/audio/ok.mp3,sha256=LTiV32pEBkpUGBkKkcOdOFB7Eyt_QoP2Nv6c5AaXftk,32256
|
|
386
|
-
pygpt_net/data/config/config.json,sha256=
|
|
387
|
-
pygpt_net/data/config/models.json,sha256=
|
|
386
|
+
pygpt_net/data/config/config.json,sha256=oebcEnxp2wxdQ0RFKRZQO6vtHaXB5T1O2b6WE6LJD4k,30240
|
|
387
|
+
pygpt_net/data/config/models.json,sha256=5kmg6Cki242viNGoteY9zoOHGe2ieqh9nYgXC_AzaHM,115730
|
|
388
388
|
pygpt_net/data/config/modes.json,sha256=IpjLOm428_vs6Ma9U-YQTNKJNtZw-qyM1lwhh73xl1w,2111
|
|
389
389
|
pygpt_net/data/config/presets/agent_code_act.json,sha256=GYHqhxtKFLUCvRI3IJAJ7Qe1k8yD9wGGNwManldWzlI,754
|
|
390
390
|
pygpt_net/data/config/presets/agent_openai.json,sha256=bpDJgLRey_effQkzFRoOEGd4aHUrmzeODSDdNzrf62I,730
|
|
@@ -430,15 +430,15 @@ pygpt_net/data/css/markdown.light.css,sha256=UZdv0jtuFgJ_4bYWsDaDQ4X4AP9tVNLUHBA
|
|
|
430
430
|
pygpt_net/data/css/style.css,sha256=dgVlVqEL38zF-4Ok-y1rwfALC8zETJAIuIbkwat_hTk,337
|
|
431
431
|
pygpt_net/data/css/style.dark.css,sha256=Uzgr_KomVwwRVvFoJY4duLymLv7aBYRW_SBRrzHqUMw,2339
|
|
432
432
|
pygpt_net/data/css/style.light.css,sha256=g8tWOpjPgm6PBi1XyQoXQqi5-txDBzDkD9EEggw6T_A,4924
|
|
433
|
-
pygpt_net/data/css/web-blocks.css,sha256=
|
|
433
|
+
pygpt_net/data/css/web-blocks.css,sha256=3JnSMKzMHt6_ZXw6HteEDvxfmvtyk6SCr_G7B6Ralr4,7417
|
|
434
434
|
pygpt_net/data/css/web-blocks.dark.css,sha256=eU8-uXcvu4weRp55CZmhB-6nK7P6n9m-OyJwGV95rJc,1514
|
|
435
435
|
pygpt_net/data/css/web-blocks.darkest.css,sha256=kRv3qqTbjZxEITtQUm3RmrkGoZosMZjs423lUyTFyAQ,1466
|
|
436
436
|
pygpt_net/data/css/web-blocks.light.css,sha256=bmJyOCi6qytbxLmBrO4hVU99y0ymOo9kof3EGLEZRLg,1541
|
|
437
|
-
pygpt_net/data/css/web-chatgpt.css,sha256=
|
|
437
|
+
pygpt_net/data/css/web-chatgpt.css,sha256=Ox4yE93BnhrqrCHcf4wdJkR_gSJDxUThn0YQ2clYGGM,7985
|
|
438
438
|
pygpt_net/data/css/web-chatgpt.dark.css,sha256=8INjPiZGndfie_QdJTHhEgT7k4dmT0aph6WYmU79Yy4,1435
|
|
439
439
|
pygpt_net/data/css/web-chatgpt.darkest.css,sha256=X2myPkIMYa77RUZ7jucxbyWIomRyqYAg_wqmZA1E0mM,1387
|
|
440
440
|
pygpt_net/data/css/web-chatgpt.light.css,sha256=AvCdgVqUFwU9zyrQJxJkzq09NCDwSKI-FskTKoW-rNI,1536
|
|
441
|
-
pygpt_net/data/css/web-chatgpt_wide.css,sha256=
|
|
441
|
+
pygpt_net/data/css/web-chatgpt_wide.css,sha256=QYR1AYi1Cu9ESQAa-p4yJ0xO6M2v9vtPtBS6A4kpUcc,7891
|
|
442
442
|
pygpt_net/data/css/web-chatgpt_wide.dark.css,sha256=8INjPiZGndfie_QdJTHhEgT7k4dmT0aph6WYmU79Yy4,1435
|
|
443
443
|
pygpt_net/data/css/web-chatgpt_wide.darkest.css,sha256=X2myPkIMYa77RUZ7jucxbyWIomRyqYAg_wqmZA1E0mM,1387
|
|
444
444
|
pygpt_net/data/css/web-chatgpt_wide.light.css,sha256=WWhVX4xbDOPgW7O2SIRZCvWR1N8fzqviFO5fhe-AvDs,1503
|
|
@@ -2129,7 +2129,7 @@ pygpt_net/provider/core/calendar/db_sqlite/storage.py,sha256=QDclQCQdr4QyRIqjgGX
|
|
|
2129
2129
|
pygpt_net/provider/core/config/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
|
|
2130
2130
|
pygpt_net/provider/core/config/base.py,sha256=cbvzbMNqL2XgC-36gGubnU37t94AX7LEw0lecb2Nm80,1365
|
|
2131
2131
|
pygpt_net/provider/core/config/json_file.py,sha256=GCcpCRQnBiSLWwlGbG9T3ZgiHkTfp5Jsg2KYkZcakBw,6789
|
|
2132
|
-
pygpt_net/provider/core/config/patch.py,sha256=
|
|
2132
|
+
pygpt_net/provider/core/config/patch.py,sha256=JzN_W57HNscR7Zmb4AJ-bqEL-q_VIDzeKcL-uGGlawI,124814
|
|
2133
2133
|
pygpt_net/provider/core/ctx/__init__.py,sha256=jQQgG9u_ZLsZWXustoc1uvC-abUvj4RBKPAM30-f2Kc,488
|
|
2134
2134
|
pygpt_net/provider/core/ctx/base.py,sha256=Tfb4MDNe9BXXPU3lbzpdYwJF9S1oa2-mzgu5XT4It9g,3003
|
|
2135
2135
|
pygpt_net/provider/core/ctx/db_sqlite/__init__.py,sha256=0dP8VhI4bnFsQQKxAkaleKFlyaMycDD_cnE7gBCa57Y,512
|
|
@@ -2519,8 +2519,8 @@ pygpt_net/ui/widget/textarea/web.py,sha256=ng8QhLyVQLEuO43MlNTpzCD_kUQ2eHJyQkODZ
|
|
|
2519
2519
|
pygpt_net/ui/widget/vision/__init__.py,sha256=8HT4tQFqQogEEpGYTv2RplKBthlsFKcl5egnv4lzzEw,488
|
|
2520
2520
|
pygpt_net/ui/widget/vision/camera.py,sha256=v1qEncaZr5pXocO5Cpk_lsgfCMvfFigdJmzsYfzvCl0,1877
|
|
2521
2521
|
pygpt_net/utils.py,sha256=o3V8NLcTQm8XkP6n_M88jVbI7OjnryRmsvnvf7K136A,9100
|
|
2522
|
-
pygpt_net-2.6.
|
|
2523
|
-
pygpt_net-2.6.
|
|
2524
|
-
pygpt_net-2.6.
|
|
2525
|
-
pygpt_net-2.6.
|
|
2526
|
-
pygpt_net-2.6.
|
|
2522
|
+
pygpt_net-2.6.36.dist-info/LICENSE,sha256=rbPqNB_xxANH8hKayJyIcTwD4bj4Y2G-Mcm85r1OImM,1126
|
|
2523
|
+
pygpt_net-2.6.36.dist-info/METADATA,sha256=gZdCw47twZzGywb0RiNehPfRFerowigz3vo7w_9wtVc,162714
|
|
2524
|
+
pygpt_net-2.6.36.dist-info/WHEEL,sha256=b4K_helf-jlQoXBBETfwnf4B04YC67LOev0jo4fX5m8,88
|
|
2525
|
+
pygpt_net-2.6.36.dist-info/entry_points.txt,sha256=qvpII6UHIt8XfokmQWnCYQrTgty8FeJ9hJvOuUFCN-8,43
|
|
2526
|
+
pygpt_net-2.6.36.dist-info/RECORD,,
|
|
File without changes
|
|
File without changes
|
|
File without changes
|