jpterm 0.2.11__tar.gz → 0.2.12__tar.gz

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 (175) hide show
  1. {jpterm-0.2.11 → jpterm-0.2.12}/PKG-INFO +21 -21
  2. jpterm-0.2.12/jpterm/__init__.py +1 -0
  3. jpterm-0.2.12/plugins/cell/txl_cell/__init__.py +1 -0
  4. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/cell/txl_cell/components.py +16 -5
  5. jpterm-0.2.12/plugins/console/txl_console/__init__.py +1 -0
  6. jpterm-0.2.12/plugins/editors/txl_editors/__init__.py +1 -0
  7. jpterm-0.2.12/plugins/file_browser/txl_file_browser/__init__.py +1 -0
  8. jpterm-0.2.12/plugins/image_viewer/txl_image_viewer/__init__.py +1 -0
  9. jpterm-0.2.12/plugins/jpterm/txl_jpterm/__init__.py +1 -0
  10. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/jpterm/txl_jpterm/components.py +1 -1
  11. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/jpterm/txl_jpterm/footer.py +3 -3
  12. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/jpterm/txl_jpterm/main_area.py +9 -3
  13. jpterm-0.2.12/plugins/kernel/txl_kernel/__init__.py +1 -0
  14. jpterm-0.2.12/plugins/launcher/txl_launcher/__init__.py +1 -0
  15. jpterm-0.2.12/plugins/local_contents/txl_local_contents/__init__.py +1 -0
  16. jpterm-0.2.12/plugins/local_kernels/txl_local_kernels/__init__.py +1 -0
  17. jpterm-0.2.12/plugins/local_terminals/txl_local_terminals/__init__.py +1 -0
  18. jpterm-0.2.12/plugins/markdown_viewer/txl_markdown_viewer/__init__.py +1 -0
  19. jpterm-0.2.12/plugins/notebook_editor/txl_notebook_editor/__init__.py +1 -0
  20. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/notebook_editor/txl_notebook_editor/components.py +4 -2
  21. jpterm-0.2.12/plugins/remote_contents/txl_remote_contents/__init__.py +1 -0
  22. jpterm-0.2.12/plugins/remote_kernels/txl_remote_kernels/__init__.py +1 -0
  23. jpterm-0.2.12/plugins/remote_terminals/txl_remote_terminals/__init__.py +1 -0
  24. jpterm-0.2.12/plugins/terminal/txl_terminal/__init__.py +1 -0
  25. jpterm-0.2.12/plugins/text_editor/txl_text_editor/__init__.py +1 -0
  26. jpterm-0.2.12/plugins/widgets/txl_widgets/__init__.py +1 -0
  27. {jpterm-0.2.11 → jpterm-0.2.12}/pyproject.toml +20 -20
  28. {jpterm-0.2.11 → jpterm-0.2.12}/txl/pyproject.toml +1 -1
  29. jpterm-0.2.12/txl/txl/__init__.py +1 -0
  30. jpterm-0.2.11/.gitattributes +0 -3
  31. jpterm-0.2.11/jpterm/__init__.py +0 -1
  32. jpterm-0.2.11/plugins/cell/txl_cell/__init__.py +0 -1
  33. jpterm-0.2.11/plugins/console/txl_console/__init__.py +0 -1
  34. jpterm-0.2.11/plugins/editors/txl_editors/__init__.py +0 -1
  35. jpterm-0.2.11/plugins/file_browser/txl_file_browser/__init__.py +0 -1
  36. jpterm-0.2.11/plugins/image_viewer/txl_image_viewer/__init__.py +0 -1
  37. jpterm-0.2.11/plugins/jpterm/txl_jpterm/__init__.py +0 -1
  38. jpterm-0.2.11/plugins/kernel/txl_kernel/__init__.py +0 -1
  39. jpterm-0.2.11/plugins/launcher/txl_launcher/__init__.py +0 -1
  40. jpterm-0.2.11/plugins/local_contents/txl_local_contents/__init__.py +0 -1
  41. jpterm-0.2.11/plugins/local_kernels/txl_local_kernels/__init__.py +0 -1
  42. jpterm-0.2.11/plugins/local_terminals/txl_local_terminals/__init__.py +0 -1
  43. jpterm-0.2.11/plugins/markdown_viewer/txl_markdown_viewer/__init__.py +0 -1
  44. jpterm-0.2.11/plugins/notebook_editor/txl_notebook_editor/__init__.py +0 -1
  45. jpterm-0.2.11/plugins/remote_contents/txl_remote_contents/__init__.py +0 -1
  46. jpterm-0.2.11/plugins/remote_kernels/txl_remote_kernels/__init__.py +0 -1
  47. jpterm-0.2.11/plugins/remote_terminals/txl_remote_terminals/__init__.py +0 -1
  48. jpterm-0.2.11/plugins/terminal/txl_terminal/__init__.py +0 -1
  49. jpterm-0.2.11/plugins/text_editor/txl_text_editor/__init__.py +0 -1
  50. jpterm-0.2.11/plugins/widgets/txl_widgets/__init__.py +0 -1
  51. jpterm-0.2.11/txl/txl/__init__.py +0 -1
  52. {jpterm-0.2.11 → jpterm-0.2.12}/.github/workflows/test.yml +0 -0
  53. {jpterm-0.2.11 → jpterm-0.2.12}/.gitignore +0 -0
  54. {jpterm-0.2.11 → jpterm-0.2.12}/.pre-commit-config.yaml +0 -0
  55. {jpterm-0.2.11 → jpterm-0.2.12}/CHANGELOG.md +0 -0
  56. {jpterm-0.2.11 → jpterm-0.2.12}/LICENSE +0 -0
  57. {jpterm-0.2.11 → jpterm-0.2.12}/README.md +0 -0
  58. {jpterm-0.2.11 → jpterm-0.2.12}/config.yaml +0 -0
  59. {jpterm-0.2.11 → jpterm-0.2.12}/docs/assets/logo.png +0 -0
  60. {jpterm-0.2.11 → jpterm-0.2.12}/docs/index.md +0 -0
  61. {jpterm-0.2.11 → jpterm-0.2.12}/docs/install.md +0 -0
  62. {jpterm-0.2.11 → jpterm-0.2.12}/docs/plugins/console.md +0 -0
  63. {jpterm-0.2.11 → jpterm-0.2.12}/docs/plugins/notebook_editor.md +0 -0
  64. {jpterm-0.2.11 → jpterm-0.2.12}/docs/usage/CLI.md +0 -0
  65. {jpterm-0.2.11 → jpterm-0.2.12}/docs/usage/key_bindings.md +0 -0
  66. {jpterm-0.2.11 → jpterm-0.2.12}/examples/button.ipynb +0 -0
  67. {jpterm-0.2.11 → jpterm-0.2.12}/examples/demo.md +0 -0
  68. {jpterm-0.2.11 → jpterm-0.2.12}/examples/jupyter.png +0 -0
  69. {jpterm-0.2.11 → jpterm-0.2.12}/examples/plotext.ipynb +0 -0
  70. {jpterm-0.2.11 → jpterm-0.2.12}/examples/plotext2.ipynb +0 -0
  71. {jpterm-0.2.11 → jpterm-0.2.12}/examples/switch.ipynb +0 -0
  72. {jpterm-0.2.11 → jpterm-0.2.12}/examples/widget.ipynb +0 -0
  73. {jpterm-0.2.11 → jpterm-0.2.12}/jpterm/cli.py +0 -0
  74. {jpterm-0.2.11 → jpterm-0.2.12}/mkdocs.yml +0 -0
  75. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/cell/LICENSE.txt +0 -0
  76. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/cell/README.md +0 -0
  77. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/cell/pyproject.toml +0 -0
  78. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/console/LICENSE.txt +0 -0
  79. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/console/README.md +0 -0
  80. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/console/pyproject.toml +0 -0
  81. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/console/txl_console/components.py +0 -0
  82. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/editors/LICENSE.txt +0 -0
  83. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/editors/README.md +0 -0
  84. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/editors/pyproject.toml +0 -0
  85. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/editors/txl_editors/components.py +0 -0
  86. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/file_browser/LICENSE.txt +0 -0
  87. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/file_browser/README.md +0 -0
  88. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/file_browser/pyproject.toml +0 -0
  89. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/file_browser/txl_file_browser/components.py +0 -0
  90. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/image_viewer/LICENSE.txt +0 -0
  91. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/image_viewer/README.md +0 -0
  92. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/image_viewer/pyproject.toml +0 -0
  93. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/image_viewer/txl_image_viewer/components.py +0 -0
  94. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/jpterm/LICENSE.txt +0 -0
  95. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/jpterm/README.md +0 -0
  96. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/jpterm/pyproject.toml +0 -0
  97. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/jpterm/txl_jpterm/header.py +0 -0
  98. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/jpterm/txl_jpterm/jpterm.css +0 -0
  99. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/kernel/LICENSE.txt +0 -0
  100. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/kernel/README.md +0 -0
  101. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/kernel/pyproject.toml +0 -0
  102. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/kernel/txl_kernel/driver.py +0 -0
  103. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/kernel/txl_kernel/message.py +0 -0
  104. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/launcher/LICENSE.txt +0 -0
  105. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/launcher/README.md +0 -0
  106. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/launcher/pyproject.toml +0 -0
  107. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/launcher/txl_launcher/components.py +0 -0
  108. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_contents/LICENSE.txt +0 -0
  109. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_contents/README.md +0 -0
  110. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_contents/pyproject.toml +0 -0
  111. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_contents/txl_local_contents/components.py +0 -0
  112. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_kernels/LICENSE.txt +0 -0
  113. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_kernels/README.md +0 -0
  114. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_kernels/pyproject.toml +0 -0
  115. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_kernels/txl_local_kernels/components.py +0 -0
  116. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_kernels/txl_local_kernels/connect.py +0 -0
  117. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_kernels/txl_local_kernels/driver.py +0 -0
  118. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_kernels/txl_local_kernels/kernelspec.py +0 -0
  119. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_kernels/txl_local_kernels/message.py +0 -0
  120. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_kernels/txl_local_kernels/paths.py +0 -0
  121. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_terminals/LICENSE.txt +0 -0
  122. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_terminals/README.md +0 -0
  123. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_terminals/pyproject.toml +0 -0
  124. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_terminals/txl_local_terminals/components.py +0 -0
  125. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_terminals/txl_local_terminals/terminal.py +0 -0
  126. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/local_terminals/txl_local_terminals/win_terminal.py +0 -0
  127. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/markdown_viewer/LICENSE.txt +0 -0
  128. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/markdown_viewer/README.md +0 -0
  129. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/markdown_viewer/pyproject.toml +0 -0
  130. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/markdown_viewer/txl_markdown_viewer/components.py +0 -0
  131. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/notebook_editor/LICENSE.txt +0 -0
  132. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/notebook_editor/README.md +0 -0
  133. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/notebook_editor/pyproject.toml +0 -0
  134. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/notebook_viewer/LICENSE.txt +0 -0
  135. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/notebook_viewer/README.md +0 -0
  136. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/notebook_viewer/pyproject.toml +0 -0
  137. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/notebook_viewer/txl_notebook_viewer/__init__.py +0 -0
  138. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/notebook_viewer/txl_notebook_viewer/components.py +0 -0
  139. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/remote_contents/LICENSE.txt +0 -0
  140. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/remote_contents/README.md +0 -0
  141. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/remote_contents/pyproject.toml +0 -0
  142. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/remote_contents/txl_remote_contents/components.py +0 -0
  143. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/remote_kernels/LICENSE.txt +0 -0
  144. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/remote_kernels/README.md +0 -0
  145. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/remote_kernels/pyproject.toml +0 -0
  146. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/remote_kernels/txl_remote_kernels/components.py +0 -0
  147. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/remote_kernels/txl_remote_kernels/driver.py +0 -0
  148. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/remote_kernels/txl_remote_kernels/message.py +0 -0
  149. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/remote_terminals/LICENSE.txt +0 -0
  150. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/remote_terminals/README.md +0 -0
  151. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/remote_terminals/pyproject.toml +0 -0
  152. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/remote_terminals/txl_remote_terminals/components.py +0 -0
  153. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/terminal/LICENSE.txt +0 -0
  154. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/terminal/README.md +0 -0
  155. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/terminal/pyproject.toml +0 -0
  156. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/terminal/txl_terminal/components.py +0 -0
  157. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/text_editor/LICENSE.txt +0 -0
  158. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/text_editor/README.md +0 -0
  159. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/text_editor/pyproject.toml +0 -0
  160. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/text_editor/txl_text_editor/components.py +0 -0
  161. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/text_viewer/LICENSE.txt +0 -0
  162. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/text_viewer/README.md +0 -0
  163. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/text_viewer/pyproject.toml +0 -0
  164. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/text_viewer/txl_text_viewer/__init__.py +0 -0
  165. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/text_viewer/txl_text_viewer/components.py +0 -0
  166. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/widgets/LICENSE.txt +0 -0
  167. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/widgets/README.md +0 -0
  168. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/widgets/pyproject.toml +0 -0
  169. {jpterm-0.2.11 → jpterm-0.2.12}/plugins/widgets/txl_widgets/components.py +0 -0
  170. {jpterm-0.2.11 → jpterm-0.2.12}/txl/LICENSE.txt +0 -0
  171. {jpterm-0.2.11 → jpterm-0.2.12}/txl/README.md +0 -0
  172. {jpterm-0.2.11 → jpterm-0.2.12}/txl/txl/app.py +0 -0
  173. {jpterm-0.2.11 → jpterm-0.2.12}/txl/txl/base.py +0 -0
  174. {jpterm-0.2.11 → jpterm-0.2.12}/txl/txl/cli.py +0 -0
  175. {jpterm-0.2.11 → jpterm-0.2.12}/txl/txl/text_input.py +0 -0
