jpterm 0.2.19__tar.gz → 0.3.0__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.
- jpterm-0.3.0/.fileid.db +0 -0
- jpterm-0.3.0/.ipynb_checkpoints/Untitled-checkpoint.ipynb +24 -0
- jpterm-0.3.0/.ipynb_checkpoints/Untitled1-checkpoint.ipynb +24 -0
- jpterm-0.3.0/.ipynb_checkpoints/Untitled2-checkpoint.ipynb +24 -0
- jpterm-0.3.0/.jupyter_ystore.db +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/PKG-INFO +23 -22
- jpterm-0.3.0/examples/.ipynb_checkpoints/plotext-checkpoint.ipynb +98 -0
- jpterm-0.3.0/examples/.ipynb_checkpoints/plotext2-checkpoint.ipynb +72 -0
- jpterm-0.3.0/examples/.ipynb_checkpoints/switch-checkpoint.ipynb +64 -0
- jpterm-0.3.0/examples/.ipynb_checkpoints/widget-checkpoint.ipynb +253 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/jpterm/cli.py +15 -8
- jpterm-0.3.0/plugins/cell/pyproject.toml +26 -0
- jpterm-0.2.19/plugins/cell/txl_cell/components.py → jpterm-0.3.0/plugins/cell/txl_cell/main.py +60 -26
- jpterm-0.3.0/plugins/console/pyproject.toml +26 -0
- jpterm-0.2.19/plugins/console/txl_console/components.py → jpterm-0.3.0/plugins/console/txl_console/main.py +9 -12
- jpterm-0.3.0/plugins/editors/pyproject.toml +26 -0
- jpterm-0.2.19/plugins/editors/txl_editors/components.py → jpterm-0.3.0/plugins/editors/txl_editors/main.py +11 -13
- jpterm-0.3.0/plugins/file_browser/pyproject.toml +26 -0
- jpterm-0.2.19/plugins/file_browser/txl_file_browser/components.py → jpterm-0.3.0/plugins/file_browser/txl_file_browser/main.py +8 -11
- jpterm-0.3.0/plugins/image_viewer/pyproject.toml +26 -0
- jpterm-0.2.19/plugins/image_viewer/txl_image_viewer/components.py → jpterm-0.3.0/plugins/image_viewer/txl_image_viewer/main.py +13 -15
- jpterm-0.3.0/plugins/jpterm/pyproject.toml +26 -0
- jpterm-0.3.0/plugins/jpterm/txl_jpterm/footer.py +13 -0
- jpterm-0.2.19/plugins/jpterm/txl_jpterm/components.py → jpterm-0.3.0/plugins/jpterm/txl_jpterm/main.py +25 -33
- jpterm-0.3.0/plugins/kernel/pyproject.toml +20 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/kernel/txl_kernel/driver.py +40 -63
- jpterm-0.3.0/plugins/launcher/pyproject.toml +26 -0
- jpterm-0.2.19/plugins/launcher/txl_launcher/components.py → jpterm-0.3.0/plugins/launcher/txl_launcher/main.py +18 -10
- jpterm-0.3.0/plugins/local_contents/pyproject.toml +26 -0
- jpterm-0.2.19/plugins/local_contents/txl_local_contents/components.py → jpterm-0.3.0/plugins/local_contents/txl_local_contents/main.py +4 -7
- jpterm-0.3.0/plugins/local_kernels/pyproject.toml +28 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_kernels/txl_local_kernels/connect.py +20 -14
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_kernels/txl_local_kernels/driver.py +9 -6
- jpterm-0.2.19/plugins/local_kernels/txl_local_kernels/components.py → jpterm-0.3.0/plugins/local_kernels/txl_local_kernels/main.py +18 -17
- jpterm-0.3.0/plugins/local_terminals/pyproject.toml +23 -0
- jpterm-0.3.0/plugins/local_terminals/txl_local_terminals/main.py +30 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_terminals/txl_local_terminals/terminal.py +18 -17
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_terminals/txl_local_terminals/win_terminal.py +10 -10
- jpterm-0.3.0/plugins/markdown_viewer/pyproject.toml +26 -0
- jpterm-0.3.0/plugins/markdown_viewer/txl_markdown_viewer/main.py +65 -0
- jpterm-0.3.0/plugins/notebook_editor/pyproject.toml +26 -0
- jpterm-0.2.19/plugins/notebook_editor/txl_notebook_editor/components.py → jpterm-0.3.0/plugins/notebook_editor/txl_notebook_editor/main.py +54 -54
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/notebook_viewer/pyproject.toml +3 -2
- jpterm-0.2.19/plugins/notebook_viewer/txl_notebook_viewer/components.py → jpterm-0.3.0/plugins/notebook_viewer/txl_notebook_viewer/main.py +9 -18
- jpterm-0.3.0/plugins/remote_contents/pyproject.toml +23 -0
- jpterm-0.2.19/plugins/remote_contents/txl_remote_contents/components.py → jpterm-0.3.0/plugins/remote_contents/txl_remote_contents/main.py +16 -14
- jpterm-0.3.0/plugins/remote_kernels/pyproject.toml +28 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/remote_kernels/txl_remote_kernels/driver.py +9 -6
- jpterm-0.2.19/plugins/remote_kernels/txl_remote_kernels/components.py → jpterm-0.3.0/plugins/remote_kernels/txl_remote_kernels/main.py +24 -21
- jpterm-0.3.0/plugins/remote_terminals/pyproject.toml +23 -0
- jpterm-0.2.19/plugins/remote_terminals/txl_remote_terminals/components.py → jpterm-0.3.0/plugins/remote_terminals/txl_remote_terminals/main.py +27 -21
- jpterm-0.3.0/plugins/terminal/pyproject.toml +23 -0
- jpterm-0.2.19/plugins/terminal/txl_terminal/components.py → jpterm-0.3.0/plugins/terminal/txl_terminal/main.py +17 -12
- jpterm-0.3.0/plugins/text_editor/pyproject.toml +26 -0
- jpterm-0.3.0/plugins/text_editor/txl_text_editor/main.py +106 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/text_viewer/pyproject.toml +2 -2
- jpterm-0.2.19/plugins/text_viewer/txl_text_viewer/components.py → jpterm-0.3.0/plugins/text_viewer/txl_text_viewer/main.py +7 -13
- jpterm-0.3.0/plugins/widgets/pyproject.toml +26 -0
- jpterm-0.2.19/plugins/widgets/txl_widgets/components.py → jpterm-0.3.0/plugins/widgets/txl_widgets/main.py +12 -15
- {jpterm-0.2.19 → jpterm-0.3.0}/publish.py +7 -2
- {jpterm-0.2.19 → jpterm-0.3.0}/pyproject.toml +24 -23
- jpterm-0.3.0/txl/pyproject.toml +20 -0
- jpterm-0.3.0/txl/txl/app.py +36 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/txl/txl/base.py +3 -9
- {jpterm-0.2.19 → jpterm-0.3.0}/txl/txl/cli.py +0 -7
- jpterm-0.3.0/txl/txl/text_input.py +72 -0
- jpterm-0.2.19/plugins/cell/pyproject.toml +0 -35
- jpterm-0.2.19/plugins/console/pyproject.toml +0 -35
- jpterm-0.2.19/plugins/editors/pyproject.toml +0 -34
- jpterm-0.2.19/plugins/file_browser/pyproject.toml +0 -34
- jpterm-0.2.19/plugins/image_viewer/pyproject.toml +0 -35
- jpterm-0.2.19/plugins/jpterm/pyproject.toml +0 -34
- jpterm-0.2.19/plugins/jpterm/txl_jpterm/footer.py +0 -148
- jpterm-0.2.19/plugins/kernel/pyproject.toml +0 -33
- jpterm-0.2.19/plugins/launcher/pyproject.toml +0 -34
- jpterm-0.2.19/plugins/local_contents/pyproject.toml +0 -36
- jpterm-0.2.19/plugins/local_kernels/pyproject.toml +0 -37
- jpterm-0.2.19/plugins/local_terminals/pyproject.toml +0 -36
- jpterm-0.2.19/plugins/local_terminals/txl_local_terminals/components.py +0 -26
- jpterm-0.2.19/plugins/markdown_viewer/pyproject.toml +0 -34
- jpterm-0.2.19/plugins/markdown_viewer/txl_markdown_viewer/components.py +0 -59
- jpterm-0.2.19/plugins/notebook_editor/pyproject.toml +0 -36
- jpterm-0.2.19/plugins/remote_contents/pyproject.toml +0 -39
- jpterm-0.2.19/plugins/remote_kernels/pyproject.toml +0 -38
- jpterm-0.2.19/plugins/remote_terminals/pyproject.toml +0 -36
- jpterm-0.2.19/plugins/terminal/pyproject.toml +0 -35
- jpterm-0.2.19/plugins/text_editor/pyproject.toml +0 -34
- jpterm-0.2.19/plugins/text_editor/txl_text_editor/components.py +0 -82
- jpterm-0.2.19/plugins/widgets/pyproject.toml +0 -37
- jpterm-0.2.19/txl/pyproject.toml +0 -31
- jpterm-0.2.19/txl/txl/app.py +0 -34
- jpterm-0.2.19/txl/txl/text_input.py +0 -66
- {jpterm-0.2.19 → jpterm-0.3.0}/.github/workflows/publish.yml +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/.github/workflows/test.yml +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/.gitignore +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/.pre-commit-config.yaml +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/CHANGELOG.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/LICENSE +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/config.yaml +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/docs/assets/logo.png +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/docs/index.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/docs/install.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/docs/plugins/console.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/docs/plugins/notebook_editor.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/docs/usage/CLI.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/docs/usage/key_bindings.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/examples/button.ipynb +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/examples/demo.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/examples/jupyter.png +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/examples/plotext.ipynb +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/examples/plotext2.ipynb +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/examples/switch.ipynb +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/examples/widget.ipynb +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/jpterm/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/mkdocs.yml +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/cell/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/cell/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/cell/txl_cell/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/console/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/console/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/console/txl_console/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/editors/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/editors/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/editors/txl_editors/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/file_browser/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/file_browser/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/file_browser/txl_file_browser/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/image_viewer/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/image_viewer/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/image_viewer/txl_image_viewer/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/jpterm/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/jpterm/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/jpterm/txl_jpterm/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/jpterm/txl_jpterm/header.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/jpterm/txl_jpterm/jpterm.css +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/jpterm/txl_jpterm/main_area.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/kernel/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/kernel/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/kernel/txl_kernel/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/kernel/txl_kernel/message.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/launcher/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/launcher/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/launcher/txl_launcher/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_contents/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_contents/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_contents/txl_local_contents/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_kernels/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_kernels/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_kernels/txl_local_kernels/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_kernels/txl_local_kernels/kernelspec.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_kernels/txl_local_kernels/message.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_kernels/txl_local_kernels/paths.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_terminals/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_terminals/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/local_terminals/txl_local_terminals/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/markdown_viewer/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/markdown_viewer/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/markdown_viewer/txl_markdown_viewer/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/notebook_editor/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/notebook_editor/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/notebook_editor/txl_notebook_editor/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/notebook_viewer/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/notebook_viewer/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/notebook_viewer/txl_notebook_viewer/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/remote_contents/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/remote_contents/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/remote_contents/txl_remote_contents/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/remote_kernels/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/remote_kernels/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/remote_kernels/txl_remote_kernels/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/remote_kernels/txl_remote_kernels/message.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/remote_terminals/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/remote_terminals/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/remote_terminals/txl_remote_terminals/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/terminal/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/terminal/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/terminal/txl_terminal/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/text_editor/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/text_editor/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/text_editor/txl_text_editor/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/text_viewer/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/text_viewer/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/text_viewer/txl_text_viewer/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/widgets/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/widgets/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/plugins/widgets/txl_widgets/__init__.py +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/txl/LICENSE.txt +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/txl/README.md +0 -0
- {jpterm-0.2.19 → jpterm-0.3.0}/txl/txl/__init__.py +0 -0
jpterm-0.3.0/.fileid.db
ADDED
Binary file
|
@@ -0,0 +1,24 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "code",
|
5
|
+
"execution_count": null,
|
6
|
+
"id": "2fe308b7-5f0e-4a82-a0fe-5a066918ab9a",
|
7
|
+
"metadata": {},
|
8
|
+
"outputs": [],
|
9
|
+
"source": []
|
10
|
+
}
|
11
|
+
],
|
12
|
+
"metadata": {
|
13
|
+
"kernelspec": {
|
14
|
+
"display_name": "Python 3 (ipykernel)",
|
15
|
+
"language": "python",
|
16
|
+
"name": "python3"
|
17
|
+
},
|
18
|
+
"language_info": {
|
19
|
+
"name": ""
|
20
|
+
}
|
21
|
+
},
|
22
|
+
"nbformat": 4,
|
23
|
+
"nbformat_minor": 5
|
24
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "code",
|
5
|
+
"execution_count": null,
|
6
|
+
"id": "e724ffa2-2096-447f-93c7-8838208da5be",
|
7
|
+
"metadata": {},
|
8
|
+
"outputs": [],
|
9
|
+
"source": []
|
10
|
+
}
|
11
|
+
],
|
12
|
+
"metadata": {
|
13
|
+
"kernelspec": {
|
14
|
+
"display_name": "Python 3 (ipykernel)",
|
15
|
+
"language": "python",
|
16
|
+
"name": "python3"
|
17
|
+
},
|
18
|
+
"language_info": {
|
19
|
+
"name": ""
|
20
|
+
}
|
21
|
+
},
|
22
|
+
"nbformat": 4,
|
23
|
+
"nbformat_minor": 5
|
24
|
+
}
|
@@ -0,0 +1,24 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "code",
|
5
|
+
"execution_count": null,
|
6
|
+
"id": "0467ddd2-0352-445b-94f9-1bc159661410",
|
7
|
+
"metadata": {},
|
8
|
+
"outputs": [],
|
9
|
+
"source": []
|
10
|
+
}
|
11
|
+
],
|
12
|
+
"metadata": {
|
13
|
+
"kernelspec": {
|
14
|
+
"display_name": "Python 3 (ipykernel)",
|
15
|
+
"language": "python",
|
16
|
+
"name": "python3"
|
17
|
+
},
|
18
|
+
"language_info": {
|
19
|
+
"name": ""
|
20
|
+
}
|
21
|
+
},
|
22
|
+
"nbformat": 4,
|
23
|
+
"nbformat_minor": 5
|
24
|
+
}
|
Binary file
|
@@ -1,6 +1,6 @@
|
|
1
|
-
Metadata-Version: 2.
|
1
|
+
Metadata-Version: 2.4
|
2
2
|
Name: jpterm
|
3
|
-
Version: 0.
|
3
|
+
Version: 0.3.0
|
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>
|
@@ -12,30 +12,31 @@ Classifier: Programming Language :: Python
|
|
12
12
|
Classifier: Programming Language :: Python :: 3.10
|
13
13
|
Classifier: Programming Language :: Python :: 3.11
|
14
14
|
Classifier: Programming Language :: Python :: 3.12
|
15
|
+
Classifier: Programming Language :: Python :: 3.13
|
15
16
|
Classifier: Programming Language :: Python :: Implementation :: CPython
|
16
17
|
Classifier: Programming Language :: Python :: Implementation :: PyPy
|
17
18
|
Requires-Python: >=3.10
|
18
19
|
Requires-Dist: rich-click>=1.6.0
|
19
|
-
Requires-Dist: txl-cell==0.
|
20
|
-
Requires-Dist: txl-console==0.
|
21
|
-
Requires-Dist: txl-editors==0.
|
22
|
-
Requires-Dist: txl-file-browser==0.
|
23
|
-
Requires-Dist: txl-image-viewer==0.
|
24
|
-
Requires-Dist: txl-jpterm==0.
|
25
|
-
Requires-Dist: txl-kernel==0.
|
26
|
-
Requires-Dist: txl-launcher==0.
|
27
|
-
Requires-Dist: txl-local-contents==0.
|
28
|
-
Requires-Dist: txl-local-kernels==0.
|
29
|
-
Requires-Dist: txl-local-terminals==0.
|
30
|
-
Requires-Dist: txl-markdown-viewer==0.
|
31
|
-
Requires-Dist: txl-notebook-editor==0.
|
32
|
-
Requires-Dist: txl-remote-contents==0.
|
33
|
-
Requires-Dist: txl-remote-kernels==0.
|
34
|
-
Requires-Dist: txl-remote-terminals==0.
|
35
|
-
Requires-Dist: txl-terminal==0.
|
36
|
-
Requires-Dist: txl-text-editor==0.
|
37
|
-
Requires-Dist: txl-widgets==0.
|
38
|
-
Requires-Dist: txl==0.
|
20
|
+
Requires-Dist: txl-cell==0.3.0
|
21
|
+
Requires-Dist: txl-console==0.3.0
|
22
|
+
Requires-Dist: txl-editors==0.3.0
|
23
|
+
Requires-Dist: txl-file-browser==0.3.0
|
24
|
+
Requires-Dist: txl-image-viewer==0.3.0
|
25
|
+
Requires-Dist: txl-jpterm==0.3.0
|
26
|
+
Requires-Dist: txl-kernel==0.3.0
|
27
|
+
Requires-Dist: txl-launcher==0.3.0
|
28
|
+
Requires-Dist: txl-local-contents==0.3.0
|
29
|
+
Requires-Dist: txl-local-kernels==0.3.0
|
30
|
+
Requires-Dist: txl-local-terminals==0.3.0
|
31
|
+
Requires-Dist: txl-markdown-viewer==0.3.0
|
32
|
+
Requires-Dist: txl-notebook-editor==0.3.0
|
33
|
+
Requires-Dist: txl-remote-contents==0.3.0
|
34
|
+
Requires-Dist: txl-remote-kernels==0.3.0
|
35
|
+
Requires-Dist: txl-remote-terminals==0.3.0
|
36
|
+
Requires-Dist: txl-terminal==0.3.0
|
37
|
+
Requires-Dist: txl-text-editor==0.3.0
|
38
|
+
Requires-Dist: txl-widgets==0.3.0
|
39
|
+
Requires-Dist: txl==0.3.0
|
39
40
|
Provides-Extra: docs
|
40
41
|
Requires-Dist: mkdocs; extra == 'docs'
|
41
42
|
Requires-Dist: mkdocs-material; extra == 'docs'
|
@@ -0,0 +1,98 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "code",
|
5
|
+
"execution_count": 1,
|
6
|
+
"metadata": {},
|
7
|
+
"outputs": [],
|
8
|
+
"source": [
|
9
|
+
"from ypywidgets_textual.plotext import Plotext\n",
|
10
|
+
"plt = Plotext()"
|
11
|
+
]
|
12
|
+
},
|
13
|
+
{
|
14
|
+
"cell_type": "code",
|
15
|
+
"execution_count": 2,
|
16
|
+
"metadata": {},
|
17
|
+
"outputs": [
|
18
|
+
{
|
19
|
+
"data": {
|
20
|
+
"application/vnd.jupyter.ywidget-view+json": {
|
21
|
+
"model_id": "af1e097e261d4d0b9cd72c9d8f8467d8",
|
22
|
+
"version_major": 2,
|
23
|
+
"version_minor": 0
|
24
|
+
},
|
25
|
+
"text/plain": [
|
26
|
+
"<ypywidgets_textual.plotext.Plotext object at 0x7f175f732660>"
|
27
|
+
]
|
28
|
+
},
|
29
|
+
"execution_count": 2,
|
30
|
+
"metadata": {},
|
31
|
+
"output_type": "execute_result"
|
32
|
+
}
|
33
|
+
],
|
34
|
+
"source": [
|
35
|
+
"plt"
|
36
|
+
]
|
37
|
+
},
|
38
|
+
{
|
39
|
+
"cell_type": "code",
|
40
|
+
"execution_count": null,
|
41
|
+
"metadata": {},
|
42
|
+
"outputs": [],
|
43
|
+
"source": [
|
44
|
+
"plt.title('Scatter Plot')"
|
45
|
+
]
|
46
|
+
},
|
47
|
+
{
|
48
|
+
"cell_type": "code",
|
49
|
+
"execution_count": null,
|
50
|
+
"metadata": {},
|
51
|
+
"outputs": [],
|
52
|
+
"source": [
|
53
|
+
"x = [0, 1, 2, 3, 4, 5]\n",
|
54
|
+
"y = [5, 6, 7, 1, 2, 3]\n",
|
55
|
+
"plt.scatter(x, y)"
|
56
|
+
]
|
57
|
+
},
|
58
|
+
{
|
59
|
+
"cell_type": "code",
|
60
|
+
"execution_count": null,
|
61
|
+
"metadata": {},
|
62
|
+
"outputs": [],
|
63
|
+
"source": [
|
64
|
+
"plt.title('Hello')"
|
65
|
+
]
|
66
|
+
},
|
67
|
+
{
|
68
|
+
"cell_type": "code",
|
69
|
+
"execution_count": null,
|
70
|
+
"metadata": {},
|
71
|
+
"outputs": [],
|
72
|
+
"source": [
|
73
|
+
"plt.clear_data()"
|
74
|
+
]
|
75
|
+
}
|
76
|
+
],
|
77
|
+
"metadata": {
|
78
|
+
"kernelspec": {
|
79
|
+
"display_name": "Python 3 (ipykernel)",
|
80
|
+
"language": "python",
|
81
|
+
"name": "python3"
|
82
|
+
},
|
83
|
+
"language_info": {
|
84
|
+
"codemirror_mode": {
|
85
|
+
"name": "ipython",
|
86
|
+
"version": 3
|
87
|
+
},
|
88
|
+
"file_extension": ".py",
|
89
|
+
"mimetype": "text/x-python",
|
90
|
+
"name": "python",
|
91
|
+
"nbconvert_exporter": "python",
|
92
|
+
"pygments_lexer": "ipython3",
|
93
|
+
"version": "3.11.5"
|
94
|
+
}
|
95
|
+
},
|
96
|
+
"nbformat": 4,
|
97
|
+
"nbformat_minor": 4
|
98
|
+
}
|
@@ -0,0 +1,72 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "code",
|
5
|
+
"execution_count": null,
|
6
|
+
"metadata": {},
|
7
|
+
"outputs": [],
|
8
|
+
"source": [
|
9
|
+
"from textual.app import App, ComposeResult\n",
|
10
|
+
"from textual_plotext import PlotextPlot\n",
|
11
|
+
"from ypywidgets_textual import Widget, Driver\n",
|
12
|
+
"\n",
|
13
|
+
"class ScatterApp(App[None]):\n",
|
14
|
+
"\n",
|
15
|
+
" def compose(self) -> ComposeResult:\n",
|
16
|
+
" yield PlotextPlot()\n",
|
17
|
+
"\n",
|
18
|
+
" def on_mount(self) -> None:\n",
|
19
|
+
" plt = self.query_one(PlotextPlot).plt\n",
|
20
|
+
" y = plt.sin() # sinusoidal test signal\n",
|
21
|
+
" plt.scatter(y)\n",
|
22
|
+
" plt.title(\"Scatter Plot\") # to apply a title"
|
23
|
+
]
|
24
|
+
},
|
25
|
+
{
|
26
|
+
"cell_type": "code",
|
27
|
+
"execution_count": null,
|
28
|
+
"metadata": {},
|
29
|
+
"outputs": [],
|
30
|
+
"source": [
|
31
|
+
"w = Widget(ScatterApp)"
|
32
|
+
]
|
33
|
+
},
|
34
|
+
{
|
35
|
+
"cell_type": "code",
|
36
|
+
"execution_count": null,
|
37
|
+
"metadata": {},
|
38
|
+
"outputs": [],
|
39
|
+
"source": [
|
40
|
+
"w"
|
41
|
+
]
|
42
|
+
},
|
43
|
+
{
|
44
|
+
"cell_type": "code",
|
45
|
+
"execution_count": null,
|
46
|
+
"metadata": {},
|
47
|
+
"outputs": [],
|
48
|
+
"source": []
|
49
|
+
}
|
50
|
+
],
|
51
|
+
"metadata": {
|
52
|
+
"kernelspec": {
|
53
|
+
"display_name": "Python 3 (ipykernel)",
|
54
|
+
"language": "python",
|
55
|
+
"name": "python3"
|
56
|
+
},
|
57
|
+
"language_info": {
|
58
|
+
"codemirror_mode": {
|
59
|
+
"name": "ipython",
|
60
|
+
"version": 3
|
61
|
+
},
|
62
|
+
"file_extension": ".py",
|
63
|
+
"mimetype": "text/x-python",
|
64
|
+
"name": "python",
|
65
|
+
"nbconvert_exporter": "python",
|
66
|
+
"pygments_lexer": "ipython3",
|
67
|
+
"version": "3.12.2"
|
68
|
+
}
|
69
|
+
},
|
70
|
+
"nbformat": 4,
|
71
|
+
"nbformat_minor": 4
|
72
|
+
}
|
@@ -0,0 +1,64 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "code",
|
5
|
+
"execution_count": null,
|
6
|
+
"metadata": {},
|
7
|
+
"outputs": [],
|
8
|
+
"source": [
|
9
|
+
"from time import sleep\n",
|
10
|
+
"from ypywidgets_textual.switch import Switch\n",
|
11
|
+
"\n",
|
12
|
+
"switch = Switch()"
|
13
|
+
]
|
14
|
+
},
|
15
|
+
{
|
16
|
+
"cell_type": "code",
|
17
|
+
"execution_count": null,
|
18
|
+
"metadata": {},
|
19
|
+
"outputs": [],
|
20
|
+
"source": [
|
21
|
+
"switch"
|
22
|
+
]
|
23
|
+
},
|
24
|
+
{
|
25
|
+
"cell_type": "code",
|
26
|
+
"execution_count": null,
|
27
|
+
"metadata": {},
|
28
|
+
"outputs": [],
|
29
|
+
"source": [
|
30
|
+
"while True:\n",
|
31
|
+
" switch.toggle()\n",
|
32
|
+
" sleep(1)"
|
33
|
+
]
|
34
|
+
},
|
35
|
+
{
|
36
|
+
"cell_type": "code",
|
37
|
+
"execution_count": null,
|
38
|
+
"metadata": {},
|
39
|
+
"outputs": [],
|
40
|
+
"source": []
|
41
|
+
}
|
42
|
+
],
|
43
|
+
"metadata": {
|
44
|
+
"kernelspec": {
|
45
|
+
"display_name": "Python 3 (ipykernel)",
|
46
|
+
"language": "python",
|
47
|
+
"name": "python3"
|
48
|
+
},
|
49
|
+
"language_info": {
|
50
|
+
"codemirror_mode": {
|
51
|
+
"name": "ipython",
|
52
|
+
"version": 3
|
53
|
+
},
|
54
|
+
"file_extension": ".py",
|
55
|
+
"mimetype": "text/x-python",
|
56
|
+
"name": "python",
|
57
|
+
"nbconvert_exporter": "python",
|
58
|
+
"pygments_lexer": "ipython3",
|
59
|
+
"version": "3.11.5"
|
60
|
+
}
|
61
|
+
},
|
62
|
+
"nbformat": 4,
|
63
|
+
"nbformat_minor": 4
|
64
|
+
}
|
@@ -0,0 +1,253 @@
|
|
1
|
+
{
|
2
|
+
"cells": [
|
3
|
+
{
|
4
|
+
"cell_type": "code",
|
5
|
+
"execution_count": null,
|
6
|
+
"metadata": {},
|
7
|
+
"outputs": [],
|
8
|
+
"source": [
|
9
|
+
"from decimal import Decimal\n",
|
10
|
+
"\n",
|
11
|
+
"from textual import events, on\r",
|
12
|
+
"from textual.app import App, ComposeResult\r",
|
13
|
+
"from textual.containers import Container\r",
|
14
|
+
"from textual.css.query import NoMatches\r",
|
15
|
+
"from textual.reactive import var\r",
|
16
|
+
"from textual.widgets import Button, Digits\r",
|
17
|
+
"from ypywidgets_textual import Widget, Driver\r",
|
18
|
+
"\r",
|
19
|
+
"class CalculatorApp(App):\r",
|
20
|
+
" \"\"\"A working 'desktop' calculator.\"\"\"\r",
|
21
|
+
"\r",
|
22
|
+
" CSS = \"\"\"\r",
|
23
|
+
" Screen {\r",
|
24
|
+
" overflow: auto;\r",
|
25
|
+
" }\r",
|
26
|
+
" \r",
|
27
|
+
" #calculator {\r",
|
28
|
+
" layout: grid;\r",
|
29
|
+
" grid-size: 4;\r",
|
30
|
+
" grid-gutter: 1 2;\r",
|
31
|
+
" grid-columns: 1fr;\r",
|
32
|
+
" grid-rows: 2fr 1fr 1fr 1fr 1fr 1fr;\r",
|
33
|
+
" margin: 1 2;\r",
|
34
|
+
" min-height: 25;\r",
|
35
|
+
" min-width: 26;\r",
|
36
|
+
" height: 100%;\r",
|
37
|
+
" }\r",
|
38
|
+
" \r",
|
39
|
+
" Button {\r",
|
40
|
+
" width: 100%;\r",
|
41
|
+
" height: 100%;\r",
|
42
|
+
" }\r",
|
43
|
+
" \r",
|
44
|
+
" #numbers {\r",
|
45
|
+
" column-span: 4;\r",
|
46
|
+
" padding: 0 1;\r",
|
47
|
+
" height: 100%;\r",
|
48
|
+
" background: $primary-lighten-2;\r",
|
49
|
+
" color: $text;\r",
|
50
|
+
" content-align: center middle;\r",
|
51
|
+
" text-align: right;\r",
|
52
|
+
" }\r",
|
53
|
+
" \r",
|
54
|
+
" #number-0 {\r",
|
55
|
+
" column-span: 2;\r",
|
56
|
+
" }\r",
|
57
|
+
" \"\"\"\r",
|
58
|
+
"\r",
|
59
|
+
" numbers = var(\"0\")\r",
|
60
|
+
" show_ac = var(True)\r",
|
61
|
+
" left = var(Decimal(\"0\"))\r",
|
62
|
+
" right = var(Decimal(\"0\"))\r",
|
63
|
+
" value = var(\"\")\r",
|
64
|
+
" operator = var(\"plus\")\r",
|
65
|
+
"\r",
|
66
|
+
" NAME_MAP = {\r",
|
67
|
+
" \"asterisk\": \"multiply\",\r",
|
68
|
+
" \"slash\": \"divide\",\r",
|
69
|
+
" \"underscore\": \"plus-minus\",\r",
|
70
|
+
" \"full_stop\": \"point\",\r",
|
71
|
+
" \"plus_minus_sign\": \"plus-minus\",\r",
|
72
|
+
" \"percent_sign\": \"percent\",\r",
|
73
|
+
" \"equals_sign\": \"equals\",\r",
|
74
|
+
" \"minus\": \"minus\",\r",
|
75
|
+
" \"plus\": \"plus\",\r",
|
76
|
+
" }\r",
|
77
|
+
"\r",
|
78
|
+
" def watch_numbers(self, value: str) -> None:\r",
|
79
|
+
" \"\"\"Called when numbers is updated.\"\"\"\r",
|
80
|
+
" self.query_one(\"#numbers\", Digits).update(value)\r",
|
81
|
+
"\r",
|
82
|
+
" def compute_show_ac(self) -> bool:\r",
|
83
|
+
" \"\"\"Compute switch to show AC or C button\"\"\"\r",
|
84
|
+
" return self.value in (\"\", \"0\") and self.numbers == \"0\"\r",
|
85
|
+
"\r",
|
86
|
+
" def watch_show_ac(self, show_ac: bool) -> None:\r",
|
87
|
+
" \"\"\"Called when show_ac changes.\"\"\"\r",
|
88
|
+
" self.query_one(\"#c\").display = not show_ac\r",
|
89
|
+
" self.query_one(\"#ac\").display = show_ac\r",
|
90
|
+
"\r",
|
91
|
+
" def compose(self) -> ComposeResult:\r",
|
92
|
+
" \"\"\"Add our buttons.\"\"\"\r",
|
93
|
+
" with Container(id=\"calculator\"):\r",
|
94
|
+
" yield Digits(id=\"numbers\")\r",
|
95
|
+
" yield Button(\"AC\", id=\"ac\", variant=\"primary\")\r",
|
96
|
+
" yield Button(\"C\", id=\"c\", variant=\"primary\")\r",
|
97
|
+
" yield Button(\"+/-\", id=\"plus-minus\", variant=\"primary\")\r",
|
98
|
+
" yield Button(\"%\", id=\"percent\", variant=\"primary\")\r",
|
99
|
+
" yield Button(\"÷\", id=\"divide\", variant=\"warning\")\r",
|
100
|
+
" yield Button(\"7\", id=\"number-7\", classes=\"number\")\r",
|
101
|
+
" yield Button(\"8\", id=\"number-8\", classes=\"number\")\r",
|
102
|
+
" yield Button(\"9\", id=\"number-9\", classes=\"number\")\r",
|
103
|
+
" yield Button(\"×\", id=\"multiply\", variant=\"warning\")\r",
|
104
|
+
" yield Button(\"4\", id=\"number-4\", classes=\"number\")\r",
|
105
|
+
" yield Button(\"5\", id=\"number-5\", classes=\"number\")\r",
|
106
|
+
" yield Button(\"6\", id=\"number-6\", classes=\"number\")\r",
|
107
|
+
" yield Button(\"-\", id=\"minus\", variant=\"warning\")\r",
|
108
|
+
" yield Button(\"1\", id=\"number-1\", classes=\"number\")\r",
|
109
|
+
" yield Button(\"2\", id=\"number-2\", classes=\"number\")\r",
|
110
|
+
" yield Button(\"3\", id=\"number-3\", classes=\"number\")\r",
|
111
|
+
" yield Button(\"+\", id=\"plus\", variant=\"warning\")\r",
|
112
|
+
" yield Button(\"0\", id=\"number-0\", classes=\"number\")\r",
|
113
|
+
" yield Button(\".\", id=\"point\")\r",
|
114
|
+
" yield Button(\"=\", id=\"equals\", variant=\"warning\")\r",
|
115
|
+
"\r",
|
116
|
+
" def on_key(self, event: events.Key) -> None:\r",
|
117
|
+
" \"\"\"Called when the user presses a key.\"\"\"\r",
|
118
|
+
"\r",
|
119
|
+
" def press(button_id: str) -> None:\r",
|
120
|
+
" \"\"\"Press a button, should it exist.\"\"\"\r",
|
121
|
+
" try:\r",
|
122
|
+
" self.query_one(f\"#{button_id}\", Button).press()\r",
|
123
|
+
" except NoMatches:\r",
|
124
|
+
" pass\r",
|
125
|
+
"\r",
|
126
|
+
" key = event.key\r",
|
127
|
+
" if key.isdecimal():\r",
|
128
|
+
" press(f\"number-{key}\")\r",
|
129
|
+
" elif key == \"c\":\r",
|
130
|
+
" press(\"c\")\r",
|
131
|
+
" press(\"ac\")\r",
|
132
|
+
" else:\r",
|
133
|
+
" button_id = self.NAME_MAP.get(key)\r",
|
134
|
+
" if button_id is not None:\r",
|
135
|
+
" press(self.NAME_MAP.get(key, key))\r",
|
136
|
+
"\r",
|
137
|
+
" @on(Button.Pressed, \".number\")\r",
|
138
|
+
" def number_pressed(self, event: Button.Pressed) -> None:\r",
|
139
|
+
" \"\"\"Pressed a number.\"\"\"\r",
|
140
|
+
" assert event.button.id is not None\r",
|
141
|
+
" number = event.button.id.partition(\"-\")[-1]\r",
|
142
|
+
" self.numbers = self.value = self.value.lstrip(\"0\") + number\r",
|
143
|
+
"\r",
|
144
|
+
" @on(Button.Pressed, \"#plus-minus\")\r",
|
145
|
+
" def plus_minus_pressed(self) -> None:\r",
|
146
|
+
" \"\"\"Pressed + / -\"\"\"\r",
|
147
|
+
" self.numbers = self.value = str(Decimal(self.value or \"0\") * -1)\r",
|
148
|
+
"\r",
|
149
|
+
" @on(Button.Pressed, \"#percent\")\r",
|
150
|
+
" def percent_pressed(self) -> None:\r",
|
151
|
+
" \"\"\"Pressed %\"\"\"\r",
|
152
|
+
" self.numbers = self.value = str(Decimal(self.value or \"0\") / Decimal(100))\r",
|
153
|
+
"\r",
|
154
|
+
" @on(Button.Pressed, \"#point\")\r",
|
155
|
+
" def pressed_point(self) -> None:\r",
|
156
|
+
" \"\"\"Pressed .\"\"\"\r",
|
157
|
+
" if \".\" not in self.value:\r",
|
158
|
+
" self.numbers = self.value = (self.value or \"0\") + \".\"\r",
|
159
|
+
"\r",
|
160
|
+
" @on(Button.Pressed, \"#ac\")\r",
|
161
|
+
" def pressed_ac(self) -> None:\r",
|
162
|
+
" \"\"\"Pressed AC\"\"\"\r",
|
163
|
+
" self.value = \"\"\r",
|
164
|
+
" self.left = self.right = Decimal(0)\r",
|
165
|
+
" self.operator = \"plus\"\r",
|
166
|
+
" self.numbers = \"0\"\r",
|
167
|
+
"\r",
|
168
|
+
" @on(Button.Pressed, \"#c\")\r",
|
169
|
+
" def pressed_c(self) -> None:\r",
|
170
|
+
" \"\"\"Pressed C\"\"\"\r",
|
171
|
+
" self.value = \"\"\r",
|
172
|
+
" self.numbers = \"0\"\r",
|
173
|
+
"\r",
|
174
|
+
" def _do_math(self) -> None:\r",
|
175
|
+
" \"\"\"Does the math: LEFT OPERATOR RIGHT\"\"\"\r",
|
176
|
+
" try:\r",
|
177
|
+
" if self.operator == \"plus\":\r",
|
178
|
+
" self.left += self.right\r",
|
179
|
+
" elif self.operator == \"minus\":\r",
|
180
|
+
" self.left -= self.right\r",
|
181
|
+
" elif self.operator == \"divide\":\r",
|
182
|
+
" self.left /= self.right\r",
|
183
|
+
" elif self.operator == \"multiply\":\r",
|
184
|
+
" self.left *= self.right\r",
|
185
|
+
" self.numbers = str(self.left)\r",
|
186
|
+
" self.value = \"\"\r",
|
187
|
+
" except Exception:\r",
|
188
|
+
" self.numbers = \"Error\"\r",
|
189
|
+
"\r",
|
190
|
+
" @on(Button.Pressed, \"#plus,#minus,#divide,#multiply\")\r",
|
191
|
+
" def pressed_op(self, event: Button.Pressed) -> None:\r",
|
192
|
+
" \"\"\"Pressed one of the arithmetic operations.\"\"\"\r",
|
193
|
+
" self.right = Decimal(self.value or \"0\")\r",
|
194
|
+
" self._do_math()\r",
|
195
|
+
" assert event.button.id is not None\r",
|
196
|
+
" self.operator = event.button.id\r",
|
197
|
+
"\r",
|
198
|
+
" @on(Button.Pressed, \"#equals\")\r",
|
199
|
+
" def pressed_equals(self) -> None:\r",
|
200
|
+
" \"\"\"Pressed =\"\"\"\r",
|
201
|
+
" if self.value:\r",
|
202
|
+
" self.right = Decimal(self.value)\r",
|
203
|
+
" self._do_math()"
|
204
|
+
]
|
205
|
+
},
|
206
|
+
{
|
207
|
+
"cell_type": "code",
|
208
|
+
"execution_count": null,
|
209
|
+
"metadata": {},
|
210
|
+
"outputs": [],
|
211
|
+
"source": [
|
212
|
+
"w = Widget(CalculatorApp)"
|
213
|
+
]
|
214
|
+
},
|
215
|
+
{
|
216
|
+
"cell_type": "code",
|
217
|
+
"execution_count": null,
|
218
|
+
"metadata": {},
|
219
|
+
"outputs": [],
|
220
|
+
"source": [
|
221
|
+
"w"
|
222
|
+
]
|
223
|
+
},
|
224
|
+
{
|
225
|
+
"cell_type": "code",
|
226
|
+
"execution_count": null,
|
227
|
+
"metadata": {},
|
228
|
+
"outputs": [],
|
229
|
+
"source": []
|
230
|
+
}
|
231
|
+
],
|
232
|
+
"metadata": {
|
233
|
+
"kernelspec": {
|
234
|
+
"display_name": "Python 3 (ipykernel)",
|
235
|
+
"language": "python",
|
236
|
+
"name": "python3"
|
237
|
+
},
|
238
|
+
"language_info": {
|
239
|
+
"codemirror_mode": {
|
240
|
+
"name": "ipython",
|
241
|
+
"version": 3
|
242
|
+
},
|
243
|
+
"file_extension": ".py",
|
244
|
+
"mimetype": "text/x-python",
|
245
|
+
"name": "python",
|
246
|
+
"nbconvert_exporter": "python",
|
247
|
+
"pygments_lexer": "ipython3",
|
248
|
+
"version": "3.12.2"
|
249
|
+
}
|
250
|
+
},
|
251
|
+
"nbformat": 4,
|
252
|
+
"nbformat_minor": 4
|
253
|
+
}
|
@@ -18,15 +18,21 @@ def jpterm_main(kwargs):
|
|
18
18
|
collaborative = kwargs.pop("collaborative")
|
19
19
|
experimental = kwargs.pop("experimental")
|
20
20
|
set_ = list(kwargs["set_"])
|
21
|
-
set_.append("logging.version=1") # disable logging
|
22
21
|
if server:
|
23
|
-
set_.append(f"
|
24
|
-
set_.append(f"
|
25
|
-
set_.append(f"
|
26
|
-
set_.append(f"
|
27
|
-
set_.append(f"
|
28
|
-
set_.append(f"
|
29
|
-
disabled.extend(
|
22
|
+
set_.append(f"remote_contents.url={server}")
|
23
|
+
set_.append(f"remote_terminals.url={server}")
|
24
|
+
set_.append(f"remote_kernels.url={server}")
|
25
|
+
set_.append(f"remote_kernelspecs.url={server}")
|
26
|
+
set_.append(f"remote_contents.collaborative={collaborative}")
|
27
|
+
set_.append(f"notebook_editor.experimental={experimental}")
|
28
|
+
disabled.extend(
|
29
|
+
[
|
30
|
+
"local_contents",
|
31
|
+
"local_terminals",
|
32
|
+
"local_kernels",
|
33
|
+
"local_kernelspecs",
|
34
|
+
]
|
35
|
+
)
|
30
36
|
else:
|
31
37
|
disabled.extend(
|
32
38
|
[
|
@@ -45,6 +51,7 @@ def main():
|
|
45
51
|
decorators = [
|
46
52
|
click.option("--logo", is_flag=True, default=False, help="Show the jpterm logo."),
|
47
53
|
click.option("--server", default="", help="The URL to the Jupyter server."),
|
54
|
+
click.option("--backend", default="asyncio", help="The name of the event loop to use (asyncio or trio)."),
|
48
55
|
click.option(
|
49
56
|
"--collaborative/--no-collaborative",
|
50
57
|
default=False,
|