liveConsole 1.0.0__py3-none-any.whl → 1.1.0__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.
- liveConsole.py +10 -3
- {liveconsole-1.0.0.dist-info → liveconsole-1.1.0.dist-info}/METADATA +7 -9
- liveconsole-1.1.0.dist-info/RECORD +7 -0
- liveconsole-1.0.0.dist-info/RECORD +0 -7
- {liveconsole-1.0.0.dist-info → liveconsole-1.1.0.dist-info}/WHEEL +0 -0
- {liveconsole-1.0.0.dist-info → liveconsole-1.1.0.dist-info}/licenses/LICENSE +0 -0
- {liveconsole-1.0.0.dist-info → liveconsole-1.1.0.dist-info}/top_level.txt +0 -0
liveConsole.py
CHANGED
@@ -320,6 +320,7 @@ class InteractiveConsoleText(tk.Text):
|
|
320
320
|
|
321
321
|
# Insert newline with proper indentation
|
322
322
|
self.insert("insert", "\n" + " " * base_indent)
|
323
|
+
self.mark_set("insert", "end")
|
323
324
|
return "break"
|
324
325
|
|
325
326
|
def on_enter(self, event):
|
@@ -346,6 +347,7 @@ class InteractiveConsoleText(tk.Text):
|
|
346
347
|
base_indent += 4
|
347
348
|
|
348
349
|
self.insert("insert", "\n" + " " * base_indent)
|
350
|
+
self.see("end")
|
349
351
|
return "break"
|
350
352
|
|
351
353
|
# Execute the complete command
|
@@ -356,10 +358,12 @@ class InteractiveConsoleText(tk.Text):
|
|
356
358
|
# Move to end and add newline for the executed command
|
357
359
|
self.mark_set("insert", "end")
|
358
360
|
self.insert("end", "\n")
|
359
|
-
|
361
|
+
self.see("end")
|
362
|
+
|
360
363
|
# Execute the command in a thread to prevent freezing
|
361
364
|
threading.Thread(target=self.execute_command_and_add_prompt, args=(command,), daemon=True).start()
|
362
|
-
|
365
|
+
# self.see("end")
|
366
|
+
|
363
367
|
return "break"
|
364
368
|
|
365
369
|
def highlight_current_line(self):
|
@@ -473,6 +477,9 @@ class InteractiveConsole(ctk.CTk):
|
|
473
477
|
|
474
478
|
# Give console access to namespaces
|
475
479
|
self.console.master = self
|
480
|
+
|
481
|
+
def probe(self, *args, **kwargs):
|
482
|
+
self.mainloop(*args, **kwargs)
|
476
483
|
|
477
484
|
# Example usage
|
478
485
|
if __name__ == "__main__":
|
@@ -482,4 +489,4 @@ if __name__ == "__main__":
|
|
482
489
|
print(f"Hello {name}!")
|
483
490
|
return f"Greeted {name}"
|
484
491
|
|
485
|
-
InteractiveConsole().
|
492
|
+
InteractiveConsole().probe()
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: liveConsole
|
3
|
-
Version: 1.
|
3
|
+
Version: 1.1.0
|
4
4
|
Summary: An IDLE-like debugger to allow for real-time command injection for debugging and testing python code
|
5
5
|
Author-email: Tzur Soffer <tzur.soffer@gmail.com>
|
6
6
|
License: MIT
|
@@ -29,6 +29,11 @@ A fully-featured, **live Python console GUI** built with **CustomTkinter** and *
|
|
29
29
|
|
30
30
|
* Clickable history of previous commands
|
31
31
|
|
32
|
+
## Installation
|
33
|
+
|
34
|
+
`pip install pip install liveConsole`
|
35
|
+
|
36
|
+
|
32
37
|
## Features
|
33
38
|
|
34
39
|
### Syntax Highlighting
|
@@ -77,19 +82,12 @@ A fully-featured, **live Python console GUI** built with **CustomTkinter** and *
|
|
77
82
|
* Automatically grabs **caller frame globals and locals** if not provided.
|
78
83
|
|
79
84
|
* Can be used standalone or embedded in larger CustomTkinter applications.
|
80
|
-
|
81
|
-
|
82
|
-
## Installation
|
83
|
-
|
84
|
-
`pip install customtkinter pygments`
|
85
|
-
|
86
|
-
> `Tkinter` is included with Python on most platforms.
|
87
85
|
|
88
86
|
## Usage
|
89
87
|
|
90
88
|
```
|
91
89
|
from liveConsole import InteractiveConsole
|
92
|
-
InteractiveConsole().
|
90
|
+
InteractiveConsole().probe()
|
93
91
|
```
|
94
92
|
|
95
93
|
* Type Python commands in the `>>>` prompt and see live output.
|
@@ -0,0 +1,7 @@
|
|
1
|
+
__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
+
liveConsole.py,sha256=v4GZn6YoeRcfmro2uHHrmnfgxSE7_ia9K6xl059IwnU,18992
|
3
|
+
liveconsole-1.1.0.dist-info/licenses/LICENSE,sha256=7dZ0zL72aGaFE0C9DxacOpnaSkC5jajhG6iL7lqhWmU,1064
|
4
|
+
liveconsole-1.1.0.dist-info/METADATA,sha256=zuhb5dU2MuDwymoJrvpQmxgIj_cVWedVfg9-TgeWl8A,3264
|
5
|
+
liveconsole-1.1.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
6
|
+
liveconsole-1.1.0.dist-info/top_level.txt,sha256=0gva5OCe9lWcj5T88SwGimDDbqsdVqIGQNs98NBH1K0,21
|
7
|
+
liveconsole-1.1.0.dist-info/RECORD,,
|
@@ -1,7 +0,0 @@
|
|
1
|
-
__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
2
|
-
liveConsole.py,sha256=hMk9bLSFjv_ioP4fadtwmHnTg75v6VwSI4tDqnuzB_E,18801
|
3
|
-
liveconsole-1.0.0.dist-info/licenses/LICENSE,sha256=7dZ0zL72aGaFE0C9DxacOpnaSkC5jajhG6iL7lqhWmU,1064
|
4
|
-
liveconsole-1.0.0.dist-info/METADATA,sha256=46nuZN8Kr0Gtmd4YACXVfujMCIR7arjEApoT4ndCqCw,3328
|
5
|
-
liveconsole-1.0.0.dist-info/WHEEL,sha256=_zCd3N1l69ArxyTb8rzEoP9TpbYXkqRFSNOD5OuxnTs,91
|
6
|
-
liveconsole-1.0.0.dist-info/top_level.txt,sha256=0gva5OCe9lWcj5T88SwGimDDbqsdVqIGQNs98NBH1K0,21
|
7
|
-
liveconsole-1.0.0.dist-info/RECORD,,
|
File without changes
|
File without changes
|
File without changes
|