@@ -1,6 +1,6 @@
1
1
  Metadata-Version: 2.3
2
2
  Name: jpterm
3
- Version: 0.2.11
3
+ Version: 0.2.12
4
4
  Summary: Jupyter in the terminal
5
5
  Project-URL: Homepage, https://github.com/davidbrochart/jpterm
6
6
  Author-email: David Brochart <david.brochart@gmail.com>
@@ -16,26 +16,26 @@ Classifier: Programming Language :: Python :: Implementation :: CPython
16
16
  Classifier: Programming Language :: Python :: Implementation :: PyPy
17
17
  Requires-Python: >=3.10
18
18
  Requires-Dist: rich-click>=1.6.0
19
- Requires-Dist: txl-cell==0.2.11
20
- Requires-Dist: txl-console==0.2.11
21
- Requires-Dist: txl-editors==0.2.11
22
- Requires-Dist: txl-file-browser==0.2.11
23
- Requires-Dist: txl-image-viewer==0.2.11
24
- Requires-Dist: txl-jpterm==0.2.11
25
- Requires-Dist: txl-kernel==0.2.11
26
- Requires-Dist: txl-launcher==0.2.11
27
- Requires-Dist: txl-local-contents==0.2.11
28
- Requires-Dist: txl-local-kernels==0.2.11
29
- Requires-Dist: txl-local-terminals==0.2.11
30
- Requires-Dist: txl-markdown-viewer==0.2.11
31
- Requires-Dist: txl-notebook-editor==0.2.11
32
- Requires-Dist: txl-remote-contents==0.2.11
33
- Requires-Dist: txl-remote-kernels==0.2.11
34
- Requires-Dist: txl-remote-terminals==0.2.11
35
- Requires-Dist: txl-terminal==0.2.11
36
- Requires-Dist: txl-text-editor==0.2.11
37
- Requires-Dist: txl-widgets==0.2.11
38
- Requires-Dist: txl==0.2.11
19
+ Requires-Dist: txl-cell==0.2.12
20
+ Requires-Dist: txl-console==0.2.12
21
+ Requires-Dist: txl-editors==0.2.12
22
+ Requires-Dist: txl-file-browser==0.2.12
23
+ Requires-Dist: txl-image-viewer==0.2.12
24
+ Requires-Dist: txl-jpterm==0.2.12
25
+ Requires-Dist: txl-kernel==0.2.12
26
+ Requires-Dist: txl-launcher==0.2.12
27
+ Requires-Dist: txl-local-contents==0.2.12
28
+ Requires-Dist: txl-local-kernels==0.2.12
29
+ Requires-Dist: txl-local-terminals==0.2.12
30
+ Requires-Dist: txl-markdown-viewer==0.2.12
31
+ Requires-Dist: txl-notebook-editor==0.2.12
32
+ Requires-Dist: txl-remote-contents==0.2.12
33
+ Requires-Dist: txl-remote-kernels==0.2.12
34
+ Requires-Dist: txl-remote-terminals==0.2.12
35
+ Requires-Dist: txl-terminal==0.2.12
36
+ Requires-Dist: txl-text-editor==0.2.12
37
+ Requires-Dist: txl-widgets==0.2.12
38
+ Requires-Dist: txl==0.2.12
39
39
  Provides-Extra: docs
