euporie 2.8.5__py3-none-any.whl → 2.8.7__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.
- euporie/console/app.py +2 -0
- euporie/console/tabs/console.py +27 -17
- euporie/core/__init__.py +2 -2
- euporie/core/__main__.py +2 -2
- euporie/core/_settings.py +7 -2
- euporie/core/app/_commands.py +20 -12
- euporie/core/app/_settings.py +34 -4
- euporie/core/app/app.py +31 -18
- euporie/core/bars/command.py +53 -27
- euporie/core/bars/search.py +43 -2
- euporie/core/border.py +7 -2
- euporie/core/comm/base.py +2 -2
- euporie/core/comm/ipywidgets.py +3 -3
- euporie/core/commands.py +44 -24
- euporie/core/completion.py +14 -6
- euporie/core/convert/datum.py +7 -7
- euporie/core/data_structures.py +20 -1
- euporie/core/filters.py +40 -9
- euporie/core/format.py +2 -3
- euporie/core/ft/html.py +47 -40
- euporie/core/graphics.py +199 -31
- euporie/core/history.py +15 -5
- euporie/core/inspection.py +16 -9
- euporie/core/kernel/__init__.py +53 -1
- euporie/core/kernel/base.py +571 -0
- euporie/core/kernel/{client.py → jupyter.py} +173 -430
- euporie/core/kernel/{manager.py → jupyter_manager.py} +4 -3
- euporie/core/kernel/local.py +694 -0
- euporie/core/key_binding/bindings/basic.py +6 -3
- euporie/core/keys.py +26 -25
- euporie/core/layout/cache.py +31 -7
- euporie/core/layout/containers.py +88 -13
- euporie/core/layout/scroll.py +69 -170
- euporie/core/log.py +2 -5
- euporie/core/path.py +61 -13
- euporie/core/style.py +2 -1
- euporie/core/suggest.py +155 -74
- euporie/core/tabs/__init__.py +12 -4
- euporie/core/tabs/_commands.py +76 -0
- euporie/core/tabs/_settings.py +16 -0
- euporie/core/tabs/base.py +89 -9
- euporie/core/tabs/kernel.py +83 -38
- euporie/core/tabs/notebook.py +28 -76
- euporie/core/utils.py +2 -19
- euporie/core/validation.py +8 -8
- euporie/core/widgets/_settings.py +19 -2
- euporie/core/widgets/cell.py +32 -32
- euporie/core/widgets/cell_outputs.py +10 -1
- euporie/core/widgets/dialog.py +60 -76
- euporie/core/widgets/display.py +2 -2
- euporie/core/widgets/forms.py +71 -59
- euporie/core/widgets/inputs.py +7 -4
- euporie/core/widgets/layout.py +281 -93
- euporie/core/widgets/menu.py +56 -16
- euporie/core/widgets/palette.py +3 -1
- euporie/core/widgets/tree.py +86 -76
- euporie/notebook/app.py +35 -16
- euporie/notebook/tabs/display.py +2 -2
- euporie/notebook/tabs/edit.py +11 -46
- euporie/notebook/tabs/json.py +8 -4
- euporie/notebook/tabs/notebook.py +26 -8
- euporie/preview/tabs/notebook.py +17 -13
- euporie/web/__init__.py +1 -0
- euporie/web/tabs/__init__.py +14 -0
- euporie/web/tabs/web.py +30 -5
- euporie/web/widgets/__init__.py +1 -0
- euporie/web/widgets/webview.py +5 -4
- {euporie-2.8.5.dist-info → euporie-2.8.7.dist-info}/METADATA +4 -2
- {euporie-2.8.5.dist-info → euporie-2.8.7.dist-info}/RECORD +74 -68
- {euporie-2.8.5.dist-info → euporie-2.8.7.dist-info}/entry_points.txt +1 -1
- {euporie-2.8.5.dist-info → euporie-2.8.7.dist-info}/licenses/LICENSE +1 -1
- {euporie-2.8.5.data → euporie-2.8.7.data}/data/share/applications/euporie-console.desktop +0 -0
- {euporie-2.8.5.data → euporie-2.8.7.data}/data/share/applications/euporie-notebook.desktop +0 -0
- {euporie-2.8.5.dist-info → euporie-2.8.7.dist-info}/WHEEL +0 -0
euporie/web/tabs/web.py
CHANGED
@@ -2,6 +2,7 @@
|
|
2
2
|
|
3
3
|
from __future__ import annotations
|
4
4
|
|
5
|
+
import asyncio
|
5
6
|
import logging
|
6
7
|
from typing import TYPE_CHECKING
|
7
8
|
|
@@ -16,14 +17,13 @@ from euporie.core.data_structures import DiBool
|
|
16
17
|
from euporie.core.layout.decor import FocusedStyle
|
17
18
|
from euporie.core.margins import MarginContainer, ScrollbarMargin
|
18
19
|
from euporie.core.tabs.base import Tab
|
19
|
-
from euporie.core.utils import run_in_thread_with_context
|
20
20
|
from euporie.core.widgets.display import DisplayWindow
|
21
21
|
from euporie.core.widgets.forms import Button, Text
|
22
22
|
from euporie.web.widgets.webview import WebViewControl
|
23
23
|
|
24
24
|
if TYPE_CHECKING:
|
25
25
|
from pathlib import Path
|
26
|
-
from typing import Any, Callable
|
26
|
+
from typing import Any, Callable, ClassVar
|
27
27
|
|
28
28
|
from prompt_toolkit.layout.containers import AnyContainer
|
29
29
|
|
@@ -38,6 +38,7 @@ class WebTab(Tab):
|
|
38
38
|
|
39
39
|
name = "Web Viewer"
|
40
40
|
weight = 2
|
41
|
+
mime_types: ClassVar[set[str]] = {"text/html", "text/markdown"}
|
41
42
|
|
42
43
|
def __init__(self, app: BaseApp, path: Path | None) -> None:
|
43
44
|
"""Call when the tab is created."""
|
@@ -45,13 +46,16 @@ class WebTab(Tab):
|
|
45
46
|
self.status: Callable[[], StatusBarFields] | None = None
|
46
47
|
|
47
48
|
def _load() -> None:
|
49
|
+
old_container = self.container
|
48
50
|
self.container = self.load_container()
|
51
|
+
if self.app.layout.has_focus(old_container):
|
52
|
+
self.focus()
|
53
|
+
self.app.invalidate()
|
49
54
|
|
50
|
-
|
55
|
+
self._load_task = app.create_background_task(asyncio.to_thread(_load))
|
51
56
|
|
52
57
|
def focus(self) -> None:
|
53
58
|
"""Focus the webview when this tab is focused."""
|
54
|
-
super().focus()
|
55
59
|
self.app.layout.focus(self.webview)
|
56
60
|
|
57
61
|
@property
|
@@ -67,13 +71,16 @@ class WebTab(Tab):
|
|
67
71
|
def load_url(self, url: str | Path, new_tab: bool = False, **kwargs: Any) -> bool:
|
68
72
|
"""Load a new URL, or the URL in the address-bar."""
|
69
73
|
log.debug("Loading %s", url)
|
74
|
+
self.webview.loading = True
|
75
|
+
self.app.invalidate()
|
70
76
|
if not url:
|
71
77
|
return False
|
72
78
|
if isinstance(url, str):
|
73
|
-
url = UPath(url)
|
79
|
+
url = UPath(url, protocol="https" if ":" not in url else None)
|
74
80
|
if not new_tab and get_mime(url) in self.mime_types:
|
75
81
|
self.webview.load_url(url, **kwargs)
|
76
82
|
else:
|
83
|
+
self.webview.loading = False
|
77
84
|
get_app().open_file(url)
|
78
85
|
return True
|
79
86
|
|
@@ -83,6 +90,8 @@ class WebTab(Tab):
|
|
83
90
|
if url is not None:
|
84
91
|
self.path = UPath(url)
|
85
92
|
self.url_bar.text = str(url)
|
93
|
+
# Focus the webview
|
94
|
+
self.app.layout.current_control = self.webview
|
86
95
|
|
87
96
|
def load_container(self) -> AnyContainer:
|
88
97
|
"""Abcract method for loading the notebook's main container."""
|
@@ -108,10 +117,25 @@ class WebTab(Tab):
|
|
108
117
|
disabled=Condition(lambda: not self.webview.next_stack),
|
109
118
|
on_click=lambda x: self.webview.nav_next(),
|
110
119
|
)
|
120
|
+
button_refresh = Button(
|
121
|
+
"↻",
|
122
|
+
on_click=lambda x: (self.load_url(self.path) and False) or None,
|
123
|
+
)
|
124
|
+
|
125
|
+
def _select_url() -> None:
|
126
|
+
"""Select all in url bar when it gains focus."""
|
127
|
+
from prompt_toolkit.selection import SelectionState
|
128
|
+
|
129
|
+
buffer = self.url_bar.buffer
|
130
|
+
buffer.selection_state = SelectionState(0)
|
131
|
+
buffer.cursor_position = len(buffer.text)
|
132
|
+
buffer.selection_state.enter_shift_mode()
|
133
|
+
|
111
134
|
self.url_bar = Text(
|
112
135
|
text=str(path),
|
113
136
|
show_borders=DiBool(top=True, right=False, bottom=True, left=True),
|
114
137
|
accept_handler=lambda buf: self.load_url(buf.text),
|
138
|
+
on_focus=_select_url,
|
115
139
|
)
|
116
140
|
button_go = Button(
|
117
141
|
"➜",
|
@@ -126,6 +150,7 @@ class WebTab(Tab):
|
|
126
150
|
[
|
127
151
|
FocusedStyle(button_prev),
|
128
152
|
FocusedStyle(button_next),
|
153
|
+
FocusedStyle(button_refresh),
|
129
154
|
FocusedStyle(self.url_bar),
|
130
155
|
FocusedStyle(button_go),
|
131
156
|
],
|
@@ -0,0 +1 @@
|
|
1
|
+
"""Contain widgets used in the web viewer."""
|
euporie/web/widgets/webview.py
CHANGED
@@ -132,16 +132,14 @@ class WebViewControl(UIControl):
|
|
132
132
|
if changed:
|
133
133
|
self.on_cursor_position_changed.fire()
|
134
134
|
|
135
|
-
def get_dom(self, url: Path
|
135
|
+
def get_dom(self, url: Path) -> HTML:
|
136
136
|
"""Load a HTML page as renderable formatted text."""
|
137
137
|
markup = str(
|
138
138
|
Datum(
|
139
139
|
data=url.read_text(),
|
140
140
|
format=(format_ := get_format(url, default="html")),
|
141
141
|
path=url,
|
142
|
-
).convert(
|
143
|
-
to="html",
|
144
|
-
)
|
142
|
+
).convert(to="html")
|
145
143
|
)
|
146
144
|
return HTML(
|
147
145
|
markup=markup,
|
@@ -327,6 +325,7 @@ class WebViewControl(UIControl):
|
|
327
325
|
"""Handle click events."""
|
328
326
|
url = node.attrs.get("_link_path")
|
329
327
|
title = node.attrs.get("title")
|
328
|
+
alt = node.attrs.get("alt")
|
330
329
|
if url:
|
331
330
|
# TODO - Check for #anchor links and scroll accordingly
|
332
331
|
if (
|
@@ -345,6 +344,8 @@ class WebViewControl(UIControl):
|
|
345
344
|
self.status.clear()
|
346
345
|
if title:
|
347
346
|
self.status.append(str(title))
|
347
|
+
if title:
|
348
|
+
self.status.append(str(alt))
|
348
349
|
if url:
|
349
350
|
self.status.append(str(url))
|
350
351
|
return None
|
@@ -1,6 +1,6 @@
|
|
1
1
|
Metadata-Version: 2.4
|
2
2
|
Name: euporie
|
3
|
-
Version: 2.8.
|
3
|
+
Version: 2.8.7
|
4
4
|
Summary: Euporie is a suite of terminal applications for interacting with Jupyter kernels
|
5
5
|
Project-URL: Documentation, https://euporie.readthedocs.io/en/latest
|
6
6
|
Project-URL: Issues, https://github.com/joouha/euporie/issues
|
@@ -85,10 +85,12 @@ If you're working with Jupyter notebooks in a terminal only environment, like an
|
|
85
85
|
Install
|
86
86
|
*******
|
87
87
|
|
88
|
-
You can install euporie with `pipx <https://pipxproject.github.io/>`_
|
88
|
+
You can install euporie with `uv <https://docs.astral.sh/uv/>`_ (recommended), or with `pipx <https://pipxproject.github.io/>`_ or ``pip``):
|
89
89
|
|
90
90
|
.. code-block:: console
|
91
91
|
|
92
|
+
$ uv tool install euporie
|
93
|
+
$ # OR
|
92
94
|
$ pipx install euporie
|
93
95
|
$ # OR
|
94
96
|
$ python -m pip install --user euporie
|
@@ -2,61 +2,61 @@ euporie/console/__init__.py,sha256=Xgd2sBDyLKQ3_kiRmkRIVNHw6MGB-f-mB1YOxhta0Oc,5
|
|
2
2
|
euporie/console/__main__.py,sha256=m2EnzIDLO4dHlDt41JNKpUvAUSw6wD-X0V3YhymXqxc,289
|
3
3
|
euporie/console/_commands.py,sha256=89IYo7RaFftffmgXGfPv5p2nm3_4NC--U3AdTPBWT_g,3856
|
4
4
|
euporie/console/_settings.py,sha256=jZroKFFsTzyEhP1Sis41Se70hwxqDmpa2Lb19XnMnRQ,1587
|
5
|
-
euporie/console/app.py,sha256=
|
5
|
+
euporie/console/app.py,sha256=EvmL4djuIWN_WlPyZt2tsc4Bc8SZTPphTlB0yGFPj1o,5736
|
6
6
|
euporie/console/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
7
7
|
euporie/console/tabs/__init__.py,sha256=Grm9EO1gnBO1o-k6Nqnlzo8XLIgFZSXNAdz49Vvh4zY,55
|
8
|
-
euporie/console/tabs/console.py,sha256=
|
9
|
-
euporie/core/__init__.py,sha256=
|
10
|
-
euporie/core/__main__.py,sha256=
|
11
|
-
euporie/core/_settings.py,sha256=
|
12
|
-
euporie/core/border.py,sha256=
|
8
|
+
euporie/console/tabs/console.py,sha256=G_md1U6pRZeL34ejokzzrCNKfNKiLkyphCha7z2xuy0,31783
|
9
|
+
euporie/core/__init__.py,sha256=571U9ICO5WEQH6bWSEMLa3A991JAJIfl4wkqlFtuaiY,313
|
10
|
+
euporie/core/__main__.py,sha256=QkRamWXgrPiRj7h4sYNhHNpVOUJuEpRuvZE-YLK1dUU,1255
|
11
|
+
euporie/core/_settings.py,sha256=JspB4eMUXry4r5g4Wzn4aV0FmzSVmWf1G96Jcr5bcDE,2937
|
12
|
+
euporie/core/border.py,sha256=HktTPL-sKxaiM8_DPdaetFI5fOvEBVJrw3tmgsKT2jY,48835
|
13
13
|
euporie/core/clipboard.py,sha256=A2LdeyWKWuG0rPy6QoefmBbRtOtpzz_R6FLwBfU5Dr4,2060
|
14
|
-
euporie/core/commands.py,sha256=
|
15
|
-
euporie/core/completion.py,sha256=
|
14
|
+
euporie/core/commands.py,sha256=aBBCSBm7AJRCoiOZzbIOucExqm5nYf--SrbiysBRkFc,9035
|
15
|
+
euporie/core/completion.py,sha256=HZMTFJS1z6KW2o2QrfF-JH4fNDwK-iKb06Z0DAjL-3k,5770
|
16
16
|
euporie/core/config.py,sha256=ngRZ8MRhDMiJEmQhPtfZb3Kf8Rfij4Rp7nTH0armch8,25137
|
17
|
-
euporie/core/data_structures.py,sha256=
|
17
|
+
euporie/core/data_structures.py,sha256=2ml-q-y5Ft0pyq1Xc-NySCLMoEir71M9e2PLfvPbegc,2350
|
18
18
|
euporie/core/diagnostics.py,sha256=KywmOqa1_Lfk5SsO1Fd0Vl801DvVKvAD4pOOpdLijAM,1680
|
19
|
-
euporie/core/filters.py,sha256=
|
20
|
-
euporie/core/format.py,sha256=
|
21
|
-
euporie/core/graphics.py,sha256=
|
22
|
-
euporie/core/history.py,sha256=
|
23
|
-
euporie/core/inspection.py,sha256=
|
19
|
+
euporie/core/filters.py,sha256=t-s9g-wSPhDd3iXcLtiwT5IsIfK7vIuicV-KU-eB19A,10237
|
20
|
+
euporie/core/format.py,sha256=D8svQC9ZFO4rSkjtTIaRTfZ32KRgIN12KTjEeqM5Hag,4163
|
21
|
+
euporie/core/graphics.py,sha256=tD7hvCYDXqToHgrC1bMm0a7THZUd77sRF0a1Fje0a38,45595
|
22
|
+
euporie/core/history.py,sha256=y9DAWrQmOMSBqTza3QMqE28X-MRYm8OPiigQ9dDlyUE,2829
|
23
|
+
euporie/core/inspection.py,sha256=sN--ttxjdpinafHqrb21uqqdp8U0TbYqT7BYAfutqZg,2796
|
24
24
|
euporie/core/io.py,sha256=VrTfRcU6B-hsFhrNcdG_oC6dR1Q9jCMTpL8PPBjhE3g,10981
|
25
|
-
euporie/core/keys.py,sha256=
|
25
|
+
euporie/core/keys.py,sha256=Ld9iKl-Qe8Ps2g8tpA9ViBIgZmQz6oncTPNiqgXNfqk,411225
|
26
26
|
euporie/core/lexers.py,sha256=AXNDYOR0BZf0sYj9o8YSb0oF4AGYZdKygwFIUKJ3XFM,1083
|
27
|
-
euporie/core/log.py,sha256
|
27
|
+
euporie/core/log.py,sha256=gdnBd35OmCQ-wNPr54lMkw_Vl_9JyZjBt_TmACCHWbo,17222
|
28
28
|
euporie/core/lsp.py,sha256=bez_TPAfGXfVP_PbjbNH1woZIHTmrH2gvt3yV5E64o0,52952
|
29
29
|
euporie/core/margins.py,sha256=mKnlUO1QaSMGqA_VsRfvpuvZrZyGLppm-zyniZnXPXk,24946
|
30
|
-
euporie/core/path.py,sha256=
|
30
|
+
euporie/core/path.py,sha256=3Pa6hMS0sHWm5vC3kDooen1Rya-UFYVlJaxv2IcryQ0,3873
|
31
31
|
euporie/core/processors.py,sha256=63vwLEuSdp5B_PuQ-zv--qtC05GTlbhXVojISzHUnIk,5478
|
32
32
|
euporie/core/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
33
33
|
euporie/core/pygments.py,sha256=TE3VrZ-QKe4n6hmoYuNmt0l0XR6qmko7JvO5YHSt_rU,2588
|
34
34
|
euporie/core/reference.py,sha256=x8-7405xgTEcK7ImqikQtVAXXqFanz61UQ3mn7v_4-o,65039
|
35
35
|
euporie/core/renderer.py,sha256=JNqDP3y7NbM_y-JJZUNWy3qH4H3Et2hPRaM0YtLUTxM,18760
|
36
|
-
euporie/core/style.py,sha256=
|
37
|
-
euporie/core/suggest.py,sha256=
|
38
|
-
euporie/core/utils.py,sha256=
|
39
|
-
euporie/core/validation.py,sha256=
|
36
|
+
euporie/core/style.py,sha256=buMXvz_jI75voUI3s7qa_1Q-2i0HnnQO-KpEAmfU62s,34851
|
37
|
+
euporie/core/suggest.py,sha256=zmlL0DP6_HeDPZ4vGjEIi9TivqGZ000Y3TN75LBPbVM,9079
|
38
|
+
euporie/core/utils.py,sha256=mgvt95AIOrx0NqlxSXYwWj6RKIB0t9g3OU66__F2XPY,5612
|
39
|
+
euporie/core/validation.py,sha256=PuLECbqaDGI9qHfJyliFS4gWF0u_UrYHTfsWFOfwfq0,1191
|
40
40
|
euporie/core/app/__init__.py,sha256=v5RgV1dRhKjWxojUE-hCNXRWIbEvYEYU7rL55fPaTno,88
|
41
|
-
euporie/core/app/_commands.py,sha256=
|
42
|
-
euporie/core/app/_settings.py,sha256=
|
43
|
-
euporie/core/app/app.py,sha256=
|
41
|
+
euporie/core/app/_commands.py,sha256=biJzOxFY4ASISyYO9A0uSRO9gJDVODEvF4V74WN0FH8,2078
|
42
|
+
euporie/core/app/_settings.py,sha256=iHtUxVSkiuPOaDjW9dpg044HpgEV62XsqFIx1U3_bDQ,12797
|
43
|
+
euporie/core/app/app.py,sha256=0mjMNrnb1The3h7RgL8qPGuK9naLwNlekpQviFPXvdc,35842
|
44
44
|
euporie/core/app/base.py,sha256=an8aAKnLzSt1mr-JUY8QHAtpZ-RtCUIlNBR0oOsYn_E,1418
|
45
45
|
euporie/core/app/current.py,sha256=u-5FXQUq9ikRxwb0fXI2_83uarPOMFLWRQ_7GDBQa5g,798
|
46
46
|
euporie/core/app/cursor.py,sha256=O_zz7qw1Vn_OmsUI8jEwqPtYugKBGVLBtPhqu5ZboE4,1132
|
47
47
|
euporie/core/app/dummy.py,sha256=hHCJUDwYOH1NmwVmtYz9SfGIgt57MjYoGGW5SrDnZw4,353
|
48
48
|
euporie/core/app/launch.py,sha256=Uf16rnEc9VgH-skXiY252CsuV64c5A4OKOKEbpU9lpc,643
|
49
49
|
euporie/core/bars/__init__.py,sha256=hZeIvEXxd3LPbwQND7G5VMV1x8Zn6kq3pDXQhkXA7_E,245
|
50
|
-
euporie/core/bars/command.py,sha256=
|
50
|
+
euporie/core/bars/command.py,sha256=QGCxmYYkjuTiVCrDtc77vwzKJFkaEnHzgGkh09p-1YA,6969
|
51
51
|
euporie/core/bars/menu.py,sha256=boFuIMYxWJ96bjqGGNGS19iZMoMGvXvF09RuihATnXk,9593
|
52
|
-
euporie/core/bars/search.py,sha256=
|
52
|
+
euporie/core/bars/search.py,sha256=N1lDOYvcP6N4MLq0Trd63Gc1a--V9jtILnMYz7ZZkHc,13496
|
53
53
|
euporie/core/bars/status.py,sha256=-00GMuatEXwUk86TmTJdJZ5nJKqhp1JjuwaTIgDw0LE,5082
|
54
54
|
euporie/core/comm/__init__.py,sha256=jTf9gPhonyl-UOEC7lc8RwLGJiNhFSuDZqm8rpZRnnI,52
|
55
|
-
euporie/core/comm/base.py,sha256
|
56
|
-
euporie/core/comm/ipywidgets.py,sha256=
|
55
|
+
euporie/core/comm/base.py,sha256=-zXNOXimuD7Aeo2scADnvSimZa6pF8obT51vluBz2co,4123
|
56
|
+
euporie/core/comm/ipywidgets.py,sha256=Qw1LI_Er8l9leZJMsohtQBJD_K4b0KPordynXhrknFk,53013
|
57
57
|
euporie/core/comm/registry.py,sha256=x9AhhTi4Ohxq6fdPXU9GJgH58CleYsEy-xw084TcIx0,1384
|
58
58
|
euporie/core/convert/__init__.py,sha256=dZKZVTyYAuIKtjTbtcqvko-I89LYwr4fDbYj1J9PyEc,64
|
59
|
-
euporie/core/convert/datum.py,sha256=
|
59
|
+
euporie/core/convert/datum.py,sha256=RKafPCxCIMfPK2emWp-HMMXPGZ23o7ret9SJdtIMdMM,15909
|
60
60
|
euporie/core/convert/mime.py,sha256=uQwXw2hUsfS_dMeR4Ci6Zv4fORIBnEa9rdRa-nVT-Ls,3142
|
61
61
|
euporie/core/convert/registry.py,sha256=pDnUzXp08t-XN3lXxBimMuRSNFwskAOLeeU0OHMMN30,2904
|
62
62
|
euporie/core/convert/utils.py,sha256=aNqorWKz_yHItJZjTXcwCJ_CANuKhv2IQPq3w2o9Iqs,3449
|
@@ -76,12 +76,14 @@ euporie/core/convert/formats/sixel.py,sha256=DV9ifN09XgRFvacc3D6UOdOhSMIT3sjp9Sg
|
|
76
76
|
euporie/core/convert/formats/svg.py,sha256=SY-rioXSm5lK6LLp3mu3YeFYTFOJ-jCvEwH-wusfU1s,805
|
77
77
|
euporie/core/ft/__init__.py,sha256=Ib-pswos3RiOM2Vn8GCZ4rwuoTNPeBJ0jhgRpwu7BKE,55
|
78
78
|
euporie/core/ft/ansi.py,sha256=Cw_oEQ-RfuNOW3p4K0ihHLAJp4WKgF3mfc0yIvTryyk,5805
|
79
|
-
euporie/core/ft/html.py,sha256=
|
79
|
+
euporie/core/ft/html.py,sha256=GPrJYV8b9afi87v_PmAFQgMCJ5oZFL2_1cCYiajdmrM,179530
|
80
80
|
euporie/core/ft/table.py,sha256=vnqtWOfKgoAylbTLEXXgVOh40TsrsHThcEAG7FGby2k,53332
|
81
81
|
euporie/core/ft/utils.py,sha256=Dg77ofKHvcMuuocNtmE6vO3fZsizWDNgXnLfNlGTfOY,27838
|
82
|
-
euporie/core/kernel/__init__.py,sha256=
|
83
|
-
euporie/core/kernel/
|
84
|
-
euporie/core/kernel/
|
82
|
+
euporie/core/kernel/__init__.py,sha256=OzDNoLffqunS-mZb23U0a2_tOx-E0QtmT25rVLj76bU,1540
|
83
|
+
euporie/core/kernel/base.py,sha256=nAgUVwMb0IIfgfjv13L7kov7PXSzBo3MfMf12ipoOGs,17937
|
84
|
+
euporie/core/kernel/jupyter.py,sha256=R2H3eTYLQwLSc9pRadyETNFHrIqY1b9I6uxqAdQHXS8,36206
|
85
|
+
euporie/core/kernel/jupyter_manager.py,sha256=tvft5LGjXYXPJBO3tNOKvyicnz-FwS1wbUQ2Q6OtEwY,4031
|
86
|
+
euporie/core/kernel/local.py,sha256=mEWx0H8vGsZYHlEDUmklisCiMmRQaxVlaNao_nQpDGI,22580
|
85
87
|
euporie/core/key_binding/__init__.py,sha256=zFKrJrZARNht6Tl4TT5Fw3fk-IrD8SBYk5mBJ5K_F1A,47
|
86
88
|
euporie/core/key_binding/key_processor.py,sha256=eZu7V7HmpvwGDz7z3upEQyqNLXX_D16VBojCNOplxTw,5757
|
87
89
|
euporie/core/key_binding/micro_state.py,sha256=h_CBBiIUa4mHf70ZZDNbXreC0p0H3boNVzHnHVuIAp8,1276
|
@@ -89,7 +91,7 @@ euporie/core/key_binding/registry.py,sha256=Q-E8I-PhmWD9PkgFulPZdXTBPrySg7IDK7va
|
|
89
91
|
euporie/core/key_binding/utils.py,sha256=5na4KCumbmCy8ouRAlO4IsscQ8VTvYHY6SKsmS2T-pg,3009
|
90
92
|
euporie/core/key_binding/vi_state.py,sha256=ek3Wxsckihsr5x9ULiDtNnVkOEiCBzoF4m4qY6wAB9Q,702
|
91
93
|
euporie/core/key_binding/bindings/__init__.py,sha256=hgemHFN9TR7LD4YCMhPoQEJ4r5hZ3LhcMDMVPsSPD48,227
|
92
|
-
euporie/core/key_binding/bindings/basic.py,sha256=
|
94
|
+
euporie/core/key_binding/bindings/basic.py,sha256=cTnpjkpZ6bcX3XdMrTpU0HC7J8dkO7p6TZXhP5uKyv0,2938
|
93
95
|
euporie/core/key_binding/bindings/completion.py,sha256=aR6iS9X-EPAHDN4IagTR0yyiZNSkNOCjMyLNOMWGWYk,1997
|
94
96
|
euporie/core/key_binding/bindings/micro.py,sha256=loB-9jG-N-Tyb1P3MZ2I8CS0p5acu2cN8Cs0KKXz_GQ,27878
|
95
97
|
euporie/core/key_binding/bindings/mouse.py,sha256=WQpDIpGx9zpffHDjSFK6wa9UYb4MFwx3A-xWRaU9_o4,6925
|
@@ -97,36 +99,37 @@ euporie/core/key_binding/bindings/page_navigation.py,sha256=FWIv4iqWUCMjFHLu-I5Z
|
|
97
99
|
euporie/core/key_binding/bindings/terminal.py,sha256=_IxHXzI9N2YtNeecmvb9G5gQpsuSvKcmkfoFLuv-0tI,6061
|
98
100
|
euporie/core/key_binding/bindings/vi.py,sha256=XutOsbBI8ywyWR5XY2pUN14Vga6R0vrDK27q7ZhE8pM,1567
|
99
101
|
euporie/core/layout/__init__.py,sha256=T5iGOnMGfNwVffJlfFMwGTFBLV7RkOuKw5gVp6cl4wA,59
|
100
|
-
euporie/core/layout/cache.py,sha256=
|
101
|
-
euporie/core/layout/containers.py,sha256=
|
102
|
+
euporie/core/layout/cache.py,sha256=AkZgwETYwqq4o5MNj0BWly3aZcZCrQGEUR6Li9q-3Xo,16054
|
103
|
+
euporie/core/layout/containers.py,sha256=AQFvIpO97SkFj3ijYf4VGwOXkoGmVRUt_MInKperOqw,48092
|
102
104
|
euporie/core/layout/controls.py,sha256=iFklysBxk_roWKfNN4Hdjqf4sFdEBzNWZq2OavlpJHY,825
|
103
105
|
euporie/core/layout/decor.py,sha256=aUJXdeDujk4hDG5uvEdF44sRBzTak12x1J5W7YQxfSk,14128
|
104
106
|
euporie/core/layout/mouse.py,sha256=VgOzavrQoCpNcPozCVx-o8yhNBODvANHNaIMGBijKeA,5169
|
105
107
|
euporie/core/layout/print.py,sha256=gAqApRCTh13A74Uda7NoPAYCksacUzDnj6M2ftPyVig,5185
|
106
108
|
euporie/core/layout/screen.py,sha256=0xP9ZErMcw51nPgBbrm-DSQqFq5WNvsh9fw1amz2Z28,2224
|
107
|
-
euporie/core/layout/scroll.py,sha256=
|
108
|
-
euporie/core/tabs/__init__.py,sha256=
|
109
|
-
euporie/core/tabs/
|
110
|
-
euporie/core/tabs/
|
111
|
-
euporie/core/tabs/
|
112
|
-
euporie/core/tabs/
|
109
|
+
euporie/core/layout/scroll.py,sha256=lAV6vf0tSM-shQyO79r2vF5MaTx4Ek7lRvaYRHTt47c,29145
|
110
|
+
euporie/core/tabs/__init__.py,sha256=7IzC_LLd-61JH6CBLDEeLhTtlEyFbQtgRqGbVUWBNP8,1176
|
111
|
+
euporie/core/tabs/_commands.py,sha256=M1emj8w8ni-_EfE3PHTWQ_SJR0VYXBMLgLExIpLXvZc,1903
|
112
|
+
euporie/core/tabs/_settings.py,sha256=MgC_WPy28g44PvhY_3Y1EwR7yikid4gEXZoV1Ydtq6w,3659
|
113
|
+
euporie/core/tabs/base.py,sha256=VnBM8CDdzufQPr51vC8BZOxDkFtlsrmmYBob9s9Q1LU,7713
|
114
|
+
euporie/core/tabs/kernel.py,sha256=gsaW_2GUWBeeUtrNOTrrr6He_ShkLcA5XjiDXdS_No8,17348
|
115
|
+
euporie/core/tabs/notebook.py,sha256=rZa2LRaCCEl3kb4hniQEQtly_uCBBF92dYFYcv8ID2g,15024
|
113
116
|
euporie/core/widgets/__init__.py,sha256=ektso_Ea1-pZB04alUujQsa2r-kv8xAF0SmQOv_bvHQ,52
|
114
|
-
euporie/core/widgets/_settings.py,sha256=
|
115
|
-
euporie/core/widgets/cell.py,sha256=
|
116
|
-
euporie/core/widgets/cell_outputs.py,sha256=
|
117
|
+
euporie/core/widgets/_settings.py,sha256=69ZJ6Ihl-HmyFPOyxGAL2HvxIASOJLEeOr8AuCtK48Q,5248
|
118
|
+
euporie/core/widgets/cell.py,sha256=rmwrfONJ-mLUB7UHqKVf9gwzHECtu-4y1YU9lEmW5RM,33876
|
119
|
+
euporie/core/widgets/cell_outputs.py,sha256=tIDBIWPnwavGlKDykDr_mOfbOgkpD94N_wV3RHVXGAA,17257
|
117
120
|
euporie/core/widgets/decor.py,sha256=_K3bSNpvAFdn5ZZyNFVjZPv6QV4fNIlNMdRpYjc4MU0,7895
|
118
|
-
euporie/core/widgets/dialog.py,sha256=
|
119
|
-
euporie/core/widgets/display.py,sha256=
|
121
|
+
euporie/core/widgets/dialog.py,sha256=2yvNzDqDjsOBWVfeSgR4Lv1LC73tQIeI_qz2YIx7H1k,32987
|
122
|
+
euporie/core/widgets/display.py,sha256=Ht5INitUzG8-zY5jDbBNWarS_lgoH3559lJYS3OREtg,21557
|
120
123
|
euporie/core/widgets/file_browser.py,sha256=jj8l5cpX7S6d1HlYXUg3TXdsvmhFneIOiotKpwCVgoQ,20050
|
121
124
|
euporie/core/widgets/formatted_text_area.py,sha256=J7P_TNXPZKZkiBdjAVkPvkfRY1veXe4tzXU241k4b-Q,4037
|
122
|
-
euporie/core/widgets/forms.py,sha256=
|
123
|
-
euporie/core/widgets/inputs.py,sha256=
|
124
|
-
euporie/core/widgets/layout.py,sha256=
|
125
|
+
euporie/core/widgets/forms.py,sha256=G_omvjVhbWjY0HYb8s7gs9MqPyABBwAJElyCACsHv_0,85850
|
126
|
+
euporie/core/widgets/inputs.py,sha256=Rmlv1Y9XHvbT1SoyI1zn1ltj_y8tqgl1kOAz2iuOkX0,20303
|
127
|
+
euporie/core/widgets/layout.py,sha256=jPChBUf8FEbj_c6RwBooaATFnecm_MrSTpJFkPxOFFQ,30521
|
125
128
|
euporie/core/widgets/logo.py,sha256=VU9hSVAiguS5lI0EccQoPm8roAuQNgvFUO5IREvXWFo,1487
|
126
|
-
euporie/core/widgets/menu.py,sha256=
|
129
|
+
euporie/core/widgets/menu.py,sha256=1vb7ORM3Avhx2k1D_QpSb4VtwjhBrmDQl1ZEJL3ub2s,34890
|
127
130
|
euporie/core/widgets/pager.py,sha256=gEc68A_KSwttoXgI6d4JrXwRN4HsgTXxc0-i_QounjY,6413
|
128
|
-
euporie/core/widgets/palette.py,sha256=
|
129
|
-
euporie/core/widgets/tree.py,sha256=
|
131
|
+
euporie/core/widgets/palette.py,sha256=Uv5n1Lvls7FnSZ_481L5zvkRsbSzzshhDmTy3gpNomQ,10950
|
132
|
+
euporie/core/widgets/tree.py,sha256=ql5vbpelnCWZacUk7kqdCK1uXfzRzLl34U2_hu65rUY,4288
|
130
133
|
euporie/data/desktop/euporie-console.desktop,sha256=DI08G0Dl2s5asM6afWUfkKvO5YmcBm-pWQZzUHiNnqc,153
|
131
134
|
euporie/data/desktop/euporie-notebook.desktop,sha256=RtpJzvizTDuOp0BLa2bLgVHx11LG6L7PL-oF-wHTsgU,155
|
132
135
|
euporie/hub/__init__.py,sha256=NcrOlSFgI4y5gEbD4lFY-Ryd1K79EeMoeAp41A6tDT0,44
|
@@ -137,7 +140,7 @@ euporie/notebook/__init__.py,sha256=rOE71d95pym_ILYVg07NO9oDYbSB0AskxbC8cr4htiU,
|
|
137
140
|
euporie/notebook/__main__.py,sha256=m2EnzIDLO4dHlDt41JNKpUvAUSw6wD-X0V3YhymXqxc,289
|
138
141
|
euporie/notebook/_commands.py,sha256=YsymSk5a4lx_DmspJDxtYzKld8dNzqAUJTnH5rInCdE,595
|
139
142
|
euporie/notebook/_settings.py,sha256=lVGMG9j2GawFi-SShv7qzs-WutGw2cFGP3XLGdXphII,2909
|
140
|
-
euporie/notebook/app.py,sha256=
|
143
|
+
euporie/notebook/app.py,sha256=IjD7FPxdsd2NIgcMKWtrU-LlbviIRjYoUiEsRkaZ7QY,19409
|
141
144
|
euporie/notebook/current.py,sha256=rQ_R9B0b8JmWILxEyGzGfuVY2iVkHTghq4qRiC-MYSU,387
|
142
145
|
euporie/notebook/enums.py,sha256=g7quMch8KAlaaYJS0UppWqx6tx-ZFt7HxFcmEfam5OM,221
|
143
146
|
euporie/notebook/filters.py,sha256=fHhPVVVX4aFbWfXB2UKlTjn-cMX-hJzkAQqZU3itm7g,1506
|
@@ -145,11 +148,11 @@ euporie/notebook/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
145
148
|
euporie/notebook/tabs/__init__.py,sha256=JkFfg6tW3gbzRSUoC1lTeyDy_ZMHEfvknmvilW67UpA,1506
|
146
149
|
euporie/notebook/tabs/_commands.py,sha256=wNPY84H_nWMO1fEwUuJ4oIK2wg4yfVmsA_y-ua3CZjM,19096
|
147
150
|
euporie/notebook/tabs/_settings.py,sha256=-itfgWAk22SxA8ThdbVlHYfnv1PfYnvLTAKMjbJ90rs,766
|
148
|
-
euporie/notebook/tabs/display.py,sha256=
|
149
|
-
euporie/notebook/tabs/edit.py,sha256=
|
150
|
-
euporie/notebook/tabs/json.py,sha256=
|
151
|
+
euporie/notebook/tabs/display.py,sha256=SSRdbHPs34Wuu49WHnmJWmqT-lGiggB7Gf3_uvSFBHA,2572
|
152
|
+
euporie/notebook/tabs/edit.py,sha256=B-zsn-BqaMNLoFDiUhFpqTjIe-rAyh3XqyUzbCyxJCM,5107
|
153
|
+
euporie/notebook/tabs/json.py,sha256=MthLU28-xGO2mRP7_G3aAWb-nJZ9ek0C6mjW1uRCT28,2356
|
151
154
|
euporie/notebook/tabs/log.py,sha256=jKgsvkCNdQJ-6PzbG1tbRK-pR8DazPoemARHkOfH7fU,3062
|
152
|
-
euporie/notebook/tabs/notebook.py,sha256=
|
155
|
+
euporie/notebook/tabs/notebook.py,sha256=1LN1a7msmAlOxG0JZBCfgGqebkhY-HW2CKeM9zh0cZg,24606
|
153
156
|
euporie/notebook/widgets/__init__.py,sha256=74tOl0bYuWkaKT-4pgD5zmdiIkoFYx8uGj4SxcLHLtQ,48
|
154
157
|
euporie/notebook/widgets/_commands.py,sha256=9VjBlj7Uz2R3kCSKdLi0k7Cv9zpqDeNVPd1cH0ra4o4,266
|
155
158
|
euporie/notebook/widgets/_settings.py,sha256=HiUQqBca3d4nrgfDZiCLnriV_PX4OZY8FJDjLZyUWzM,453
|
@@ -160,13 +163,16 @@ euporie/preview/_settings.py,sha256=_N3Dfzg5XOE_L-yq3HgAV68FKgz2nD1UHwLRXVSqI64,
|
|
160
163
|
euporie/preview/app.py,sha256=jmmlrvkKN8ZK1277VGxbAc2ejZaXWj7FDN4loNl_dd0,7623
|
161
164
|
euporie/preview/py.typed,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
162
165
|
euporie/preview/tabs/__init__.py,sha256=rY6DfQ-8qRo_AiICCD-zTyhJBnuMjawWDd8tRxR6q58,43
|
163
|
-
euporie/preview/tabs/notebook.py,sha256=
|
164
|
-
euporie/web/
|
165
|
-
euporie/web/
|
166
|
-
euporie
|
167
|
-
euporie
|
168
|
-
euporie
|
169
|
-
euporie-2.8.
|
170
|
-
euporie-2.8.
|
171
|
-
euporie-2.8.
|
172
|
-
euporie-2.8.
|
166
|
+
euporie/preview/tabs/notebook.py,sha256=MRAP0g-1_r-361yM9GHy-i5-G8dtAg34iNazp1SlxSA,6482
|
167
|
+
euporie/web/__init__.py,sha256=wE-4WBbzcpWVu5YisLrUhYOn3ZlBK2YZryjc1r96qrY,38
|
168
|
+
euporie/web/tabs/__init__.py,sha256=0DbkceML8N_qefZFZB7CJQw_FX0gkuNdabQoEu0zV9E,340
|
169
|
+
euporie/web/tabs/web.py,sha256=CY8tfy_yrZYLWY2pEyOgJsqIHCfGIj9WVKnK6v9Jg8g,6195
|
170
|
+
euporie/web/widgets/__init__.py,sha256=xIxCPl9KiisYgsX-V1LvDT6BETZRF3nC-ZsP8DP7nOY,46
|
171
|
+
euporie/web/widgets/webview.py,sha256=WhV-e7CeTK3z8fw27cl-aqjeSckLXug1fUINBAkx8Gk,20469
|
172
|
+
euporie-2.8.7.data/data/share/applications/euporie-console.desktop,sha256=DI08G0Dl2s5asM6afWUfkKvO5YmcBm-pWQZzUHiNnqc,153
|
173
|
+
euporie-2.8.7.data/data/share/applications/euporie-notebook.desktop,sha256=RtpJzvizTDuOp0BLa2bLgVHx11LG6L7PL-oF-wHTsgU,155
|
174
|
+
euporie-2.8.7.dist-info/METADATA,sha256=DgLdP5Mssz27ASjUZK3Ubgcz3jmSGS6prfxdXRc2aDM,6515
|
175
|
+
euporie-2.8.7.dist-info/WHEEL,sha256=qtCwoSJWgHk21S1Kb4ihdzI2rlJ1ZKaIurTj_ngOhyQ,87
|
176
|
+
euporie-2.8.7.dist-info/entry_points.txt,sha256=cJPvjp7siwHeqCcCdu-Q9OCcsp4ylbLv0S4RP7g3Bf0,798
|
177
|
+
euporie-2.8.7.dist-info/licenses/LICENSE,sha256=yB-auuST68VxkNPXb-E7gVdFzOJShyBnoPyyveuAiYc,1079
|
178
|
+
euporie-2.8.7.dist-info/RECORD,,
|
@@ -13,7 +13,7 @@ notebook = euporie.notebook.app:NotebookApp
|
|
13
13
|
preview = euporie.preview.app:PreviewApp
|
14
14
|
|
15
15
|
[jupyter_client.kernel_provisioners]
|
16
|
-
logging-local-provisioner = euporie.core.kernel.
|
16
|
+
logging-local-provisioner = euporie.core.kernel.jupyter_manager:LoggingLocalProvisioner
|
17
17
|
|
18
18
|
[pygments.lexers]
|
19
19
|
argparse = euporie.core.pygments:ArgparseLexer
|
File without changes
|
File without changes
|
File without changes
|