40
40
  Requires-Dist: mkdocs; extra == 'docs'
41
41
  Requires-Dist: mkdocs-material; extra == 'docs'
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -6,6 +6,7 @@ from importlib.metadata import entry_points
6
6
  from asphalt.core import Component, Context
7
7
  from pycrdt import Doc, Map, MapEvent, Text
8
8
  from rich.text import Text as RichText
9
+ from textual.app import ComposeResult
9
10
  from textual.containers import Container
10
11
  from textual.widgets import Static
11
12
 
@@ -68,7 +69,7 @@ class _Cell(Cell, Container, metaclass=CellMeta, can_focus=True):
68
69
  self.show_execution_count = show_execution_count
69
70
  self.show_border = show_border
70
71
  self.outputs = []
71
- self.update()
72
+ self.update(mount=False)
72
73
  self.ycell.observe_deep(self.on_change)
73
74
  self.styles.height = "auto"
74
75
  self.cell_change_events = asyncio.Queue()
@@ -174,7 +175,14 @@ class _Cell(Cell, Container, metaclass=CellMeta, can_focus=True):
174
175
  execution_count = " " if value is None else str(value).removesuffix(".0")
175
176
  return f"[green]In [[#66ff00]{execution_count}[/#66ff00]]:[/green]"
176
177
 
177
- def update(self):
178
+ def compose(self) -> ComposeResult:
179
+ if self.show_execution_count:
180
+ yield self.execution_count
181
+ yield self.source
182
+ for output in self.outputs:
183
+ yield output
184
+
185
+ def update(self, mount: bool = True):
178
186
  cell = json.loads(str(self.ycell))
179
187
  if self.show_execution_count:
180
188
  execution_state = self.ycell.get("execution_state")
@@ -187,7 +195,8 @@ class _Cell(Cell, Container, metaclass=CellMeta, can_focus=True):
187
195
  self.get_execution_count("*")
188
196
  )
189
197
  self.execution_count = Static(execution_count)
190
- self.mount(self.execution_count)
198
+ if mount:
199
+ self.mount(self.execution_count)
191
200
  cell_type = cell["cell_type"]
192
201
  if cell_type == "markdown":
193
202
  language = "markdown"
@@ -200,12 +209,14 @@ class _Cell(Cell, Container, metaclass=CellMeta, can_focus=True):
200
209
  language=language,
201
210
  show_border=self.show_border,
202
211
  )
203
- self.mount(self.source)
212
+ if mount:
213
+ self.mount(self.source)
204
214
 
205
215
  for output in cell.get("outputs", []):
206
216
  output_widget = self.get_output_widget(output)
207
217
  if output_widget is not None:
208
- self.mount(output_widget)
218
+ if mount:
219
+ self.mount(output_widget)
209
220
  self.outputs.append(output_widget)
210
221
 
211
222
  def get_output_widget(self, output):
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -26,6 +26,7 @@ class Jpterm(App):
26
26
  self.file_browser = file_browser
27
27
  self.editors = editors
28
28
  self.launcher = launcher
29
+ self.main_area.show(self.launcher, "Launcher", mount=False)
29
30
  super().__init__(*args, **kwargs)
30
31
 
31
32
  def watch_show_browser(self, show_browser: bool) -> None:
@@ -33,7 +34,6 @@ class Jpterm(App):
33
34
 
34
35
  def compose(self) -> ComposeResult:
35
36
  yield self.header
36
- self.main_area.show(self.launcher, "Launcher")
37
37
  yield Container(
38
38
  self.file_browser,
39
39
  self.main_area,
@@ -103,9 +103,9 @@ class Footer(AbstractFooter, Widget, metaclass=FooterMeta):
103
103
  key_style = self.get_component_rich_style("footer--key")
104
104
 
105
105
  bindings = [
106
- binding
107
- for (_namespace, binding) in self.app.namespace_bindings.values()
108
- if binding.show
106
+ active_binding.binding
107
+ for active_binding in self.app.active_bindings.values()
108
+ if active_binding.binding.show
109
109
  ]
110
110
 
111
111
  action_to_bindings = defaultdict(list)
@@ -1,5 +1,6 @@
1
1
  from typing import Optional
2
2
 
3
+ from textual.app import ComposeResult
3
4
  from textual.widget import Widget
4
5
  from textual.widgets import Tab, Tabs
5
6
 
@@ -19,7 +20,7 @@ class MainArea(Widget, AbstractMainArea, metaclass=MainAreaMeta):
19
20
  self.widget_to_tab = {}
20
21
  self.title = 0
21
22
 
22
- def show(self, widget: Widget, title: Optional[str] = None):
23
+ def show(self, widget: Widget, title: Optional[str] = None, mount: bool = True):
23
24
  if widget not in self.mounted:
24
25
  if title is None:
25
26
  title = self.title
@@ -27,17 +28,22 @@ class MainArea(Widget, AbstractMainArea, metaclass=MainAreaMeta):
27
28
  tab = Tab(str(title))
28
29
  if self.tabs is None:
29
30
  self.tabs = Tabs(tab)
30
- self.mount(self.tabs)
31
31
  else:
32
32
  self.tabs.add_tab(tab)
33
33
  self.tabs.active = tab.id
34
34
  self.widget_to_tab[widget] = (tab, False)
35
35
  self.mounted.append(widget)
36
- self.mount(widget)
36
+ if mount:
37
+ self.mount(widget)
37
38
  else:
38
39
  tab, dirty = self.widget_to_tab[widget]
39
40
  self.tabs.active = tab.id
40
41
 
42
+ def compose(self) -> ComposeResult:
43
+ yield self.tabs
44
+ for widget in self.mounted:
45
+ yield widget
46
+
41
47
  def get_label(self) -> str:
42
48
  tab = self.tabs.active_tab
43
49
  return tab.label_text
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -7,7 +7,7 @@ from typing import Any
7
7
  import anyio
8
8
  from asphalt.core import Component, Context
9
9
  from httpx import AsyncClient
10
- from textual.app import RenderResult
10
+ from textual.app import ComposeResult, RenderResult
11
11
  from textual.containers import VerticalScroll
12
12
  from textual.events import Event
13
13
  from textual.keys import Keys
@@ -86,7 +86,9 @@ class NotebookEditor(Editor, VerticalScroll, metaclass=NotebookEditorMeta):
86
86
  self.nb_change_target = asyncio.Queue()
87
87
  self.nb_change_events = asyncio.Queue()
88
88
  self.top_bar = TopBar()
89
- self.mount(self.top_bar)
89
+
90
+ def compose(self) -> ComposeResult:
91
+ yield self.top_bar
90
92
 
91
93
  async def watch_busy(self, event):
92
94
  self.top_bar.busy = event.busy
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -25,26 +25,26 @@ keywords = [
25
25
  ]
26
26
  dependencies = [
27
27
  "rich-click >=1.6.0",
28
- "txl ==0.2.11",
29
- "txl_cell ==0.2.11",
30
- "txl_console ==0.2.11",
31
- "txl_editors ==0.2.11",
32
- "txl_file_browser ==0.2.11",
33
- "txl_image_viewer ==0.2.11",
34
- "txl_jpterm ==0.2.11",
35
- "txl_kernel ==0.2.11",
36
- "txl_local_contents ==0.2.11",
37
- "txl_local_terminals ==0.2.11",
38
- "txl_local_kernels ==0.2.11",
39
- "txl_notebook_editor ==0.2.11",
40
- "txl_remote_contents ==0.2.11",
41
- "txl_remote_terminals ==0.2.11",
42
- "txl_remote_kernels ==0.2.11",
43
- "txl_text_editor ==0.2.11",
44
- "txl_markdown_viewer ==0.2.11",
45
- "txl_terminal ==0.2.11",
46
- "txl_launcher ==0.2.11",
47
- "txl_widgets ==0.2.11",
28
+ "txl ==0.2.12",
29
+ "txl_cell ==0.2.12",
30
+ "txl_console ==0.2.12",
31
+ "txl_editors ==0.2.12",
32
+ "txl_file_browser ==0.2.12",
33
+ "txl_image_viewer ==0.2.12",
34
+ "txl_jpterm ==0.2.12",
35
+ "txl_kernel ==0.2.12",
36
+ "txl_local_contents ==0.2.12",
37
+ "txl_local_terminals ==0.2.12",
38
+ "txl_local_kernels ==0.2.12",
39
+ "txl_notebook_editor ==0.2.12",
40
+ "txl_remote_contents ==0.2.12",
41
+ "txl_remote_terminals ==0.2.12",
42
+ "txl_remote_kernels ==0.2.12",
43
+ "txl_text_editor ==0.2.12",
44
+ "txl_markdown_viewer ==0.2.12",
45
+ "txl_terminal ==0.2.12",
46
+ "txl_launcher ==0.2.12",
47
+ "txl_widgets ==0.2.12",
48
48
  ]
49
49
 
50
50
  [project.optional-dependencies]
@@ -23,7 +23,7 @@ classifiers = [
23
23
  ]
24
24
  dependencies = [
25
25
  "asphalt >=4.12.0,<5",
26
- "textual[syntax] >=0.53.1,<0.54.0",
26
+ "textual[syntax] >=0.63.4,<0.64.0",
27
27
  ]
28
28
  dynamic = ["version"]
29
29
 
@@ -0,0 +1 @@
1
+ __version__ = "0.2.12"
@@ -1,3 +0,0 @@
1
- # GitHub syntax highlighting
2
- pixi.lock linguist-language=YAML
3
-
@@ -1 +0,0 @@
1
- __version__ = "0.2.11"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
@@ -1 +0,0 @@
1
- __version__ = "0.2.10"
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes
File without changes