From dcd2db6679a0f06a451d79adb9c75c38be66a948 Mon Sep 17 00:00:00 2001 From: Paul Romer Date: Sun, 19 Oct 2025 23:37:17 -0400 Subject: [PATCH] initial commit --- .gitignore | 3 + .jupyter/data/nbsignatures.db | Bin 0 -> 24576 bytes .jupyter/data/notebook_secret | 18 + .../data/runtime/jpserver-37079-open.html | 17 + .jupyter/data/runtime/jpserver-37079.json | 13 + .../data/runtime/jpserver-38875-open.html | 17 + .jupyter/data/runtime/jpserver-38875.json | 13 + .../data/runtime/jpserver-41785-open.html | 17 + .jupyter/data/runtime/jpserver-41785.json | 13 + .../data/runtime/jpserver-44403-open.html | 17 + .jupyter/data/runtime/jpserver-44403.json | 13 + .../data/runtime/jpserver-46241-open.html | 17 + .jupyter/data/runtime/jpserver-46241.json | 13 + .jupyter/data/runtime/jupyter_cookie_secret | 1 + ...-02560f24-cc0f-4e38-b0a9-fb2de73d52f5.json | 13 + ...-2a236137-6e38-44de-bf2a-24513fdb8b72.json | 13 + ...-2aae1916-b65b-4d93-b976-a673691cc587.json | 13 + ...-3a7cd087-e045-49cd-ae4e-e8acc1f97e71.json | 13 + ...-50661378-9e2d-4de3-8809-b9d935629f55.json | 13 + ...-8132e889-2013-453d-80f0-249d9eacb7eb.json | 13 + ...-99d2c070-c94e-4c27-a5e8-cc7a423d8a5e.json | 13 + ...-b4590abf-6e7a-4bdf-94b8-c0398a7da25c.json | 13 + .jupyter/jupyter_lab_config.py | 57 + .../jupyterlab-lsp/plugin.jupyterlab-settings | 282 +++ .../signature.jupyterlab-settings | 3 + .../spellchecker/plugin.jupyterlab-settings | 23 + .../context-menu.jupyterlab-settings | 590 +++++ .../notification.jupyterlab-settings | 18 + .../palette.jupyterlab-settings | 3 + .../sanitizer.jupyterlab-settings | 5 + .../sessionDialogs.jupyterlab-settings | 3 + .../themes.jupyterlab-settings | 10 + .../plugin.jupyterlab-settings | 48 + .../plugin.jupyterlab-settings | 5 + .../plugin.jupyterlab-settings | 11 + .../browser.jupyterlab-settings | 12 + .../widget.jupyterlab-settings | 36 + .../plugin.jupyterlab-settings | 7 + .../plugin.jupyterlab-settings | 862 ++++++++ .../plugin.jupyterlab-settings | 13 + .../panel.jupyterlab-settings | 112 + .../tracker.jupyterlab-settings | 39 + .../shortcuts.jupyterlab-settings | 24 + .../plugin.jupyterlab-settings | 10 + .../auto-0-1753.jupyterlab-workspace | 1 + .../auto-d-ab05.jupyterlab-workspace | 1 + .../auto-e-23e3.jupyterlab-workspace | 1 + .../auto-f-4f86.jupyterlab-workspace | 1 + .../auto-i-81a0.jupyterlab-workspace | 1 + .../auto-l-8fe7.jupyterlab-workspace | 1 + .../auto-q-549e.jupyterlab-workspace | 1 + .../default-37a8.jupyterlab-workspace | 1 + .jupyter/labconfig/page_config.json | 5 + .jupyter/migrated | 1 + ...ear_run_to_selected-0.3.0-py3-none-any.whl | Bin 0 -> 15522 bytes .local-libraries/tufte-0.7.0-py3-none-any.whl | Bin 0 -> 246224 bytes Files/Using_pylock.ipynb | 126 ++ Files/jl_w_pylock.txt | 40 + Files/requirements.txt | 11 + Files/test_imports.ipynb | 63 + Files/untitled.txt | 38 + README.md | 12 + main.py | 1 + pyproject.toml | 21 + s.sh | 18 + t.sh | 7 + uv.lock | 1950 +++++++++++++++++ uv.toml | 4 + 68 files changed, 4754 insertions(+) create mode 100644 .gitignore create mode 100644 .jupyter/data/nbsignatures.db create mode 100644 .jupyter/data/notebook_secret create mode 100644 .jupyter/data/runtime/jpserver-37079-open.html create mode 100644 .jupyter/data/runtime/jpserver-37079.json create mode 100644 .jupyter/data/runtime/jpserver-38875-open.html create mode 100644 .jupyter/data/runtime/jpserver-38875.json create mode 100644 .jupyter/data/runtime/jpserver-41785-open.html create mode 100644 .jupyter/data/runtime/jpserver-41785.json create mode 100644 .jupyter/data/runtime/jpserver-44403-open.html create mode 100644 .jupyter/data/runtime/jpserver-44403.json create mode 100644 .jupyter/data/runtime/jpserver-46241-open.html create mode 100644 .jupyter/data/runtime/jpserver-46241.json create mode 100644 .jupyter/data/runtime/jupyter_cookie_secret create mode 100644 .jupyter/data/runtime/kernel-02560f24-cc0f-4e38-b0a9-fb2de73d52f5.json create mode 100644 .jupyter/data/runtime/kernel-2a236137-6e38-44de-bf2a-24513fdb8b72.json create mode 100644 .jupyter/data/runtime/kernel-2aae1916-b65b-4d93-b976-a673691cc587.json create mode 100644 .jupyter/data/runtime/kernel-3a7cd087-e045-49cd-ae4e-e8acc1f97e71.json create mode 100644 .jupyter/data/runtime/kernel-50661378-9e2d-4de3-8809-b9d935629f55.json create mode 100644 .jupyter/data/runtime/kernel-8132e889-2013-453d-80f0-249d9eacb7eb.json create mode 100644 .jupyter/data/runtime/kernel-99d2c070-c94e-4c27-a5e8-cc7a423d8a5e.json create mode 100644 .jupyter/data/runtime/kernel-b4590abf-6e7a-4bdf-94b8-c0398a7da25c.json create mode 100644 .jupyter/jupyter_lab_config.py create mode 100644 .jupyter/lab/user-settings/@jupyter-lsp/jupyterlab-lsp/plugin.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyter-lsp/jupyterlab-lsp/signature.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab-contrib/spellchecker/plugin.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/application-extension/context-menu.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/apputils-extension/notification.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/apputils-extension/palette.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/apputils-extension/sanitizer.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/apputils-extension/sessionDialogs.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/apputils-extension/themes.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/cell-toolbar-extension/plugin.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/codemirror-extension/plugin.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/extensionmanager-extension/plugin.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/filebrowser-extension/browser.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/filebrowser-extension/widget.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/fileeditor-extension/plugin.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/mainmenu-extension/plugin.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/markdownviewer-extension/plugin.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/notebook-extension/panel.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/notebook-extension/tracker.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/shortcuts-extension/shortcuts.jupyterlab-settings create mode 100644 .jupyter/lab/user-settings/@jupyterlab/statusbar-extension/plugin.jupyterlab-settings create mode 100644 .jupyter/lab/workspaces/auto-0-1753.jupyterlab-workspace create mode 100644 .jupyter/lab/workspaces/auto-d-ab05.jupyterlab-workspace create mode 100644 .jupyter/lab/workspaces/auto-e-23e3.jupyterlab-workspace create mode 100644 .jupyter/lab/workspaces/auto-f-4f86.jupyterlab-workspace create mode 100644 .jupyter/lab/workspaces/auto-i-81a0.jupyterlab-workspace create mode 100644 .jupyter/lab/workspaces/auto-l-8fe7.jupyterlab-workspace create mode 100644 .jupyter/lab/workspaces/auto-q-549e.jupyterlab-workspace create mode 100644 .jupyter/lab/workspaces/default-37a8.jupyterlab-workspace create mode 100644 .jupyter/labconfig/page_config.json create mode 100644 .jupyter/migrated create mode 100644 .local-libraries/clear_run_to_selected-0.3.0-py3-none-any.whl create mode 100644 .local-libraries/tufte-0.7.0-py3-none-any.whl create mode 100644 Files/Using_pylock.ipynb create mode 100644 Files/jl_w_pylock.txt create mode 100644 Files/requirements.txt create mode 100644 Files/test_imports.ipynb create mode 100644 Files/untitled.txt create mode 100644 README.md create mode 100644 main.py create mode 100644 pyproject.toml create mode 100755 s.sh create mode 100755 t.sh create mode 100644 uv.lock create mode 100644 uv.toml diff --git a/.gitignore b/.gitignore new file mode 100644 index 0000000..560b5fe --- /dev/null +++ b/.gitignore @@ -0,0 +1,3 @@ +.ipynb_checkpoints +.venv + diff --git a/.jupyter/data/nbsignatures.db b/.jupyter/data/nbsignatures.db new file mode 100644 index 0000000000000000000000000000000000000000..eb6bb3fceca6b10c5fd9719b3c621e712ea8c936 GIT binary patch literal 24576 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 YvmLm;Gph@5c + + + + + Opening Jupyter Application + + + +

+ This page should redirect you to a Jupyter application. If it doesn't, + click here to go to Jupyter. +

+ + + \ No newline at end of file diff --git a/.jupyter/data/runtime/jpserver-37079.json b/.jupyter/data/runtime/jpserver-37079.json new file mode 100644 index 0000000..a210e34 --- /dev/null +++ b/.jupyter/data/runtime/jpserver-37079.json @@ -0,0 +1,13 @@ +{ + "base_url": "/", + "hostname": "localhost", + "password": false, + "pid": 37079, + "port": 8888, + "root_dir": "/Users/pr/jl_0", + "secure": false, + "sock": "", + "token": "db740a5b7380edae73c8fc4a99018d78d9c6c0fd749f7005", + "url": "http://localhost:8888/", + "version": "2.17.0" +} \ No newline at end of file diff --git a/.jupyter/data/runtime/jpserver-38875-open.html b/.jupyter/data/runtime/jpserver-38875-open.html new file mode 100644 index 0000000..cc90648 --- /dev/null +++ b/.jupyter/data/runtime/jpserver-38875-open.html @@ -0,0 +1,17 @@ + + + + + + + Opening Jupyter Application + + + +

+ This page should redirect you to a Jupyter application. If it doesn't, + click here to go to Jupyter. +

+ + + \ No newline at end of file diff --git a/.jupyter/data/runtime/jpserver-38875.json b/.jupyter/data/runtime/jpserver-38875.json new file mode 100644 index 0000000..d5db941 --- /dev/null +++ b/.jupyter/data/runtime/jpserver-38875.json @@ -0,0 +1,13 @@ +{ + "base_url": "/", + "hostname": "localhost", + "password": false, + "pid": 38875, + "port": 8889, + "root_dir": "/Users/pr/jl_m", + "secure": false, + "sock": "", + "token": "45c8786ad184cdbdbe1bc59567a8260aab423f2a479f8910", + "url": "http://localhost:8889/", + "version": "2.17.0" +} \ No newline at end of file diff --git a/.jupyter/data/runtime/jpserver-41785-open.html b/.jupyter/data/runtime/jpserver-41785-open.html new file mode 100644 index 0000000..38f43e4 --- /dev/null +++ b/.jupyter/data/runtime/jpserver-41785-open.html @@ -0,0 +1,17 @@ + + + + + + + Opening Jupyter Application + + + +

+ This page should redirect you to a Jupyter application. If it doesn't, + click here to go to Jupyter. +

+ + + \ No newline at end of file diff --git a/.jupyter/data/runtime/jpserver-41785.json b/.jupyter/data/runtime/jpserver-41785.json new file mode 100644 index 0000000..6e73214 --- /dev/null +++ b/.jupyter/data/runtime/jpserver-41785.json @@ -0,0 +1,13 @@ +{ + "base_url": "/", + "hostname": "localhost", + "password": false, + "pid": 41785, + "port": 8890, + "root_dir": "/Users/pr/jl_1", + "secure": false, + "sock": "", + "token": "30b639d0719c655bdb593c39c6c8e3d96048d27b637b79a7", + "url": "http://localhost:8890/", + "version": "2.17.0" +} \ No newline at end of file diff --git a/.jupyter/data/runtime/jpserver-44403-open.html b/.jupyter/data/runtime/jpserver-44403-open.html new file mode 100644 index 0000000..f5f7fbd --- /dev/null +++ b/.jupyter/data/runtime/jpserver-44403-open.html @@ -0,0 +1,17 @@ + + + + + + + Opening Jupyter Application + + + +

+ This page should redirect you to a Jupyter application. If it doesn't, + click here to go to Jupyter. +

+ + + \ No newline at end of file diff --git a/.jupyter/data/runtime/jpserver-44403.json b/.jupyter/data/runtime/jpserver-44403.json new file mode 100644 index 0000000..4eabbd1 --- /dev/null +++ b/.jupyter/data/runtime/jpserver-44403.json @@ -0,0 +1,13 @@ +{ + "base_url": "/", + "hostname": "localhost", + "password": false, + "pid": 44403, + "port": 8888, + "root_dir": "/Users/pr/jl_m", + "secure": false, + "sock": "", + "token": "0dbca0cc6e76593802ee2aa2997b2e06c7a2bca0fc5aa43d", + "url": "http://localhost:8888/", + "version": "2.17.0" +} \ No newline at end of file diff --git a/.jupyter/data/runtime/jpserver-46241-open.html b/.jupyter/data/runtime/jpserver-46241-open.html new file mode 100644 index 0000000..e85cbd4 --- /dev/null +++ b/.jupyter/data/runtime/jpserver-46241-open.html @@ -0,0 +1,17 @@ + + + + + + + Opening Jupyter Application + + + +

+ This page should redirect you to a Jupyter application. If it doesn't, + click here to go to Jupyter. +

+ + + \ No newline at end of file diff --git a/.jupyter/data/runtime/jpserver-46241.json b/.jupyter/data/runtime/jpserver-46241.json new file mode 100644 index 0000000..ea35d67 --- /dev/null +++ b/.jupyter/data/runtime/jpserver-46241.json @@ -0,0 +1,13 @@ +{ + "base_url": "/", + "hostname": "localhost", + "password": false, + "pid": 46241, + "port": 8888, + "root_dir": "/Users/pr/jl_m", + "secure": false, + "sock": "", + "token": "3a4abf914f825e9e9802859899352ae7ccde9e364f8eeffc", + "url": "http://localhost:8888/", + "version": "2.17.0" +} \ No newline at end of file diff --git a/.jupyter/data/runtime/jupyter_cookie_secret b/.jupyter/data/runtime/jupyter_cookie_secret new file mode 100644 index 0000000..74af05b --- /dev/null +++ b/.jupyter/data/runtime/jupyter_cookie_secret @@ -0,0 +1 @@ +8xVEWJeV0g7xjQt5DxXy1g9ijzfnr78Y2SimZh5JJ/I= diff --git a/.jupyter/data/runtime/kernel-02560f24-cc0f-4e38-b0a9-fb2de73d52f5.json b/.jupyter/data/runtime/kernel-02560f24-cc0f-4e38-b0a9-fb2de73d52f5.json new file mode 100644 index 0000000..0e3e7ba --- /dev/null +++ b/.jupyter/data/runtime/kernel-02560f24-cc0f-4e38-b0a9-fb2de73d52f5.json @@ -0,0 +1,13 @@ +{ + "shell_port": 52498, + "iopub_port": 52499, + "stdin_port": 52500, + "control_port": 52502, + "hb_port": 52501, + "ip": "127.0.0.1", + "key": "5be9adf2-81b603f633cb91362852f82c", + "transport": "tcp", + "signature_scheme": "hmac-sha256", + "kernel_name": "python3", + "jupyter_session": "/Users/pr/jl_m/Files/Untitled1.ipynb" +} \ No newline at end of file diff --git a/.jupyter/data/runtime/kernel-2a236137-6e38-44de-bf2a-24513fdb8b72.json b/.jupyter/data/runtime/kernel-2a236137-6e38-44de-bf2a-24513fdb8b72.json new file mode 100644 index 0000000..a9946a3 --- /dev/null +++ b/.jupyter/data/runtime/kernel-2a236137-6e38-44de-bf2a-24513fdb8b72.json @@ -0,0 +1,13 @@ +{ + "shell_port": 54551, + "iopub_port": 54552, + "stdin_port": 54553, + "control_port": 54555, + "hb_port": 54554, + "ip": "127.0.0.1", + "key": "edf33638-6350ea25899553ccc7ec2c3a", + "transport": "tcp", + "signature_scheme": "hmac-sha256", + "kernel_name": "python3", + "jupyter_session": "/Users/pr/jl_m/Files/Untitled2.ipynb" +} \ No newline at end of file diff --git a/.jupyter/data/runtime/kernel-2aae1916-b65b-4d93-b976-a673691cc587.json b/.jupyter/data/runtime/kernel-2aae1916-b65b-4d93-b976-a673691cc587.json new file mode 100644 index 0000000..db77071 --- /dev/null +++ b/.jupyter/data/runtime/kernel-2aae1916-b65b-4d93-b976-a673691cc587.json @@ -0,0 +1,13 @@ +{ + "shell_port": 54545, + "iopub_port": 54546, + "stdin_port": 54547, + "control_port": 54549, + "hb_port": 54548, + "ip": "127.0.0.1", + "key": "843aa13c-302b9cde4d2defd06b1c2e0a", + "transport": "tcp", + "signature_scheme": "hmac-sha256", + "kernel_name": "python3", + "jupyter_session": "/Users/pr/jl_m/Files/Untitled1.ipynb" +} \ No newline at end of file diff --git a/.jupyter/data/runtime/kernel-3a7cd087-e045-49cd-ae4e-e8acc1f97e71.json b/.jupyter/data/runtime/kernel-3a7cd087-e045-49cd-ae4e-e8acc1f97e71.json new file mode 100644 index 0000000..08b98e4 --- /dev/null +++ b/.jupyter/data/runtime/kernel-3a7cd087-e045-49cd-ae4e-e8acc1f97e71.json @@ -0,0 +1,13 @@ +{ + "shell_port": 56109, + "iopub_port": 56110, + "stdin_port": 56111, + "control_port": 56113, + "hb_port": 56112, + "ip": "127.0.0.1", + "key": "1ec7d5b3-aaa26487aff5bf75afff082a", + "transport": "tcp", + "signature_scheme": "hmac-sha256", + "kernel_name": "python3", + "jupyter_session": "/Users/pr/jl_1/Files/Using_pylock.ipynb" +} \ No newline at end of file diff --git a/.jupyter/data/runtime/kernel-50661378-9e2d-4de3-8809-b9d935629f55.json b/.jupyter/data/runtime/kernel-50661378-9e2d-4de3-8809-b9d935629f55.json new file mode 100644 index 0000000..2d54054 --- /dev/null +++ b/.jupyter/data/runtime/kernel-50661378-9e2d-4de3-8809-b9d935629f55.json @@ -0,0 +1,13 @@ +{ + "shell_port": 52546, + "iopub_port": 52547, + "stdin_port": 52548, + "control_port": 52550, + "hb_port": 52549, + "ip": "127.0.0.1", + "key": "6425a465-4df98aaf0143ab5c2201ed56", + "transport": "tcp", + "signature_scheme": "hmac-sha256", + "kernel_name": "python3", + "jupyter_session": "/Users/pr/jl_m/Files/Untitled2.ipynb" +} \ No newline at end of file diff --git a/.jupyter/data/runtime/kernel-8132e889-2013-453d-80f0-249d9eacb7eb.json b/.jupyter/data/runtime/kernel-8132e889-2013-453d-80f0-249d9eacb7eb.json new file mode 100644 index 0000000..b1ca485 --- /dev/null +++ b/.jupyter/data/runtime/kernel-8132e889-2013-453d-80f0-249d9eacb7eb.json @@ -0,0 +1,13 @@ +{ + "shell_port": 54305, + "iopub_port": 54306, + "stdin_port": 54307, + "control_port": 54309, + "hb_port": 54308, + "ip": "127.0.0.1", + "key": "77f0e5c1-2982525ffd15ec3b2c71fbcf", + "transport": "tcp", + "signature_scheme": "hmac-sha256", + "kernel_name": "python3", + "jupyter_session": "/Users/pr/jl_0/Files/Using_pylock.ipynb" +} \ No newline at end of file diff --git a/.jupyter/data/runtime/kernel-99d2c070-c94e-4c27-a5e8-cc7a423d8a5e.json b/.jupyter/data/runtime/kernel-99d2c070-c94e-4c27-a5e8-cc7a423d8a5e.json new file mode 100644 index 0000000..44b6431 --- /dev/null +++ b/.jupyter/data/runtime/kernel-99d2c070-c94e-4c27-a5e8-cc7a423d8a5e.json @@ -0,0 +1,13 @@ +{ + "shell_port": 56067, + "iopub_port": 56068, + "stdin_port": 56069, + "control_port": 56071, + "hb_port": 56070, + "ip": "127.0.0.1", + "key": "dd00e131-c1bdb9cc074a1f70f095bbed", + "transport": "tcp", + "signature_scheme": "hmac-sha256", + "kernel_name": "python3", + "jupyter_session": "/Users/pr/jl_1/Files/test_imports.ipynb" +} \ No newline at end of file diff --git a/.jupyter/data/runtime/kernel-b4590abf-6e7a-4bdf-94b8-c0398a7da25c.json b/.jupyter/data/runtime/kernel-b4590abf-6e7a-4bdf-94b8-c0398a7da25c.json new file mode 100644 index 0000000..700e149 --- /dev/null +++ b/.jupyter/data/runtime/kernel-b4590abf-6e7a-4bdf-94b8-c0398a7da25c.json @@ -0,0 +1,13 @@ +{ + "shell_port": 54336, + "iopub_port": 54337, + "stdin_port": 54338, + "control_port": 54340, + "hb_port": 54339, + "ip": "127.0.0.1", + "key": "c8a29aa0-0e62a0c4d21156d5e525f427", + "transport": "tcp", + "signature_scheme": "hmac-sha256", + "kernel_name": "python3", + "jupyter_session": "/Users/pr/jl_0/Files/test_imports.ipynb" +} \ No newline at end of file diff --git a/.jupyter/jupyter_lab_config.py b/.jupyter/jupyter_lab_config.py new file mode 100644 index 0000000..60d7ef5 --- /dev/null +++ b/.jupyter/jupyter_lab_config.py @@ -0,0 +1,57 @@ +# Configuration file for jupyter-server. + +from pathlib import Path + +user_home = Path.home().absolute() +project_home = Path(".").absolute() +Files = project_home / "Files" + +## upper_limit is the top of the tree that File Browser can reach +## start_dir is where File Browser starts +upper_limit = project_home +start_dir = Files.relative_to(upper_limit) + + + +c = get_config() #noqa + + +## Allow access to hidden files +c.ContentsManager.allow_hidden = True + +## Globs -- always hidden +c.ContentsManager.hide_globs = [ + '__pycache__', + '*.pyc', + '*.pyo', + '.DS_Store', + '*.so', + '*.dylib', + '*~', + '.venv', + '.jupyter', + '.ipynb_checkpoints', + ] + +c.ContentsManager.root_dir = str(upper_limit) +c.ContentsManager.preferred_dir = str(start_dir) + +## Shutdown +# Shut down the server after N seconds with no kernels +# running and no activity. This can be used together with +# culling idle kernels (MappingKernelManager.cull_idle_timeout) +# to shutdown the Jupyter server when it’s not in use. +# This is not precisely timed: it may shut down up to a minute later. +# 0 (the default) disables this automatic shutdown. +# Default = 0 +c.ServerApp.shutdown_no_activity_timeout = 1 + +## Time to wait for a kernel to terminate before killing it, +# in seconds. When a shutdown request is initiated, the kernel +# will be immediately sent an interrupt (SIGINT), +# followedby a shutdown_request message, after 1/2 of shutdown_wait_time +# it will be sent a terminate (SIGTERM) request, and finally at the end +# of shutdown_wait_time will be killed (SIGKILL). +# terminate and kill may be equivalent on windows. +# Default: 5.0 +c.KernelManager.shutdown_wait_time = 1.0 diff --git a/.jupyter/lab/user-settings/@jupyter-lsp/jupyterlab-lsp/plugin.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyter-lsp/jupyterlab-lsp/plugin.jupyterlab-settings new file mode 100644 index 0000000..15e8e66 --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyter-lsp/jupyterlab-lsp/plugin.jupyterlab-settings @@ -0,0 +1,282 @@ +{ + "language_servers": { + "basedpyright": { + "priority": 50, + "serverSettings": { + "basedpyright.analysis.autoImportCompletions": true, + "basedpyright.analysis.autoSearchPaths": true, + "basedpyright.analysis.extraPaths": [], + "basedpyright.analysis.stubPath": "typings", + "basedpyright.analysis.baselineFile": "", + "basedpyright.analysis.diagnosticMode": "openFilesOnly", + "basedpyright.analysis.diagnosticSeverityOverrides": { + "reportGeneralTypeIssues": "error", + "reportPropertyTypeMismatch": "none", + "reportFunctionMemberAccess": "none", + "reportMissingImports": "error", + "reportMissingModuleSource": "warning", + "reportInvalidTypeForm": "error", + "reportMissingTypeStubs": "none", + "reportImportCycles": "none", + "reportUnusedImport": "none", + "reportUnusedClass": "none", + "reportUnusedFunction": "none", + "reportUnusedVariable": "none", + "reportDuplicateImport": "none", + "reportWildcardImportFromLibrary": "warning", + "reportAbstractUsage": "error", + "reportArgumentType": "error", + "reportAssertTypeFailure": "error", + "reportAssignmentType": "error", + "reportAttributeAccessIssue": "error", + "reportCallIssue": "error", + "reportInconsistentOverload": "error", + "reportIndexIssue": "error", + "reportInvalidTypeArguments": "error", + "reportNoOverloadImplementation": "error", + "reportOperatorIssue": "error", + "reportOptionalSubscript": "error", + "reportOptionalMemberAccess": "error", + "reportOptionalCall": "error", + "reportOptionalIterable": "error", + "reportOptionalContextManager": "error", + "reportOptionalOperand": "error", + "reportRedeclaration": "error", + "reportReturnType": "error", + "reportTypedDictNotRequiredAccess": "error", + "reportUntypedFunctionDecorator": "none", + "reportUntypedClassDecorator": "none", + "reportUntypedBaseClass": "none", + "reportUntypedNamedTuple": "none", + "reportPrivateUsage": "none", + "reportTypeCommentUsage": "none", + "reportPrivateImportUsage": "error", + "reportConstantRedefinition": "none", + "reportDeprecated": "none", + "reportIncompatibleMethodOverride": "none", + "reportIncompatibleVariableOverride": "none", + "reportInconsistentConstructor": "none", + "reportOverlappingOverload": "none", + "reportPossiblyUnboundVariable": "error", + "reportMissingSuperCall": "none", + "reportUninitializedInstanceVariable": "none", + "reportInvalidStringEscapeSequence": "warning", + "reportUnknownParameterType": "none", + "reportUnknownArgumentType": "none", + "reportUnknownLambdaType": "none", + "reportUnknownVariableType": "none", + "reportUnknownMemberType": "none", + "reportMissingParameterType": "none", + "reportMissingTypeArgument": "none", + "reportInvalidTypeVarUse": "warning", + "reportCallInDefaultInitializer": "none", + "reportUnnecessaryIsInstance": "none", + "reportUnnecessaryCast": "none", + "reportUnnecessaryComparison": "none", + "reportUnnecessaryContains": "none", + "reportAssertAlwaysTrue": "warning", + "reportSelfClsParameterName": "warning", + "reportImplicitStringConcatenation": "none", + "reportInvalidStubStatement": "none", + "reportIncompleteStub": "none", + "reportUndefinedVariable": "error", + "reportUnboundVariable": "error", + "reportUnhashable": "error", + "reportUnsupportedDunderAll": "warning", + "reportUnusedCallResult": "none", + "reportUnusedCoroutine": "error", + "reportUnusedExcept": "error", + "reportUnusedExpression": "warning", + "reportUnnecessaryTypeIgnoreComment": "none", + "reportMatchNotExhaustive": "none", + "reportUnreachable": "none", + "reportShadowedImports": "none", + "reportImplicitOverride": "none", + "reportAny": "none", + "reportExplicitAny": "none", + "reportIgnoreCommentWithoutRule": "none", + "reportPrivateLocalImportUsage": "none", + "reportImplicitRelativeImport": "none", + "reportInvalidCast": "none", + "reportUnsafeMultipleInheritance": "none", + "reportUnusedParameter": "hint", + "reportImplicitAbstractClass": "none", + "reportIncompatibleUnannotatedOverride": "none", + "reportUnannotatedClassAttribute": "none", + "reportInvalidAbstractMethod": "none" + }, + "basedpyright.analysis.fileEnumerationTimeout": 10, + "basedpyright.analysis.logLevel": "Information", + "basedpyright.analysis.typeCheckingMode": "standard", + "basedpyright.analysis.typeshedPaths": [], + "basedpyright.analysis.useLibraryCodeForTypes": false, + "basedpyright.disableLanguageServices": false, + "basedpyright.disableTaggedHints": false, + "basedpyright.disableOrganizeImports": false, + "basedpyright.disablePullDiagnostics": false, + "basedpyright.pythonPath": "python", + "basedpyright.venvPath": "", + "basedpyright.importStrategy": "fromEnvironment", + "basedpyright.analysis.inlayHints.variableTypes": true, + "basedpyright.analysis.inlayHints.callArgumentNames": true, + "basedpyright.analysis.inlayHints.callArgumentNamesMatching": false, + "basedpyright.analysis.inlayHints.functionReturnTypes": true, + "basedpyright.analysis.inlayHints.genericTypes": false, + "basedpyright.analysis.useTypingExtensions": false, + "basedpyright.analysis.autoFormatStrings": true + } + }, + "julia-language-server": { + "priority": 50, + "serverSettings": { + "julia.lint.run": false, + "julia.lint.missingrefs": "none", + "julia.lint.disabledDirs": [ + "docs", + "test" + ], + "julia.lint.call": true, + "julia.lint.iter": true, + "julia.lint.nothingcomp": true, + "julia.lint.constif": true, + "julia.lint.lazy": true, + "julia.lint.datadecl": true, + "julia.lint.typeparam": true, + "julia.lint.modname": true, + "julia.lint.pirates": true, + "julia.lint.useoffuncargs": true, + "julia.completionmode": "qualify" + } + }, + "pyrefly": { + "priority": 50, + "serverSettings": { + "python.pyrefly.disableTypeErrors": false, + "python.pyrefly.disableLanguageServices": false + } + }, + "pylsp": { + "priority": 100, + "serverSettings": { + "pylsp.configurationSources": [ + "pycodestyle" + ], + "pylsp.plugins.flake8.config": null, + "pylsp.plugins.flake8.enabled": true, + "pylsp.plugins.flake8.exclude": [ + ".git", + "__pycache__", + "build", + "dist", + ".venv" + ], + "pylsp.plugins.flake8.executable": "flake8", + "pylsp.plugins.flake8.filename": null, + "pylsp.plugins.flake8.hangClosing": null, + "pylsp.plugins.flake8.ignore": [ + "E203", + "E303" + ], + "pylsp.plugins.flake8.maxLineLength": 88, + "pylsp.plugins.flake8.indentSize": null, + "pylsp.plugins.flake8.perFileIgnores": [], + "pylsp.plugins.flake8.select": null, + "pylsp.plugins.jedi.extra_paths": [], + "pylsp.plugins.jedi.environment": null, + "pylsp.plugins.jedi_completion.enabled": true, + "pylsp.plugins.jedi_completion.include_params": true, + "pylsp.plugins.jedi_completion.include_class_objects": true, + "pylsp.plugins.jedi_completion.fuzzy": false, + "pylsp.plugins.jedi_completion.eager": false, + "pylsp.plugins.jedi_completion.resolve_at_most": 25, + "pylsp.plugins.jedi_completion.cache_for": [ + "pandas", + "numpy", + "tensorflow", + "matplotlib" + ], + "pylsp.plugins.jedi_definition.enabled": true, + "pylsp.plugins.jedi_definition.follow_imports": true, + "pylsp.plugins.jedi_definition.follow_builtin_imports": true, + "pylsp.plugins.jedi_hover.enabled": true, + "pylsp.plugins.jedi_references.enabled": true, + "pylsp.plugins.jedi_signature_help.enabled": true, + "pylsp.plugins.jedi_symbols.enabled": true, + "pylsp.plugins.jedi_symbols.all_scopes": true, + "pylsp.plugins.jedi_symbols.include_import_symbols": true, + "pylsp.plugins.mccabe.enabled": true, + "pylsp.plugins.mccabe.threshold": 15, + "pylsp.plugins.preload.enabled": true, + "pylsp.plugins.preload.modules": [], + "pylsp.plugins.pycodestyle.enabled": false, + "pylsp.plugins.pycodestyle.exclude": [], + "pylsp.plugins.pycodestyle.filename": [], + "pylsp.plugins.pycodestyle.select": [], + "pylsp.plugins.pycodestyle.ignore": [], + "pylsp.plugins.pycodestyle.hangClosing": null, + "pylsp.plugins.pycodestyle.maxLineLength": null, + "pylsp.plugins.pycodestyle.indentSize": null, + "pylsp.plugins.pydocstyle.enabled": false, + "pylsp.plugins.pydocstyle.convention": null, + "pylsp.plugins.pydocstyle.addIgnore": [], + "pylsp.plugins.pydocstyle.addSelect": [], + "pylsp.plugins.pydocstyle.ignore": [], + "pylsp.plugins.pydocstyle.select": [], + "pylsp.plugins.pydocstyle.match": "(?!test_).*\\.py", + "pylsp.plugins.pydocstyle.matchDir": "[^\\.].*", + "pylsp.plugins.pyflakes.enabled": false, + "pylsp.plugins.pylint.enabled": false, + "pylsp.plugins.pylint.args": [], + "pylsp.plugins.pylint.executable": null, + "pylsp.plugins.rope_completion.enabled": false, + "pylsp.plugins.rope_completion.eager": false, + "pylsp.plugins.yapf.enabled": false, + "pylsp.rope.extensionModules": null, + "pylsp.rope.ropeFolder": null, + "pylsp.plugins.jedi.env_vars": null + } + }, + "r-languageserver": { + "priority": 50, + "serverSettings": { + "r.lsp.debug": true, + "r.lsp.log_file": null, + "r.lsp.diagnostics": true, + "r.lsp.rich_documentation": true, + "r.lsp.snippet_support": true, + "r.lsp.max_completions": 200, + "r.lsp.lint_cache": false, + "r.lsp.link_file_size_limit": 16384 + } + }, + "texlab": { + "priority": 50, + "serverSettings": { + "rootDirectory": null, + "build.executable": "latexmk", + "build.args": [ + "-pdf", + "-interaction=nonstopmode", + "-synctex=1", + "%f" + ], + "build.onSave": false, + "build.outputDirectory": ".", + "build.forwardSearchAfter": false, + "forwardSearch.executable": null, + "forwardSearch.args": [], + "chktex.onOpenAndSave": false, + "chktex.onEdit": false, + "diagnosticsDelay": 300, + "formatterLineLength": 80, + "latexFormatter": "latexindent", + "latexindent.local": null, + "latexindent.modifyLineBreaks": false + } + } + }, + "loggingConsole": "browser", + "loggingLevel": "warn", + "logAllCommunication": false, + "setTrace": null +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyter-lsp/jupyterlab-lsp/signature.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyter-lsp/jupyterlab-lsp/signature.jupyterlab-settings new file mode 100644 index 0000000..740a1a5 --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyter-lsp/jupyterlab-lsp/signature.jupyterlab-settings @@ -0,0 +1,3 @@ +{ + "disable": true, +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyterlab-contrib/spellchecker/plugin.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab-contrib/spellchecker/plugin.jupyterlab-settings new file mode 100644 index 0000000..99c3b4c --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab-contrib/spellchecker/plugin.jupyterlab-settings @@ -0,0 +1,23 @@ +{ + "theme": "background-box", + "language": "en-us", + "checkComments": true, + "checkStrings": false, + "debounceTime": 200, + "ignore": [ + "JupyterLab", + "Jupyter", + "JupyterHub", + "Voilà", + "Xeus", + "IPython", + "Gennaker", + "gennaker" + ], + "mimeTypes": [ + "text/plain", + "text/x-ipythongfm", + "text/x-latex", + ], + "onlineDictionaries": [] +} diff --git a/.jupyter/lab/user-settings/@jupyterlab/application-extension/context-menu.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/application-extension/context-menu.jupyterlab-settings new file mode 100644 index 0000000..41ff66e --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/application-extension/context-menu.jupyterlab-settings @@ -0,0 +1,590 @@ +{ "contextMenu": [ + { + "command": "shortcuts:edit-keybinding", + "selector": ".jp-Shortcuts-ShortcutKeysContainer", + "disabled": true, + }, + { + "command": "running:kernel-new-console", + "selector": ".jp-RunningSessions-item.jp-mod-kernel", + "disabled": true, + }, + { + "command": "workspace-ui:clone", + "selector": ".jp-RunningSessions-item.jp-mod-workspace", + "rank": 0, + "disabled": true, + }, + { + "command": "fileeditor:undo", + "selector": ".jp-FileEditor", + "disabled": true, + }, + { + "command": "shortcuts:delete-keybinding", + "selector": ".jp-Shortcuts-ShortcutKeysContainer", + "disabled": true, + }, + { + "command": "console:undo", + "selector": ".jp-CodeConsole-promptCell", + "disabled": true, + }, + // { + // "command": "filebrowser:open", + // "selector": ".jp-DirListing-item[data-isdir]", + // "disabled": true, + // }, + { + "command": "notebook:cut-cell", + "selector": ".jp-Notebook .jp-Cell", + "disabled": true, + }, + { + "command": "running:kernel-new-notebook", + "selector": ".jp-RunningSessions-item.jp-mod-kernel", + "disabled": true, + }, + { + "command": "terminal:copy", + "selector": ".jp-Terminal", + "disabled": true, + }, + { + "command": "workspace-ui:rename", + "selector": ".jp-RunningSessions-item.jp-mod-workspace", + "disabled": true, + }, + { + "type": "submenu", + "selector": ".jp-DirListing-item[data-isdir=\"false\"]", + "disabled": true, + "submenu": { + "id": "jp-contextmenu-open-with", + "label": "Open With", + "items": [] + } + }, + { + "command": "filebrowser:open-browser-tab", + "selector": ".jp-DirListing-item[data-isdir=\"false\"]", + "disabled": true, + }, + { + "command": "fileeditor:redo", + "selector": ".jp-FileEditor", + "disabled": true, + }, + { + "command": "shortcuts:add-keybinding", + "selector": ".jp-Shortcuts-Row", + "disabled": true, + }, + { + "command": "console:redo", + "selector": ".jp-CodeConsole-promptCell", + "disabled": true, + }, + { + "command": "notebook:copy-cell", + "selector": ".jp-Notebook .jp-Cell", + "disabled": true, + }, + + { + "command": "terminal:paste", + "selector": ".jp-Terminal", + "disabled": true, + }, + { + "command": "workspace-ui:reset", + "selector": ".jp-RunningSessions-item.jp-mod-workspace", + "disabled": true, + }, + { + "command": "fileeditor:cut", + "selector": ".jp-FileEditor", + "disabled": true, + }, + { + "command": "shortcuts:toggle-selectors", + "selector": ".jp-Shortcuts-Top", + "disabled": true, + }, + { + "command": "notebook:paste-cell-below", + "selector": ".jp-Notebook .jp-Cell", + "disabled": true, + }, + { + "type": "submenu", + "selector": ".jp-RunningSessions-item.jp-mod-kernel", + "disabled": true, + "submenu": { + "id": "jp-contextmenu-connected-sessions", + "label": "Connected Sessions…", + "items": [] + } + }, + { + "command": "terminal:refresh", + "selector": ".jp-Terminal", + "disabled": true, + }, + { + "command": "workspace-ui:delete", + "selector": ".jp-RunningSessions-item.jp-mod-workspace", + "disabled": true, + }, + { + "command": "fileeditor:copy", + "selector": ".jp-FileEditor", + "disabled": true, + }, + { + "command": "shortcuts:reset-all", + "selector": ".jp-Shortcuts-Top", + "disabled": true, + }, + { + "command": "application:close", + "selector": "#jp-main-dock-panel .lm-DockPanel-tabBar .lm-TabBar-tab", + "disabled": true, + }, + { + "command": "application:close-other-tabs", + "selector": "#jp-main-dock-panel .lm-DockPanel-tabBar .lm-TabBar-tab", + "disabled": true, + }, + { + "command": "application:close-all", + "selector": "#jp-main-dock-panel .lm-DockPanel-tabBar .lm-TabBar-tab", + "disabled": true, + }, + { + "type": "separator", + "selector": ".jp-DirListing-item[data-isdir]", + "disabled": true, + }, + { + "type": "separator", + "selector": ".jp-Notebook .jp-Cell", + "disabled": true, + }, + { + "type": "separator", + "selector": ".jp-RunningSessions-item.jp-mod-kernel", + "disabled": true, + }, + { + "command": "workspace-ui:export", + "selector": ".jp-RunningSessions-item.jp-mod-workspace", + "disabled": true, + }, + { + "command": "fileeditor:paste", + "selector": ".jp-FileEditor", + "disabled": true, + }, + { + "command": "application:close-right-tabs", + "selector": "#jp-main-dock-panel .lm-DockPanel-tabBar .lm-TabBar-tab", + "disabled": true, + }, + // { + // "command": "filebrowser:rename", + // "selector": ".jp-DirListing-item[data-isdir]", + // "disabled": true, + // }, + { + "command": "inspector:open", + "selector": ".jp-CodeConsole-promptCell", + "disabled": true, + }, + { + "command": "notebook:delete-cell", + "selector": ".jp-Notebook .jp-Cell", + "disabled": true, + }, + { + "command": "running:kernel-shut-down", + "selector": ".jp-RunningSessions-item.jp-mod-kernel", + "disabled": true, + }, + { + "type": "separator", + "selector": ".jp-RunningSessions-item.jp-mod-workspace", + "disabled": true, + }, + { + "command": "fileeditor:select-all", + "selector": ".jp-FileEditor", + "disabled": true, + }, + { + "command": "recentmenu:reopen-last", + "selector": "#jp-main-dock-panel .lm-DockPanel-tabBar .lm-TabBar-tab", + "disabled": true, + }, + // { + // "command": "filebrowser:delete", + // "selector": ".jp-DirListing-item[data-isdir]", + // "disabled": true, + // }, + { + "type": "separator", + "selector": ".jp-Notebook .jp-Cell", + "disabled": true, + }, + { + "command": "workspace-ui:import", + "selector": ".jp-RunningSessions-section:has(.jp-mod-workspace)", + "disabled": true, + }, + // { + // "command": "filebrowser:cut", + // "selector": ".jp-DirListing-item[data-isdir]", + // "disabled": true, + // }, + { + "command": "notebook:split-cell-at-cursor", + "selector": ".jp-Notebook .jp-Cell", + "disabled": true, + }, + { + "command": "workspace-ui:create-new", + "selector": ".jp-RunningSessions-section:has(.jp-mod-workspace)", + "disabled": true, + }, + // { + // "command": "filebrowser:copy", + // "selector": ".jp-DirListing-item[data-isdir]", + // "disabled": true, + // }, + { + "command": "notebook:merge-cells", + "selector": ".jp-Notebook .jp-Cell", + "disabled": true, + }, + { + "command": "notebook:merge-cell-above", + "selector": ".jp-Notebook .jp-Cell", + "disabled": true, + }, + { + "command": "notebook:merge-cell-below", + "selector": ".jp-Notebook .jp-Cell", + "disabled": true, + }, + // { + // "command": "filebrowser:paste", + // "selector": ".jp-DirListing-content", + // "disabled": true, + // }, + // { + // "command": "filebrowser:duplicate", + // "selector": ".jp-DirListing-item[data-isdir=\"false\"]", + // "disabled": true, + // }, + // { + // "command": "filebrowser:download", + // "selector": ".jp-DirListing-item[data-isdir=\"false\"]", + // "disabled": true, + // }, + { + "type": "separator", + "selector": ".jp-Notebook .jp-Cell", + "disabled": true, + }, + { + "command": "fileeditor:create-console", + "selector": ".jp-FileEditor", + "disabled": true, + }, + { + "command": "filemenu:create-console", + "selector": "[data-type=\"document-title\"].jp-mod-current", + "disabled": true, + }, + { + "command": "console:clear", + "selector": ".jp-CodeConsole-content", + "disabled": true, + }, + { + "type": "separator", + "selector": ".jp-DirListing-item[data-isdir]", + "disabled": true, + }, + { + "command": "notebook:create-output-view", + "selector": ".jp-Notebook .jp-CodeCell", + "disabled": true, + }, + // { + // "command": "fileeditor:markdown-preview", + // "selector": ".jp-FileEditor", + // "disabled": true, + // }, + { + "command": "filebrowser:shutdown", + "selector": ".jp-DirListing-item[data-isdir=\"false\"].jp-mod-running", + "disabled": true, + }, + { + "type": "separator", + "selector": ".jp-Notebook .jp-CodeCell", + "disabled": true, + }, + { + "type": "separator", + "selector": ".jp-DirListing-item[data-isdir]", + "disabled": true, + }, + { + "type": "separator", + "selector": ".MathJax", + "disabled": true, + }, + { + "command": "notebook:clear-cell-output", + "selector": ".jp-Notebook .jp-CodeCell", + "disabled": true, + }, + // { + // "command": "filebrowser:copy-download-link", + // "selector": ".jp-DirListing-item[data-isdir=\"false\"]", + // "disabled": true, + // }, + { + "command": "mathjax:clipboard", + "selector": ".MathJax", + "disabled": true, + }, + { + "command": "mathjax:scale", + "selector": ".MathJax", + "disabled": true, + }, + { + "command": "mathjax:scale", + "selector": ".MathJax", + "disabled": true, + "args": { + "scale": 1.5 + } + }, + { + "type": "separator", + "selector": ".MathJax", + "disabled": true, + }, + { + "command": "notebook:clear-all-cell-outputs", + "selector": ".jp-Notebook", + "disabled": true, + }, + // { + // "command": "filebrowser:copy-path", + // "selector": ".jp-DirListing-item[data-isdir]", + // "disabled": true, + // }, + // { + // "command": "filebrowser:toggle-last-modified", + // "selector": ".jp-DirListing-header", + // "disabled": true, + // }, + // { + // "command": "filebrowser:toggle-file-size", + // "selector": ".jp-DirListing-header", + // "disabled": true, + // }, + // { + // "command": "filebrowser:toggle-file-checkboxes", + // "selector": ".jp-DirListing-header", + // "disabled": true, + // }, + // { + // "command": "filebrowser:toggle-sort-notebooks-first", + // "selector": ".jp-DirListing-header", + // "disabled": true, + // }, + // { + // "command": "filebrowser:share-main", + // "selector": ".jp-DirListing-item[data-isdir]", + // "disabled": true, + // }, + { + "command": "docmanager:rename", + "selector": "[data-type=\"document-title\"]", + "disabled": true, + }, + { + "command": "console:toggle-show-all-kernel-activity", + "selector": ".jp-CodeConsole", + "disabled": true, + }, + { + "type": "separator", + "selector": ".jp-Notebook", + "disabled": true, + }, + { + "command": "docmanager:duplicate", + "selector": "[data-type=\"document-title\"]", + "disabled": true, + }, + { + "command": "notebook:enable-output-scrolling", + "selector": ".jp-Notebook", + "disabled": true, + }, + { + "command": "docmanager:delete", + "selector": "[data-type=\"document-title\"]", + "disabled": true, + }, + { + "command": "notebook:disable-output-scrolling", + "selector": ".jp-Notebook", + "disabled": true, + }, + { + "command": "docmanager:clone", + "selector": "[data-type=\"document-title\"]", + "disabled": true, + }, + { + "command": "docmanager:show-in-file-browser", + "selector": "[data-type=\"document-title\"]", + "disabled": true, + }, + { + "command": "console:restart-kernel", + "selector": ".jp-CodeConsole", + "disabled": true, + }, + { + "type": "separator", + "selector": ".jp-Notebook", + "disabled": true, + }, + { + "command": "notebook:undo-cell-action", + "selector": ".jp-Notebook", + "disabled": true, + }, + { + "command": "notebook:redo-cell-action", + "selector": ".jp-Notebook", + "disabled": true, + }, + { + "command": "notebook:restart-kernel", + "selector": ".jp-Notebook", + "disabled": true, + }, + { + "type": "separator", + "selector": ".jp-Notebook", + "disabled": true, + }, + { + "command": "notebook:create-console", + "selector": ".jp-Notebook", + "disabled": true, + }, + { + "type": "separator", + "selector": ".jp-DirListing-item[data-isdir]", + "disabled": true, + }, + { + "command": "inspector:open", + "selector": ".jp-Notebook", + "disabled": true, + }, + // { + // "command": "filebrowser:create-new-file", + // "selector": ".jp-DirListing-content", + // "disabled": true, + // }, + { + "command": "notebook:create-new", + "selector": ".jp-DirListing-content", + "disabled": true, + "args": { + "isContextMenu": true + } + }, + // { + // "command": "filebrowser:create-new-directory", + // "selector": ".jp-DirListing-content", + // "disabled": true, + // }, + { + "command": "logconsole:open", + "selector": ".jp-Notebook", + "disabled": true, + }, + { + "command": "sidebar:switch", + "selector": ".jp-SideBar .lm-TabBar-tab", + "disabled": true, + }, + { + "command": "__internal:context-menu-info", + "selector": "body", + "disabled": true, + }, + { + "command": "markdownviewer:edit", + "selector": ".jp-RenderedMarkdown", + "disabled": true, + }, + { + "command": "toc:run-cells", + "selector": ".jp-TableOfContents-content[data-document-type=\"notebook\"] .jp-tocItem", + "disabled": true, + }, + + { + "command": "application:toggle-mode", + "selector": ".jp-Activity", + "disabled": false, + }, + { + "command": "application:toggle-header", + "selector": ".jp-Activity", + "disabled": false, + }, + { + "command": "application:toggle-side-tabbar", + "args": {"side": "left"}, + "selector": ".jp-Activity", + "disabled": false, + }, + { + "command": "application:toggle-left-area", + "selector": ".jp-Activity", + "disabled": false, + }, + { + "command": "application:toggle-right-area", + "selector": ".jp-Activity", + "disabled": false, + }, + { + "command": "application:toggle-side-tabbar", + "args": {"side": "right"}, + "selector": ".jp-Activity", + "disabled": false, + }, + { + "command": "application:statusbar-toggle", + "selector": ".jp-Activity", + "disabled": false, + } + ] +} + diff --git a/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/notification.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/notification.jupyterlab-settings new file mode 100644 index 0000000..a008574 --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/notification.jupyterlab-settings @@ -0,0 +1,18 @@ +{ + // Notifications + // @jupyterlab/apputils-extension:notification + // Notifications settings. + // ******************************************* + + // Check for JupyterLab updates + // Whether to check for newer version of JupyterLab or not. It requires `fetchNews` to be `true` to be active. If `true`, it will make a request to a website. + "checkForUpdates": false, + + // Silence all notifications + // If `true`, no toast notifications will be automatically displayed. + "doNotDisturbMode": true, + + // Fetch official Jupyter news + // Whether to fetch news from Jupyter news feed. If `true`, it will make a request to a website. + "fetchNews": "false" +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/palette.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/palette.jupyterlab-settings new file mode 100644 index 0000000..fc9c0ad --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/palette.jupyterlab-settings @@ -0,0 +1,3 @@ +{ + "modal": true +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/sanitizer.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/sanitizer.jupyterlab-settings new file mode 100644 index 0000000..517ccd6 --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/sanitizer.jupyterlab-settings @@ -0,0 +1,5 @@ +{ + // Autolink URL replacement + // Whether to replace URLs with links or not. + "autolink": false +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/sessionDialogs.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/sessionDialogs.jupyterlab-settings new file mode 100644 index 0000000..b4fe627 --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/sessionDialogs.jupyterlab-settings @@ -0,0 +1,3 @@ +{ + "skipKernelRestartDialog": true +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/themes.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/themes.jupyterlab-settings new file mode 100644 index 0000000..e691e0d --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/apputils-extension/themes.jupyterlab-settings @@ -0,0 +1,10 @@ +{ + // Theme + // @jupyterlab/apputils-extension:themes + // Theme manager settings. + // ************************************* + + // Selected Theme + // Application-level visual styling theme. Ignored when Adaptive Theme is enabled. + "theme": "Tufte" +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyterlab/cell-toolbar-extension/plugin.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/cell-toolbar-extension/plugin.jupyterlab-settings new file mode 100644 index 0000000..03cbe68 --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/cell-toolbar-extension/plugin.jupyterlab-settings @@ -0,0 +1,48 @@ +{ + "toolbar": [ + { + "name": "duplicate-cell", + "command": "notebook:duplicate-below", + "args": {}, + "disabled": true, + "rank": 50 + }, + { + "name": "move-cell-up", + "command": "notebook:move-cell-up", + "args": {}, + "disabled": true, + "rank": 50 + }, + { + "name": "move-cell-down", + "command": "notebook:move-cell-down", + "args": {}, + "disabled": true, + "rank": 50 + }, + { + "name": "insert-cell-above", + "command": "notebook:insert-cell-above", + "args": {}, + "disabled": true, + "rank": 50 + }, + { + "name": "insert-cell-below", + "command": "notebook:insert-cell-below", + "args": {}, + "disabled": true, + "rank": 50 + }, + { + "command": "notebook:delete-cell", + "icon": "ui-components:delete", + "name": "delete-cell", + "args": {}, + "disabled": true, + "rank": 50 + } + ], + "showToolbar": false +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyterlab/codemirror-extension/plugin.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/codemirror-extension/plugin.jupyterlab-settings new file mode 100644 index 0000000..1b30ce8 --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/codemirror-extension/plugin.jupyterlab-settings @@ -0,0 +1,5 @@ +{ + "defaultConfig": { + "codeFolding": false + } +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyterlab/extensionmanager-extension/plugin.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/extensionmanager-extension/plugin.jupyterlab-settings new file mode 100644 index 0000000..30e3dea --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/extensionmanager-extension/plugin.jupyterlab-settings @@ -0,0 +1,11 @@ +{ + // Extension Manager + // @jupyterlab/extensionmanager-extension:plugin + // Extension manager settings. + // ********************************************* + + // Enabled Status + // Enables extension manager. + // WARNING: installing untrusted extensions may be unsafe. + "enabled": false +} diff --git a/.jupyter/lab/user-settings/@jupyterlab/filebrowser-extension/browser.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/filebrowser-extension/browser.jupyterlab-settings new file mode 100644 index 0000000..d0f4466 --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/filebrowser-extension/browser.jupyterlab-settings @@ -0,0 +1,12 @@ +{ + "sortNotebooksFirst": true, + "showFullPath": true, + "showHiddenFiles": false, + "navigateToCurrentDirectory": false, + "useFuzzyFilter": false, + "filterDirectories": true, + "showLastModifiedColumn": true, + "showFileSizeColumn": false, + "showFileCheckboxes": false, + "singleClickNavigation": false +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyterlab/filebrowser-extension/widget.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/filebrowser-extension/widget.jupyterlab-settings new file mode 100644 index 0000000..d4eec84 --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/filebrowser-extension/widget.jupyterlab-settings @@ -0,0 +1,36 @@ +{ + "toolbar": [ + { + "name": "new-launcher", + "command": "launcher:create", + "rank": 1 + }, + { + "name": "new-directory", + "command": "filebrowser:create-new-directory", + "rank": 10 + }, + { + "name": "uploader", + "rank": 20 + }, + { + "name": "refresh", + "command": "filebrowser:refresh", + "rank": 30 + }, + { + "name": "gitClone", + "args": {}, + "command": "", + "disabled": true, + "rank": 31 + }, + { + "name": "toggle-file-filter", + "command": "filebrowser:toggle-file-filter", + "rank": 40 + }, + + ] +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyterlab/fileeditor-extension/plugin.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/fileeditor-extension/plugin.jupyterlab-settings new file mode 100644 index 0000000..8fdef6a --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/fileeditor-extension/plugin.jupyterlab-settings @@ -0,0 +1,7 @@ +{ + "editorConfig": { + "codeFolding": true + }, + "scrollPastEnd": true, + "toolbar": [] +} diff --git a/.jupyter/lab/user-settings/@jupyterlab/mainmenu-extension/plugin.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/mainmenu-extension/plugin.jupyterlab-settings new file mode 100644 index 0000000..c794258 --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/mainmenu-extension/plugin.jupyterlab-settings @@ -0,0 +1,862 @@ +{ + +// "jupyter.lab.menus": { +"menus": [ + +{ "disabled": true, "id": "jp-mainmenu-file"}, + +{ "disabled": true, "id": "jp-mainmenu-run"}, + +{ "disabled": true, "id": "jp-mainmenu-kernel"}, + +{ "disabled": true, "id": "jp-mainmenu-tabs"}, + +{ "disabled": true, "id": "jp-mainmenu-view"}, + +// { "disabled": true, "id": "jp-mainmenu-settings"}, + + + +{ "disabled": false, "id": "jp-mainmenu-file2", + "items": [ + { + "command": "launcher:create", + "rank": 5 + }, + { + "type": "submenu", + "submenu": { + "id": "jp-mainmenu-file-new", + "label": "New", + "items": [ + { + "command": "console:create", + "rank": 20 + }, + { + "command": "notebook:create-new", + "rank": 10 + }, + { + "command": "terminal:create-new", + "rank": 10 + }, + { + "command": "fileeditor:create-new", + "rank": 10 + }, + { + "command": "fileeditor:create-new-markdown-file", + "rank": 10 + } + ] + }, + "rank": 1 + }, + { + "command": "docmanager:save", + "rank": 13 + }, + { + "command": "docmanager:save-as", + "rank": 14 + }, + { + "type": "submenu", + "rank": 20, + "submenu": { + "id": "jp-mainmenu-file-workspaces", + "label": "Workspaces", + "items": [ + { + "command": "workspace-ui:open", + "rank": 0 + }, + { + "command": "workspace-ui:create-new", + "rank": 1 + }, + { + "command": "workspace-ui:clone", + "rank": 2 + }, + { + "command": "workspace-ui:rename", + "rank": 3 + }, + { + "command": "workspace-ui:save", + "rank": 4 + }, + { + "command": "workspace-ui:save-as", + "rank": 5 + }, + { + "command": "workspace-ui:import", + "rank": 6 + }, + { + "command": "workspace-ui:export", + "rank": 7 + }, + { + "type": "separator", + "rank": 8 + }, + { + "command": "workspace-ui:reset", + "rank": 9 + }, + { + "command": "workspace-ui:delete", + "rank": 10 + } + ] + } + }, + { + "command": "filemenu:shutdown", + "rank": 99 + } +], +"label": "File", +"mnemonic": -1, +"rank": 1 +}, + +{ "disabled": false, "id": "jp-mainmenu-edit", + "items": [ + { + "command": "editmenu:undo", + "disabled": true + }, + { + "command": "editmenu:redo", + "disabled": true + }, + { + "command": "editmenu:clear-current", + "disabled": true + }, + { + "command": "editmenu:clear-all", + "disabled": true + }, + { + "command": "editmenu:go-to-line", + "disabled": true + }, + { + "command": "notebook:undo-cell-action", + "disabled": true + }, + { + "command": "notebook:redo-cell-action", + "disabled": true + }, + { + "command": "notebook:cut-cell", + "disabled": true + }, + { + "command": "notebook:copy-cell", + "disabled": true + }, + { + "command": "notebook:paste-cell-below", + "disabled": true + }, + { + "command": "notebook:paste-cell-above", + "disabled": true + }, + { + "command": "notebook:paste-and-replace-cell", + "disabled": true + }, + { + "command": "notebook:delete-cell", + "disabled": true + }, + { + "command": "notebook:select-all", + "disabled": true + }, + { + "command": "notebook:deselect-all", + "disabled": true + }, + { + "command": "notebook:move-cell-up", + "disabled": true + }, + { + "command": "notebook:move-cell-down", + "disabled": true + }, + { + "command": "notebook:split-cell-at-cursor", + "disabled": true + }, + { + "command": "notebook:merge-cells", + "disabled": true + }, + { + "command": "notebook:merge-cell-above", + "disabled": true + }, + { + "command": "notebook:merge-cell-below", + "disabled": true + }, + { + "type": "separator", + "rank": 20 + }, + { + "type": "submenu", + "submenu": { + "id": "jp-mainmenu-text_edit:empty", + "label": "Shortcut Reminders", + "items": [ + { "type": "submenu", + "submenu": { + "id": "jp-mainmenu-text_edit:empty2", + "label": "Use Shortcuts, Not These Menu Items", + "items": [ ]}, + "rank": 0}, + { + "command": "filebrowser:copy", + "rank": 200 + }, + { + "command": "filebrowser:cut", + "rank": 210 + }, + { + "command": "filebrowser:paste", + "rank": 220 + } + ] + } + } + ], + "label": "Edit", + "mnemonic": -1, + "rank": 2 + }, + + +{ "disabled": false, "id": "jp-mainmenu-cell", + "items": [ + { + "command": "notebook:cut-cell", + "rank": 5 + }, + { + "command": "notebook:copy-cell", + "rank": 5 + }, + { + "command": "notebook:paste-cell-below", + "rank": 5 + }, + { + "type": "separator", + "rank": 10 + }, + { + "command": "notebook:undo-cell-action", + "rank": 15 + }, + { + "command": "notebook:redo-cell-action", + "rank": 17 + }, + { + "type": "separator", + "rank": 20 + }, + { + "command": "notebook:insert-cell-above", + "rank": 25 + }, + { + "command": "notebook:insert-cell-below", + "rank": 27 + }, + { + "type": "separator", + "rank": 30 + }, + { + "command": "notebook:merge-cell-below", + "rank": 33 + }, + { + "command": "notebook:split-cell-at-cursor", + "rank": 36 + }, + + { + "type": "separator", + "rank": 40 + }, + { + "command": "notebook:change-cell-to-markdown", + "rank": 43 + }, + { + "command": "notebook:change-cell-to-code", + "rank": 46 + }, + { + "command": "notebook:change-cell-to-raw", + "rank": 48 + } + ], + "label": "Cell", + "mnemonic": -1, + "rank": 3 +}, + +{ "disabled": false, "id": "jp-mainmenu-view2", + "items": [ + { + "command": "filebrowser:toggle-hidden-files", + "rank": 0 + }, + { + "command": "apputils:activate-command-palette", + "rank": 1 + }, + { + "command": "viewmenu:line-numbering", + "rank": 2 + }, + { + "command": "viewmenu:match-brackets", + "rank": 3 + }, + { + "command": "viewmenu:word-wrap", + "rank": 4 + }, + { + "type": "submenu", + "rank": 10, + "submenu": { + "id": "jp-mainmenu-view-appearance", + "label": "Appearance", + "items": [ + { + "command": "application:toggle-mode", + "rank": 0 + }, + { + "command": "application:toggle-fullscreen-mode", + "rank": 0 + }, + { + "type": "separator", + "rank": 10 + }, + { + "command": "application:toggle-left-area", + "rank": 11 + }, + { + "command": "application:toggle-side-tabbar", + "rank": 12, + "args": { + "side": "left" + } + }, + { + "command": "application:toggle-right-area", + "rank": 13 + }, + { + "command": "application:toggle-side-tabbar", + "rank": 14, + "args": { + "side": "right" + } + }, + { + "command": "application:toggle-header", + "rank": 15 + }, + { + "type": "separator", + "rank": 50 + }, + { + "command": "application:reset-layout", + "rank": 51 + }, + { + "command": "statusbar:toggle", + "rank": 15 + } + ] + }, + "disabled": false + } + ], + "label": "View", + "mnemonic": -1, + "rank": 4 +}, + + +{ "disabled": false, "id": "jp-mainmenu-run2", +"items": [ + { + "command": "runmenu:run", + "rank": 10 + }, + { + "command": "notebook:run-cell-and-insert-below", + "rank": 10 + }, + { + "command": "notebook:run-cell", + "rank": 10 + }, + { + "type": "separator", + "rank": 20 + }, + { + "command": "kernelmenu:restart-and-clear", + "rank": 100 + }, + { + "command": "notebook:restart-and-run-to-selected", + "rank": 100 + }, + { + "command": "notebook:restart-run-all", + "rank": 100 + }, + { + "type": "separator", + "rank": 200 + }, + { + "command": "kernelmenu:interrupt", + "rank": 1000 + } + +], +"label": "Run", +"mnemonic": -1, +"rank": 5 +}, + +{ "disabled": false, "id": "jp-mainmenu-help", + "items": [ + { + "command": "helpmenu:open", + "rank": 1000 + }, + { + "type": "separator", + "rank": 0.1 + }, + { + "command": "apputils:display-shortcuts", + "rank": 0.1 + }, + { + "type": "separator", + "rank": 0.1 + }, + { + "command": "help:about", + "rank": 0 + }, + { + "type": "separator", + "rank": 0 + }, + { + "type": "separator", + "rank": 2 + }, + { + "command": "help:jupyter-forum", + "rank": 2 + }, + { + "type": "separator", + "rank": 2 + }, + { + "type": "separator", + "rank": 0.1 + }, + { + "command": "inspector:open", + "rank": 0.1 + }, + { + "type": "separator", + "rank": 0.1 + } + ], + "label": "Help", + "mnemonic": -1, + "rank": 1000 +}, +{ + "disabled": false, + "id": "jp-mainmenu-settings", + "items": [ + { + "command": "settingeditor:open", + "rank": 1000 + }, + { + "type": "submenu", + "submenu": { + "id": "jp-mainmenu-settings-apputilstheme", + "label": "Theme", + "items": [ + // { + // "type": "separator" + // }, + { + "command": "apputils:adaptive-theme" + }, + // { + // "type": "separator" + // }, + { + "disabled": true, + "command": "apputils:theme-scrollbars" + }, + // { + // "type": "separator" + // }, + { + "disabled": true, + "command": "apputils:incr-font-size", + "args": { + "key": "code-font-size" + } + }, + { + "disabled": true, + "command": "apputils:decr-font-size", + "args": { + "key": "code-font-size" + } + }, + // { + // "type": "separator" + // }, + { + "disabled": true, + "command": "apputils:incr-font-size", + "args": { + "key": "content-font-size1" + } + }, + { + "disabled": true, + "command": "apputils:decr-font-size", + "args": { + "key": "content-font-size1" + } + }, + // { + // "type": "separator" + // }, + { + "disabled": true, + "command": "apputils:incr-font-size", + "args": { + "key": "ui-font-size1" + } + }, + { + "disabled": true, + "command": "apputils:decr-font-size", + "args": { + "key": "ui-font-size1" + } + } + ] + }, + "rank": 0 + }, + { + "type": "separator", + "rank": 9 + }, + { + "type": "submenu", + "submenu": { + "id": "jp-mainmenu-settings-consoleexecute", + "label": "Console Run Keystroke", + "items": [ + { + "command": "console:interaction-mode", + "args": { + "interactionMode": "terminal" + } + }, + { + "command": "console:interaction-mode", + "args": { + "interactionMode": "notebook" + } + } + ] + }, + "rank": 9 + }, + // { + // "type": "separator", + // "rank": 9 + // }, + // { + // "type": "separator", + // "rank": 100 + // }, + { + "disabled": true, + "command": "extensionmanager:toggle", + "rank": 100 + }, + // "type": "separator", + // "rank": 100 + // }, + // { + // "type": "separator", + // "rank": 1 + // }, + { + "disabled": true, + "type": "submenu", + "rank": 1, + "submenu": { + "id": "jp-mainmenu-settings-language", + "label": "Language" + } + }, + // { + // "type": "separator", + // "rank": 1 + // } + ], + "label": "Settings", + "mnemonic": -1, + "rank": 999 +}, + + + + +// { "disabled": true, "id": "jp-mainmenu-view", +// "items": [ +// { +// "type": "separator", +// "rank": 10 +// }, +// { +// "command": "viewmenu:line-numbering", +// "disabled": true +// }, +// { +// "command": "viewmenu:match-brackets", +// "disabled": true +// }, +// { +// "command": "viewmenu:word-wrap", +// "disabled": true +// }, +// { +// "type": "submenu", +// "rank": 1, +// "submenu": { +// "id": "jp-mainmenu-view-appearance", +// "label": "Appearance", +// "items": [ +// { +// "command": "application:toggle-mode", +// "rank": 0 +// }, +// { +// "command": "application:toggle-presentation-mode", +// "rank": 0 +// }, +// { +// "command": "application:toggle-fullscreen-mode", +// "rank": 0 +// }, +// { +// "type": "separator", +// "rank": 10 +// }, +// { +// "command": "application:toggle-left-area", +// "rank": 11 +// }, +// { +// "command": "application:toggle-side-tabbar", +// "rank": 12, +// "args": { +// "side": "left" +// } +// }, +// { +// "command": "application:toggle-right-area", +// "rank": 13 +// }, +// { +// "command": "application:toggle-side-tabbar", +// "rank": 14, +// "args": { +// "side": "right" +// } +// }, +// { +// "command": "application:toggle-header", +// "rank": 15 +// }, +// { +// "type": "separator", +// "rank": 50 +// }, +// { +// "command": "application:reset-layout", +// "rank": 51 +// }, +// { +// "command": "statusbar:toggle", +// "rank": 15 +// } +// ] +// }, +// "disabled": true +// }, +// { +// "type": "separator", +// "disabled": true +// }, +// { +// "command": "property-inspector:show-panel", +// "disabled": true +// }, +// { +// "type": "separator", +// "disabled": true +// }, +// { +// "command": "apputils:display-notifications", +// "disabled": true +// }, +// { +// "type": "separator", +// "disabled": true +// }, +// { +// "command": "apputils:activate-command-palette", +// "rank": 0 +// }, +// { +// "type": "separator", +// "disabled": true +// }, +// { +// "command": "extensionmanager:show-panel", +// "disabled": true +// }, +// { +// "command": "filebrowser:toggle-hidden-files", +// "disabled": true +// }, +// { +// "type": "separator", +// "disabled": true +// }, +// { +// "command": "logconsole:open", +// "disabled": true +// }, +// { +// "type": "separator", +// "disabled": true +// }, +// { +// "type": "separator", +// "disabled": true +// }, +// { +// "command": "notebook:hide-cell-code", +// "disabled": true +// }, +// { +// "command": "notebook:hide-cell-outputs", +// "disabled": true +// }, +// { +// "command": "notebook:hide-all-cell-code", +// "disabled": true +// }, +// { +// "command": "notebook:hide-all-cell-outputs", +// "disabled": true +// }, +// { +// "type": "separator", +// "disabled": true +// }, +// { +// "command": "notebook:show-cell-code", +// "disabled": true +// }, +// { +// "command": "notebook:show-cell-outputs", +// "disabled": true +// }, +// { +// "command": "notebook:show-all-cell-code", +// "disabled": true +// }, +// { +// "command": "notebook:show-all-cell-outputs", +// "disabled": true +// }, +// { +// "type": "separator", +// "disabled": true +// }, +// { +// "command": "notebook:toggle-render-side-by-side-current", +// "disabled": true +// }, +// { +// "type": "separator", +// "disabled": true +// }, +// { +// "command": "running:show-panel", +// "disabled": true +// }, +// { +// "command": "toc:show-panel", +// "disabled": true +// } +// ], +// "label": "View", +// "mnemonic": -1, +// "rank": 3 +// }, +] +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyterlab/markdownviewer-extension/plugin.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/markdownviewer-extension/plugin.jupyterlab-settings new file mode 100644 index 0000000..864a017 --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/markdownviewer-extension/plugin.jupyterlab-settings @@ -0,0 +1,13 @@ +{ + // Markdown Viewer + // @jupyterlab/markdownviewer-extension:plugin + // Markdown viewer settings. + // ******************************************* + + // Hide Front Matter + // Whether to hide YAML front matter. + // The YAML front matter must be placed at the top of the document, + // started by a line of three dashes (---) and ended by a line of + // three dashes (---) or three points (...). + "hideFrontMatter": true +} diff --git a/.jupyter/lab/user-settings/@jupyterlab/notebook-extension/panel.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/notebook-extension/panel.jupyterlab-settings new file mode 100644 index 0000000..0ea0d8f --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/notebook-extension/panel.jupyterlab-settings @@ -0,0 +1,112 @@ +{ + "toolbar": [ + { + "name": "save", + "args": {}, + "command": "", + "disabled": true, + "rank": 10 + }, + { + "name": "insert", + "args": {}, + "command": "notebook:insert-cell-below", + "disabled": true, + "icon": "ui-components:add", + "rank": 20 + }, + { + "name": "cut", + "args": {}, + "command": "notebook:cut-cell", + "disabled": true, + "rank": 21 + }, + { + "name": "copy", + "args": {}, + "command": "notebook:copy-cell", + "disabled": true, + "rank": 22 + }, + { + "name": "paste", + "args": {}, + "command": "notebook:paste-cell-below", + "disabled": true, + "rank": 23 + }, + { + "name": "run", + "args": {}, + "command": "notebook:run-cell-and-select-next", + "disabled": true, + "rank": 30 + }, + { + "name": "interrupt", + "args": {}, + "command": "notebook:interrupt-kernel", + "disabled": true, + "rank": 31 + }, + { + "name": "restart", + "args": {}, + "command": "notebook:restart-kernel", + "disabled": true, + "rank": 32 + }, + { + "name": "restart-and-run", + "args": {}, + "command": "notebook:restart-run-all", + "disabled": true, + "rank": 33 + }, + { + "name": "cellType", + "args": {}, + "command": "", + "disabled": false, + "rank": 40 + }, + { + "name": "spacer", + "args": {}, + "command": "", + "disabled": false, + "type": "spacer", + "rank": 100 + }, + { + "name": "spacer", + "args": {}, + "command": "", + "disabled": false, + "type": "spacer", + "rank": 100 + }, + { + "name": "kernelName", + "args": {}, + "command": "", + "disabled": true, + "rank": 1000 + }, + { + "name": "executionProgress", + "args": {}, + "command": "", + "disabled": true, + "rank": 1002 + }, + { + "name": "scrollbar", + "args": {}, + "command": "notebook:toggle-virtual-scrollbar", + "disabled": true, + "rank": 1003 + } + ] +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyterlab/notebook-extension/tracker.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/notebook-extension/tracker.jupyterlab-settings new file mode 100644 index 0000000..6a0a382 --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/notebook-extension/tracker.jupyterlab-settings @@ -0,0 +1,39 @@ +{ + "autoStartDefaultKernel": true, + "kernelShutdown": true, + "scrollHeadingToTop": true, + "windowingMode": "none", + "enableKernelInitNotification": false, + "codeCellConfig": { + "lineNumbers": false, + "lineWrap": false + }, + "defaultCell": "code", + "showInputPlaceholder": true, + "inputHistoryScope": "global", + "markdownCellConfig": { + "lineNumbers": false, + "matchBrackets": false + }, + "autoRenderMarkdownCells": false, + "rawCellConfig": { + "lineNumbers": false, + "matchBrackets": false + }, + "scrollPastEnd": true, + "recordTiming": false, + "overscanCount": 1, + "maxNumberOutputs": 50, + "showEditorForReadOnlyMarkdown": true, + "kernelStatus": { + "showOnStatusBar": false, + "showProgress": true + }, + "documentWideUndoRedo": false, + "showHiddenCellsButton": true, + "renderingLayout": "default", + "sideBySideLeftMarginOverride": "10px", + "sideBySideRightMarginOverride": "10px", + "sideBySideOutputRatio": 1, + "accessKernelHistory": false +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyterlab/shortcuts-extension/shortcuts.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/shortcuts-extension/shortcuts.jupyterlab-settings new file mode 100644 index 0000000..46350a0 --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/shortcuts-extension/shortcuts.jupyterlab-settings @@ -0,0 +1,24 @@ +{"shortcuts":[ + {"command":"notebook:copy-cell","keys":["C"],"selector":".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus","disabled":true,"args":{}}, + {"command":"notebook:cut-cell","keys":["X"],"selector":".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus","disabled":true,"args":{}}, + {"command":"notebook:paste-cell-below","keys":["V"],"selector":".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus","disabled":true,"args":{}}, + {"command":"notebook:undo-cell-action","keys":["Z"],"selector":".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus","disabled":true,"args":{}}, + {"command":"notebook:change-cell-to-markdown","keys":["M"],"selector":".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus","disabled":true,"args":{}}, + {"command":"notebook:change-cell-to-code","keys":["Y"],"selector":".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus","disabled":true,"args":{}}, + {"command":"notebook:change-cell-to-raw","keys":["R"],"selector":".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus","disabled":true,"args":{}}, + {"command":"notebook:insert-cell-above","keys":["A"],"selector":".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus","disabled":true,"args":{}}, + {"command":"notebook:insert-cell-below","keys":["B"],"selector":".jp-Notebook.jp-mod-commandMode:not(.jp-mod-readWrite) :focus","disabled":true,"args":{}}, + {"command":"kernelmenu:restart-and-clear","keys":["Alt ,"],"selector":"body","args":{}}, + {"command":"notebook:restart-and-run-to-selected","keys":["Alt ."],"selector":"body","args":{}}, + {"command":"notebook:restart-run-all","keys":["Alt /"],"selector":"body","args":{}}, + {"command":"notebook:copy-cell","keys":["Alt C"],"selector":"body","args":{}}, + {"command":"notebook:cut-cell","keys":["Alt X"],"selector":"body","args":{}}, + {"command":"notebook:paste-cell-below","keys":["Alt V"],"selector":"body","args":{}}, + {"command":"notebook:undo-cell-action","keys":["Alt Z"],"selector":"body","args":{}}, + {"command":"notebook:change-cell-to-markdown","keys":["Alt M"],"selector":"body","args":{}}, + {"command":"notebook:change-cell-to-code","keys":["Alt P"],"selector":"body","args":{}}, + {"command":"notebook:change-cell-to-raw","keys":["Alt R"],"selector":"body","args":{}}, + {"command":"notebook:insert-cell-above","keys":["Alt A"],"selector":"body","args":{}}, + {"command":"notebook:insert-cell-below","keys":["Alt B"],"selector":"body","args":{}} + ] +} \ No newline at end of file diff --git a/.jupyter/lab/user-settings/@jupyterlab/statusbar-extension/plugin.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyterlab/statusbar-extension/plugin.jupyterlab-settings new file mode 100644 index 0000000..ecef492 --- /dev/null +++ b/.jupyter/lab/user-settings/@jupyterlab/statusbar-extension/plugin.jupyterlab-settings @@ -0,0 +1,10 @@ +{ + // Status Bar + // @jupyterlab/statusbar-extension:plugin + // Status Bar settings. + // ************************************** + + // Status Bar Visibility + // Whether to show status bar or not + "visible": false +} \ No newline at end of file diff --git a/.jupyter/lab/workspaces/auto-0-1753.jupyterlab-workspace b/.jupyter/lab/workspaces/auto-0-1753.jupyterlab-workspace new file mode 100644 index 0000000..b1d5dac --- /dev/null +++ b/.jupyter/lab/workspaces/auto-0-1753.jupyterlab-workspace @@ -0,0 +1 @@ +{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":139.5,"file_size":null,"is_selected":18,"last_modified":86.5}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":2,"widgets":["notebook:Files/Using_pylock.ipynb","terminal:1","editor:pylock.toml","editor:Files/requirements.txt","editor:requirements.in","notebook:Files/test_imports.ipynb"]},"current":"terminal:1"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.180835734870317,0.819164265129683,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[{"path":"","contentType":"directory","root":"~/jl_0"},{"path":"requirements.in","contentType":"file","factory":"Editor","root":"~/jl_0"},{"path":"pylock.toml","contentType":"file","factory":"Editor","root":"~/jl_0"},{"path":"requirements.txt","contentType":"file","factory":"Editor","root":"~/jl_0"},{"path":"Files","contentType":"directory","root":"~/jl_0"},{"path":"Files/requirements.txt","contentType":"file","factory":"Editor","root":"~/jl_0"},{"path":"Files/Using_pylock.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_0"},{"path":"Files/test_imports.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_0"},{"path":"test_2.py","contentType":"file","factory":"Editor","root":"~/jl_0"},{"path":"Files/Untitled.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_0"}],"closed":[{"path":"requirements.txt","contentType":"file","factory":"Editor","root":"~/jl_0"},{"path":"Files/Untitled.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_0"},{"path":"Using_pylock.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_0"}]},"file-browser-filebrowser:cwd":{"path":""},"notebook:Files/Using_pylock.ipynb":{"data":{"path":"Files/Using_pylock.ipynb","factory":"Notebook"}},"notebook:Files/test_imports.ipynb":{"data":{"path":"Files/test_imports.ipynb","factory":"Notebook"}},"terminal:1":{"data":{"name":"1"}},"editor:Files/requirements.txt":{"data":{"path":"Files/requirements.txt","factory":"Editor"}},"editor:requirements.in":{"data":{"path":"requirements.in","factory":"Editor"}},"editor:pylock.toml":{"data":{"path":"pylock.toml","factory":"Editor"}}},"metadata":{"id":"auto-0"}} \ No newline at end of file diff --git a/.jupyter/lab/workspaces/auto-d-ab05.jupyterlab-workspace b/.jupyter/lab/workspaces/auto-d-ab05.jupyterlab-workspace new file mode 100644 index 0000000..3aa6002 --- /dev/null +++ b/.jupyter/lab/workspaces/auto-d-ab05.jupyterlab-workspace @@ -0,0 +1 @@ +{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":139.5,"file_size":null,"is_selected":18,"last_modified":86.5}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":1,"widgets":["terminal:1","editor:Files/jl_w_pylock.txt","notebook:Files/test_imports.ipynb","editor:Files/requirements.txt","notebook:Files/Using_pylock.ipynb"]},"current":"editor:Files/jl_w_pylock.txt"},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.180835734870317,0.819164265129683,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[{"path":"Files","contentType":"directory","root":"~/jl_1"},{"path":"Files/jl_w_pylock.txt","contentType":"file","factory":"Editor","root":"~/jl_1"},{"path":"Files/setup_jl.txt","contentType":"file","factory":"Editor","root":"~/jl_1"},{"path":"Files/untitled.txt","contentType":"file","factory":"Editor","root":"~/jl_1"},{"path":"Files/test_imports.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_1"},{"path":"Files/Using_pylock.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_1"},{"path":"Files/requirements.txt","contentType":"file","factory":"Editor","root":"~/jl_1"}],"closed":[{"path":"Files/untitled.txt","contentType":"file","factory":"Editor","root":"~/jl_1"}]},"terminal:1":{"data":{"name":"1"}},"notebook:Files/test_imports.ipynb":{"data":{"path":"Files/test_imports.ipynb","factory":"Notebook"}},"notebook:Files/Using_pylock.ipynb":{"data":{"path":"Files/Using_pylock.ipynb","factory":"Notebook"}},"editor:Files/requirements.txt":{"data":{"path":"Files/requirements.txt","factory":"Editor"}},"editor:Files/jl_w_pylock.txt":{"data":{"path":"Files/jl_w_pylock.txt","factory":"Editor"}}},"metadata":{"id":"auto-D"}} \ No newline at end of file diff --git a/.jupyter/lab/workspaces/auto-e-23e3.jupyterlab-workspace b/.jupyter/lab/workspaces/auto-e-23e3.jupyterlab-workspace new file mode 100644 index 0000000..14978db --- /dev/null +++ b/.jupyter/lab/workspaces/auto-e-23e3.jupyterlab-workspace @@ -0,0 +1 @@ +{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":53.5,"file_size":null,"is_selected":18,"last_modified":40.5}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":["terminal:1"]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.18092832869257522,0.8190716713074248,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[],"closed":[]},"terminal:1":{"data":{"name":"1"}}},"metadata":{"id":"auto-e"}} \ No newline at end of file diff --git a/.jupyter/lab/workspaces/auto-f-4f86.jupyterlab-workspace b/.jupyter/lab/workspaces/auto-f-4f86.jupyterlab-workspace new file mode 100644 index 0000000..32086ef --- /dev/null +++ b/.jupyter/lab/workspaces/auto-f-4f86.jupyterlab-workspace @@ -0,0 +1 @@ +{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":53.5,"file_size":null,"is_selected":18,"last_modified":40.5}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":1,"widgets":["notebook:Files/test_imports.ipynb","editor:Files/untitled.txt","terminal:1"]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.18092832869257522,0.8190716713074248,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[{"path":"Files","contentType":"directory","root":"~/jl_1"},{"path":"Files/untitled.txt","contentType":"file","factory":"Editor","root":"~/jl_1"},{"path":"Files/test_imports.ipynb","contentType":"notebook","factory":"Notebook","root":"~/jl_1"}],"closed":[]},"notebook:Files/test_imports.ipynb":{"data":{"path":"Files/test_imports.ipynb","factory":"Notebook"}},"editor:Files/untitled.txt":{"data":{"path":"Files/untitled.txt","factory":"Editor"}},"terminal:1":{"data":{"name":"1"}}},"metadata":{"id":"auto-f"}} \ No newline at end of file diff --git a/.jupyter/lab/workspaces/auto-i-81a0.jupyterlab-workspace b/.jupyter/lab/workspaces/auto-i-81a0.jupyterlab-workspace new file mode 100644 index 0000000..21f4344 --- /dev/null +++ b/.jupyter/lab/workspaces/auto-i-81a0.jupyterlab-workspace @@ -0,0 +1 @@ +{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":139.5,"file_size":null,"is_selected":18,"last_modified":86.5}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":[]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.2040650406504065,0.7959349593495935,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[],"closed":[]}},"metadata":{"id":"auto-I"}} \ No newline at end of file diff --git a/.jupyter/lab/workspaces/auto-l-8fe7.jupyterlab-workspace b/.jupyter/lab/workspaces/auto-l-8fe7.jupyterlab-workspace new file mode 100644 index 0000000..1bfeec5 --- /dev/null +++ b/.jupyter/lab/workspaces/auto-l-8fe7.jupyterlab-workspace @@ -0,0 +1 @@ +{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":139.5,"file_size":null,"is_selected":18,"last_modified":86.5}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":[]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.17370242214532872,0.8262975778546713,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[],"closed":[]},"file-browser-filebrowser:cwd":{"path":""}},"metadata":{"id":"auto-L"}} \ No newline at end of file diff --git a/.jupyter/lab/workspaces/auto-q-549e.jupyterlab-workspace b/.jupyter/lab/workspaces/auto-q-549e.jupyterlab-workspace new file mode 100644 index 0000000..838ac39 --- /dev/null +++ b/.jupyter/lab/workspaces/auto-q-549e.jupyterlab-workspace @@ -0,0 +1 @@ +{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":139.5,"file_size":null,"is_selected":18,"last_modified":86.5}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":[]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.2040650406504065,0.7959349593495935,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[],"closed":[]}},"metadata":{"id":"auto-Q"}} \ No newline at end of file diff --git a/.jupyter/lab/workspaces/default-37a8.jupyterlab-workspace b/.jupyter/lab/workspaces/default-37a8.jupyterlab-workspace new file mode 100644 index 0000000..482b9ab --- /dev/null +++ b/.jupyter/lab/workspaces/default-37a8.jupyterlab-workspace @@ -0,0 +1 @@ +{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":155.25,"file_size":null,"is_selected":18,"last_modified":91.75}},"layout-restorer:data":{"main":{"dock":{"type":"tab-area","currentIndex":0,"widgets":[]}},"down":{"size":0,"widgets":[]},"left":{"collapsed":false,"visible":true,"current":"filebrowser","widgets":["filebrowser","running-sessions","@jupyterlab/toc:plugin"],"widgetStates":{"jp-running-sessions":{"sizes":[0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666,0.16666666666666666],"expansionStates":[false,false,false,false,false,false]}}},"right":{"collapsed":true,"visible":true,"widgets":["jp-property-inspector"],"widgetStates":{}},"relativeSizes":[0.22153574580759047,0.7784642541924095,0],"top":{"simpleVisibility":true}},"docmanager:recents":{"opened":[{"path":"Files","contentType":"directory","root":"~/jl_0"},{"path":"","contentType":"directory","root":"~/jl_0"},{"path":"s.sh","contentType":"file","factory":"Editor","root":"~/jl_0"}],"closed":[{"path":"s.sh","contentType":"file","factory":"Editor","root":"~/jl_0"}]},"file-browser-filebrowser:cwd":{"path":"Files"}},"metadata":{"id":"default"}} \ No newline at end of file diff --git a/.jupyter/labconfig/page_config.json b/.jupyter/labconfig/page_config.json new file mode 100644 index 0000000..631f58b --- /dev/null +++ b/.jupyter/labconfig/page_config.json @@ -0,0 +1,5 @@ +{ + "disabledExtensions": { + "@jupyterlab/debugger-extension": true + } +} diff --git a/.jupyter/migrated b/.jupyter/migrated new file mode 100644 index 0000000..65dade8 --- /dev/null +++ b/.jupyter/migrated @@ -0,0 +1 @@ +2025-09-20T00:31:12.276627+00:00 \ No newline at end of file diff --git a/.local-libraries/clear_run_to_selected-0.3.0-py3-none-any.whl b/.local-libraries/clear_run_to_selected-0.3.0-py3-none-any.whl new file mode 100644 index 0000000000000000000000000000000000000000..bc09f2f35aee46722ea51bdfe670ce3914e9b242 GIT binary patch literal 15522 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

wM(nSla3kQ)^8A;Gi2 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�pEl7^G3U>?-r}@S zQc4FZ)?MPdF~z}hO=2!Ei7V$s~P0bnwYmg`-rP_UG}X=xZ{eTduvVO^Rhp z$Suu8D7XSXQr`_u5S+wMNqY1|`K$hfpVyeE0*swUmErjy$VkND+KDp?GO-1{1Nw+S z{r3p~h3N;dkf#->8Y7rVBg=4b93LMPzmyUxPnw!5_gMC+{kk9v;^W{KsNaj9f~=^v zk9JLTFIblpYwC(}|C3xHZ2P8Y&DpoB91BTx4i)22&t52#1AiA$Fj-;r&Z-}stc!{2 zkhwEYUa6e+yfuU0N#8@D+1?^E(7t;3>dnVVGH#7dK9h)ab>Z(M0~6+M>HgJml!=8| zj6lW=v!7i3<%A5*Cncz`Hc+4zS`meF%=hBH#kxaKo`$yvS2lFCIS(uxO+n$|Fwp_? zmVAOFm744{q?+uI6QjnuXFk9qYim+IwtfyOCpz)`6NqbVFF-CKvwxA+`=+ zwu>VskD1`kC(CSYgSSu`z)$rcsb7BK3@=o{!~Xm)TCkPhE4OpJiXXjmA#+6ZF;KopEQxng4Wcr4`n2asWF)%mT#!l-D36;~-JbsA)jSaMJBcq3m(p>CfIWMhe`f{s8%$Ft;S~IX2F9Qyshn=-bY6tf zQV4<)P*G~n9Xh|(eP-seyl>Sw-?+@-eAea~c6%s-+4XX$oe72ZLW|cJU=ugWY;D?1 z&62(2k&3NNO!4liP{sZZYa`0d^y1wO-@gb<<1cgXeHGC4|A`nAcrVDVe8+CrsfCUO z%Cp~jQ+%r|ZksU{ZL{dmM5JPUGyAnw)ei=gCEI(j!K7^pFag6P+xfni zdwqVyKJ`k_TDPj4{2Ut^t!4kCJ?E>!g~&XM%~ za|htY_xgUPZ7d}3xZ7Ss_C#fA=_!-Yas(1lmfY3htJe5uhFKqRB+NNYF4AsPw8*0h zC!Hjvhwnbu!efZU$|=}UAPZ6++id?&Xz23-RNuzN^^}8#uU_5B{3X#cqoM)df|}TJ6T;=By3U- z+&wuJTJCC#L)l#tFD)**IR6aC-Pk5Jz1SC@XjCuzWy^4OVxS?ot0}N6X4mJ3vx>Ez zd(p6S!GA}4!dAi;A`6^dp!iOU0dgJKx(I|1+)3|X+CbZVog+ag@!{VDL9;`RcNh;# z6(p#{@8SZPWclz}PBz%N;{lvGrgPD4c}YUisaU4k)khU`%MZh2KH~TYqA1;5vh@WI zhvWh1`k$m|;+aJ{l%3N>AjZD|)Hn*Z-Qu>_*tbPfMKL~c)}1QYD%KW*uQN*NnS<0) z;Byzi7Vy+1phUZ|tQFI#pV6yK`ZLP)BmF{WrET>Pf>v$$=|cz(S`A(QV>HILq?y+Z zTDO3L@!KSuv<%x4q|lv(&pVyr^;G;;On&Gnqr*Vn&w>d0gBDx-)@et0?BJ_?AQb9p z?JtkfsC^qK@u)N?FpG0odU>Df#&uE$gueq``U6w2bT8>KfYXz{$-)q9CD7cGg?~an zZ<<(nw!S~gEitDEoD}nD0B{W4_8P?ZQUNu^VrK$&xf-%RR8~KRZ`wo@P^fB}73)wU zbn@_7Gc%!N0!~;>67%B1g&t*;?ex#tLMMqG(SpDG@z#s$@Bd;8$<7{E?o+b=5q4c1 z?U@LNQ6D6`BIP)L90ExtQ{+wx`!wscAh!}2j4%^l8Fc}dh1bIq*&SPBwwc^-LdjW) z)tv=p5R7}UfEKWkiHL27w~r1XIj4-GQ!8;su=UAC&v^iUL@tq zbnB9^f?5IZD@&_8_S@Jd_q6I{i?%?hgpPHe1wBP-Pf*Us`I+@Vj}r8SI~+dxzn!Cs z=qOaZ^t&@XEnPtcU*PW`2G0Y_v%Uq|VU%Dr z0#<%?7=n1h9A*x_hogB^4$ZZ~D(4Xdvd;A0$#?+ef=aoAmcg2l4dA30HpTfqm=Q+7 z^VhSFU|f_kxWQ^-{V|AtAL-J78+_JcBtvpGzs_hlwH(~-qwkV$1g$^c^<3xc>K z`M4i$gts%rzF*!C&sb&P*ti2$dk4S#v3X)8C#T{5PPn6I@~UgeS^Qkt0SK}UCat_< z^A-4uWy^&^sd&yK3^1st!0<2@8M%y7U_S`3|MF|`IzW(H<4x6*dp*7PZhap3YprM$ z1vCL;rPMHQJG$jVF5iUZh+{en$_&YhF1cd+>5Lp^Y%Pir^N2WSqFCWdRyCxgK^)9b zwSPP(D7B$%zKjK7Q!;{%uSAHLAoPaOEzNa3WPus8^P_&rnk`ykN5uDCYS73Vtmm); zm;c=Jz{Yj4Xxja)7xYgFG?YY#VJ8>WSfU}}=)I!}p}{#TcCQ^+u|Hi>r8jWxEq;C1 z+?{UbjYX;0Dt53o3hS5DeWrU&-`>)dx~e%ksi(-;4?oD=*WR>sx}r#S z|pRH!qJfb~0)iChYR!8}wG!bIoK80*?6sH2Kn2khd?6ODlw6vh8umH!5>ZB`XW z{-J{~RD)r%q;SKHFW>$;*mgWMu3B4b*PGE*nbk14+H?HUC##d+8IQZjic7JWs8L2F z6mbGdL#^3(d|7L5jsIss%iPuH=ODYDfKLWQWRkTd4&J-HD8b{g!Il=>;+A2DML81S z4MAIUiKA1~(tbbeayutanXfaIo2W?D+wEWg$)HHI~#kjn4{^e25;MVeTLr8AmMlT7ovQZ z*JFn@%Or$sZcuk3Wb=kwmpAkn3Tqp_;=L-~afk+u1 z3$WsdtD+ny0^v5EHmnfe+aqfdMg>q9^CcIAh48|pHGNRB9}%a*)Bx2+T~MuFBJ}dR z>UNn+NltdK!j(=Dl3xU>TdC`nt0M%E90xFrYFyh{u ztbMUD5`l>(U=IRU&FEi4+Z-B=M1hTYq28V@py6S##_mr`F19(r_q1+jeOr+nNi6o* zp}N*h!qw1rnYYTT*+;S=u*F$(Q-r)OVEq=uKK3`$3e9F$KHULOwE@0nw_l!9S5^ixjLh5dtlc!l--5&<}gFHp`M5@tIc2v>Zn?d7Ft<0X``Or2>-E5%{7?@%L&*kguUDzkbuzzvsI~Hmp5Y7?W)4%JTLON;3QJ4aC7E#oq+jG@bjJ_o=783=+7r7P0pb(Wp|4RHmY2u+Bm z8|4L#>*%yDi;ZQ{V%#zU4LhrQ%6DzDL?{p8TfegfUDVFjW1yVaaX3HOZQR1$$5oYR zhZ6%(VS(4l@_OhXZ2)feRnMpMxUSG*9uHbs1-(SFZmPcdn6(=uF+w+ZC5r{VriY>@ z`w5ts`19KfT8Ed#R!|1a@PF*Av!QdC06R(UROcSwl?!ur&qjihlj7=3&_FUQmY0VX zL|HS6A?hQ~edS0PObo3GA*6yr{U!b6v1XhVr#QZvUtv$g3ZPIT2~BX?CG)KI5-o4o zxN<9XfORKku5t}z$$^X@-ORwoI`c9C1w^cQhIL`-a70n94PkSGvs_}4Xwp_iUQfDF z24boD(`$`n0Eh(+W&$ih&}6Po*zn062g$@D(9`Xoegjn-x>xj%B>)LP_P^fC!Ry;$ zFTDUJiGm{a&J0FR(ATcGrPl(yndy<^qdBfh!8`5@EfkOc9XAWh*RGp^f$kb4(lyWo zP)StzXm;I3SDkx?{=7al?bS0M5s=}m2KMIwzOc+?X;_T35ibV=$DNebw(E*AmL@xa z6SLnQZ}UuCYx-kj_8|r{_sJg`ul#FrkRf*zu;hToGdg*6@7US?Q)-ip7X##CF)jc! ze6|mYqWzDvC2%PSf8VSYyhvVM%|jLZNrw%<4T)k2OX~;^8wAc&`obL!ANretM5yG; zf)rYPlp#^jA~QPeQ<*a5E=x-yoD+|f1Q?c=gPbfkJRgm4+(#^1HxrM~D3I$hxL@Qr zrVpjJ-WG&Lz^W38p|~&65rCW!g~3GabfLyFLkLW+-9WQl`U&WDVSCU{FU#E=Tkkq1 zjTufw>X4-1(|~}vUyHGAGKu7Jqh$2=Vb3ZLvx|C1W(-fQ=BcV(r+$8Q@D*O=htnfI z>HM1Zefp>}QIN#bqt^@0VYpLp9s@?LN`3`};$#=kQ4u8P3l3TS19;eLdt~Nwj)eO+ zSPSuJfdMm#Jz=)?XSxprolQ1ieS6{|<}&wWk(9q~7DN578;x+&-5o&p*l4a_%+Nay zr{VMRLfCeN_Q`SEpME$%q16X_QI7GU7d>~0@hSGzp##+wiYExmiw4NUa8fzm5VZAj zz+`Uy#=-c>15V%nvQ1&1VP9>l$TjDX#90rWA&5q*q}5(6#|e7LPB6u9fC&a8<9$ez zpuqLpZ=pC?bJk@~$duUgfp~Rwb>0)G;8g?UzQE&tK%*t#NZpa%L-vGp#sQ}%zibnE ze=7=2%S^W4%Mq+h#Ajp$i@X=bn{U6{>GD#a;qHL!+CQ^m*-qmYy;>>{z{w9!=<)X% zR^2;~EU!J3Xfb+DC`c5EAqpiAD#gZ+e-bE^#bNTIu+U;fC?qElX4o_mu?sf1Io?Gg z4Tf?OJMOr2;9@}%-S9Fp^o_?u|4e}fW zv@9&#UchrA{VrhqZS&3szhDn@l2(#!aWOtM3Qv=mC}R2hP=9rt2OYS=<_yFlVV34Y zU9w*z!2TL1a?|Yo&`+=6oAB#oJNf#sDHLi2V)mgIb0gDg@-1s4%N4;aSaOTL!EJVG zGDx^G8JE`~7}<*tQcA*2`as;1x8Hb$SKSm${oMScbCrD}q~ZZ5F|naI-4DJ{5yh@r&|9|&DKdpBePvmxX*ruk zbQpRMwTmcyV%7*mc|C^ficq6^y^_r%j9@|`F#gB(9ark)XUblXlY0`^in!ljs5x0& z;>jbii$7nw>)o78@?qX>ifV}Zo+Uuv$D=HtM5b3kBgrWMBb*;HN<9aCPsskB6gvcyC( z7@U<|=UYXPr;g74cXHxmg}nE3&v&Wn*oXr5kF}eVn3VHOS*( z^TXoo+N6hME|Y27q-fw@Av^csFEayOSS4B~o?0v6%+u&Y(Z8%1`AO-iim)Si(IR{j zJ+%H!hMB`L)jDN(TeB~uv-0NV_L$y)M6Bg=ruQH0U3{p>Mu70XqbE{zSbCXIqG zP=@>R)QT*RtN%{f=7d!CYSM$_s;lA&*}nB7&_aA;O+JFYlgeihOkTxiH^d7cNB?ev zRGD01jb~$EC|GtSY|%Vu2t?SC2r}$Ad<2dQ$NPYtc*vOTt`zV_Ib z_8yWnGk=9jqD@k!7B(p)T0^w1uUXR&wR|(d8-cn1EaLO7yS~Imd<_cW%X$mHPv1R$Q_nHs+8W&_VF! z5`26sTi333ME%O2>rTQ@filAQ4B`dPF`z>i8kJaKjrXZ@<9dT+EjvPZf`DTz(r@kd zXG#a?9|a#aOFv1+jx#Eu+58=pGsH&elxVwvkL;^6y7|j1GVt@?wYmNNme7o2ZR2Hn zRISLRSyha6R2GfanSGqKQ4xK4zbO4TiuD4Vn$BfH@on^tK3B-p%MLTlXePT*NB7a_ zB-}rpY4b%%nJ!@pPjxVr;N=|Yohrz2{oT#DCLZIx91~H-H@q01Y4g<^zm8yH~##K7{a(1H(Yu;7rszEXDYo+vC^ecYQ-3Ce)G0zZLE;usKZe)_huw|jKR zzw+H;1HhNPoAFN968W#@AI(!|zuo<#X|vFb?`Xs>G`zcbG(Vxipz(E~1d^`La-D*4 zm33oTN!5D2e+!}HEGh|cJj&|azhw=61k`EG{;<^2x9}b}b$ZzlnJPbvoI@1XSdVgZ_dWJ;I!VaK5 z+dc@W`;mA%tdnWK(+Ql0Yw&(=(kAyRAS8tfR zrMp+hMKs&bWw{p9L;)6ud{}Hll^|eCZ?CsDoAH^mNL4JX7Vi(lY2&b#lXR?hX~rJLYVQK)7GK zpTMWo5B>_$>3jsP2B~jy*PxZQ{43QDoP-Y$hY?#T8v!;~eu}<^6NQ|~@1B~uV$yx9 zj#Kx{>f_w~0O_*>K8nal{2XC_lzMOrzaNM|_rb~-{~hoi6N?JNU(G$7qfVbaX4vg; z4;E`wKr#qQ?EjJbBZ69XF;nBuqU(SU6UoRxHCppoZ=Vi(`NMwynSG0O z0H5*mexGzrA^-XO-T8kPHv?0faovk`K#1G3By4er9fMmc;j%2%9fS-To5Kx}OU+tRweS8u*IRNGPV{i@LWUyTUWFPMbA>x zBk&Ai+wCLfzOIec2THO2*W93WzY6ca+i@e}4d(aG^W_2wA3X&hh6}C{<)txA$*U2g zuYHOq zN&QQoca3$8l^TMWo0+5RqNrP`l|VKC6{Dh4xHLLIz>I|T<_es0_HB^7o@gyR6-mcv z!MrNd-zP-smGD921SR)9yt`yHuVI^A(f3AzbaVtS|N?FYBMw*lZ&Pn zX&M1;#ye5h>S(uQ*FRr<{0N7lgZe1z0N!c8F2Ot%EE>)2NHDcY7{5BUJD63+xr{21 z&zMtSl06KcH3YT3%zgWV{sY6Zkg>#qum_Dqdkyme~PWn$f~^FMyD=5IfP+w}EE+dbc$ z7%j>E?!G;>PQarfauO4-J}aqyes44oE}D#8)`^Fhx+T}AV*i@8SeWIj(1?Gdzsar? z)V;aNmMrX#e0jO}&y{O-US2nm^?YD!;P8j5Ho3o4Z5r+Tz3(y3{g)j>D}TI(6yJV@ z!4Eafy<2{yVgh-hWU{Sq%Mp0Iu^bfMBWBOFHZ}v)KXUAeahPm?=b`hrLsmc13{RbP zXNtCowZ*`_PIw0MDToKt0JgfRq8-zvKe&T5{VDbO!8HM2eyE7^B^b1cx)I=5`}cdF zre&|JuUNZzPmQ7{h;_g}hQK>t?V7(etB&&y0@Uy7@b2c%arS1Y2(kWIT^_-mm5+jM z_0ZjKYtu--|B#v?L}Y)-h`T4n41rRSN77<6)P|oQL$&LH>bHF1Mn(sG z1Dt$R$jT&Qr6Uo@KH}Co(ZhWIG%Dd2iNhe&e~j9O^hI(6BJ;#|URko=E(EDP-gE1h zVkMfv%#UNUKzSsa$>)S#E1 z;pB(Vza)B+9!)mcwym*LmbIp&`bG=&`&yGyLQO&0b8~hqJA1`lHd20 zF|?!HLmS$FrE!SdphKS1A<_E>-yBdx`oW!Ag?$YZ@Q0vcZr49q!)3Tk+30ijH zaAE(%9sqzqf4`_uz;eOjZ}5$Lv(_cetzX~4UZ{}#^?cy{4CQg}Y0?WaUP^E>e%6!f zbbV`rgF}Zs&h4AY2F$=eGYl?A6aM{)Z%_Pt{<@W%V8$#^x?E7pG8_DrggUL-+l7+k z(lE=FN@Mb5HCmm}fl#yuQH#K%MGii-;GsX94QKu)(&@@JLnP6~C?~5$5|ygrHXp+_ z+KRSZtCNUVfDK+`bLZ`mmgcmS=H?^8)4@i4R-A%^>sid3f?eUif0)}tCNmqd$K2EG zqr7W()${gI5YCwSd!@b%RzOT&VZJtdr76oGugKjBS+S~4*f6k%MLWk>V%oRc$?cVG zrbua`_gC1)jyJ>;-yWSVSu?s!CY#i&Q(G&pmM5gBj5-TNH1t!W&JlBaly65O1ml&u z2>!BjeqA@+ofmV)wJNrXE!AmUeUnzr_YCyUl(rk{yTz;P4F6Og+VAoP&%Y6$C5vxq zNZ_COw4n-*C*n`0=+TTw8qa7G`L&tXUQR@fTF-tc@tnBy$@=7jP{k&1Znl$P+Q*UIdSEa zRZ35?o0{G6WQgnOaJX((9`~9i-xk>}b25I`k#y!f$u7#mtB<+^J?wFA(@f5>vB+df zWGDz4!hk=8FrKP?jZ^g*r1{laX2iN84md4D+; zP32&6RVw`9JJ6k_J%Ef`=Gp40bx042q&k-JnW-!eGXw4k$7Vv@{wZ-71la!sjIy_} zHSjGO^YN>RmwJ(wrL=&f+1P&3zq71#y!enj<#O0rUVGQJsG0>egxK$Nw}m zxA>O3&PiPib%sIjPp=3n>=Eg;5@}pyxgpA;kAiJy6aSD&df4oU4fY3x+m~7z#k+~q zQKY6V+J2^IX)zqSWNUj#H3_N2dPnUGljcFb9{)&`dHK64i)BFLVE5wHqdnH+-X_08 zi9E&mA|W5T6#nSJ_4;)l>Y7`SSA>zyu9{PKY^?6%j_&?=redp$cfrQ$(zO6=c>(O+U{?FP9VFisK#6duYlc8e)O+l`WDRa0 zB7u3}ybY53@JQ=yq7#sVVKdhtwT54F_L|q%eYH21^tQ?N?R#HUYTA~#{P=7>lA&MdL<9T?F%3+L{yXJ6LPcok%)Ay_Y+KUNVVvy7CyE zND>oMuG4x_zo}Ex_PuZ7TihNUOi1U{{rB*)zEvuT3QDlHgXswlMAC8QKM}VTynj-z z^0+s6Tv>35gUp}9{VCxcmlql))=yp`THWZWQT~~a#~af6Pu048>@y1YrEU75stvMt z0gt>g*rbKxOFA&8b(61y)Pggo>zbebQt6hkJNn+>d@j%$UgMS;hQbqs{I&jQmpF@<@jJaj+v8~GP6)bTv ztNh&$lJ5wiFe20~&0bIHq@mMZhdj>hoymqe8;W+zR=^I8k@;?qfr*)EKSR0zmr}JO4ZSp+6n6T0^o@3RnF5qA5gZ0+A@E-K zY-+`s!i?giriu1})n~F2vW=zn5ECsSagN>~k?P|}&ju_34SD?=Nh+z!UVH6_#3RPF z%A3&}klAn>gbZLS=@*^-kvAO)E-d`I9rkI}(F(5pI&#>%RPzVxc!WL-OCwzn5deFR zfX3qZAhjLQI07(=&ciS);kH}-WoVsWraemps2xuQz8<91-v=61HUv3y%WAX&W|w#+ zPc3}mSaeWO-jv_>=nvY0aq_GK?&8_97Fcpa!#A(vuKI0zi#c(frkYtZBu()_~d^`Fr-EoFRB~> zs$Yf*H?sz5qfMv26nq(b;YfHYb=lz=>hryv&0L|x5I^65^hp2H(I)WFAJfz=rx$Ah zJ@C(dI}Z*!V`=8@%;kjr9su)!4g5-MbClYPK}m3~o8?NRwt01{GZSjm1|f-%zY&pO z7ifSd!r)8ck8gyU`v``eANVI|1#(#8RL)oM3y4#Zr_Rtl{Y1^+0GOY;0;eOx z!bFa!>eQ@`$s%{L23OUlfh41pdMrOUoG*$}iz1TC15wLxMqT0vV_|Gc#dw<6s>r)9 zI&^U;=%qWpvPI3le2rY7h%L~hE*r~o*PiwLv$ISFHNkW7yl?!iwkM>wOcr`vyW!-$ zN}B+~w4?a)aK1>d7Dt;4&uEWty2#_EXx!VhN|S=Xz>G*iSZma&CC^H6GP)Bd&?p6p z*uu!vW#d`yQK$Vrb(YDY$;l@J!;ZN>N&4dDsu?r8YrpkHE-RCPCPXfdcQ$pMX-E$z zavpXLPk9qI;JS@%{tx+k2m>{+yeBFBA+tSQm%F=WyFYKI=&MVSR$i;pi1=!mG`PP) ztWnoS+KmEDuzVYL14YVn6cH6DLtSs~YGqVme8Mx53KH=QHVRGRU*GUp`Z5u(K;|Mf z?saNISfE;V-S{4em7U+F^*9HFA@W7^rwi=Y`qtLUBW>6I541lG%+(`9h0KdtP+ zdRR0<4ZZ`ZWFpdPBA|Z5Ieg-XagUlTiEgp|f5*!wFdIlb7O^Z>78}f$Y4ZPrzo7Uq z(iMDiCV2zR!G}@i@%U%#a9o}kn5kFbth-h-RW`f5zZ^d6RF}f=aS%Y#T_Xso3?GVs z5o^D*`c&%n@K^kw@@;0e3z@Cblt(7_a>O z;_Nu^XA;%TNSY7hpq}W%pMd9rjDV%v;yNhw`7=kCKZ60ErAlloH{xbEZ&r_H`13^6 zF`(6~2GMjnn=n@#7K`qI;(vPoJB>yvN&D%I#TTPc1#{_adhj0m{m-o4e$60padF-n zV#rZs`|_+ALvU`67guU+B)AKoFV z+?fq#Ge%G>{b$^AMqE?hAl4pL0-OU;6Kg}?hCdCxvoHymrm)y?aJw9wJ!c2jl3L8Q zb$~rqn3gNkKos0CrMdq|yes1Wditg@r=GI(qt(4tcjyoGigfE+n*~&*ehL^x`gwayMjX(t=k+?&^BT`)P zDM2P%>T%Oi;GgRRk)g-sYv?xAqJ{KGTzmB2MB@A#9$b>~LeDf@+1y!!KN;>5ytu2@V&Dwb4>1}(^NuQwy_J~c(&0*IG@S@b6CV7Tsof7X2@_tDVhH9 z3fC97eBEwNwDYT6ZQyez@^95&e#e_&@l}OSn(iK+BRM=V6<5-+@Tv2SjNiahTz&V@ z*3egwl%8jXDxU@oiN>!KX7Omkr=uVjm(rtj2|DsMp7Y6YloJw)8_hIz&Q$U)!qcR# z)9(y8gJ_8_wuDyrY7cyEA6)Ne&b~7oJebaLM~#RE_V*wbo0^eXi))0|Q9Md83Th*Z zK~RqN(H%-XtNVQt1yGQN0UgkDo$`*v>eDlosH|4sdwTKZPbxuOJk7l6Ln`mBjCZx(Qp*e4bz+fDq_ zQ-nrtEnWTb%~;n|&+h$UPz}?2o~xKn1JR#yIH341-Be*4t@Cy0aN=N}=D*9A(DHi*iLw~o23qpSaSK^%}!vv6zt{?fyv!4F1S zGmpU@l4c_}_8|&^@rUD5eI7Z-<3%cLAQ;QoKnAu@B4kBoNU-F^h20_qTGQB@+AD6f zx$@XLEf=JG-~inCst@P6-MJJL)Zl=CtYPL%+l(QaUVQQR0waTNT@HQ0peQ{tbc;XD z@zV>xXgTY6fxJM(DMG-fpkDPF5;)(ll!)G%V8U~Eg7#ASY0(UkEB7U)mue0C94H!m zV-=A_K5edm;)$|Gm_)ijBII4 zmhcRFat;V==uJGmTEnC#O;D1#6=57j2sMf_OxA1bn)!pwsS>SQ0}l#cwk6%*Oi7%Ulp7zTr!B$a|PnMyU?4Cf$wOk#*? zF2g-|INUsj)K;q!2U#l)vH~qSlVoX;3HT_|{3~n!j zATJOcpfRz*bf%gO!{kq8zB(hhAwAm5%{{fZszEnD{ef+H6tB#7MR* z!mQm9sOaU6S-gEDDqsU02AQfptYg>+uMOL$@#O@mq^C!oc55@9K2=C(W&lT=e%Yn_(L|!qM5>gN)Sr#GNJj~%iB?nvQRg6MO^EBbDylWZ zVz9cc4b<+WjnI>VoV*HHND}n*Mr=eif|ZVO-!6Jh_LVYU4r!?S0+y_%6eMi0Y#+GD zJtmRme2lr|g+|cvOvqcoZzm(-iEFrpn8EPvr7erKLmt4gmPQ#8g+@$jb%*L#%z``V zTLRM{avBa>I^y#Vnv4yCK`HRz8UQO26`_(jGcdnxaT0h_ZlL&QhyoUzgEUAw!}}wQ zRET2p04gr0m3jkzZyz7RJ_tckzL@kUU^2D`j!d5pDQ6oqS6Z%}MdXR#D4jSDhHiC~ zoTvsZPU;QYS4#ov#fVdLK&W_{F82!LqTG?7@LCj839(OHMyQf??%JkcDaN?>#` zbMh?!2Hj1A^8N{CK&~Y4Nfv$J#r~2-RfT4a!uU(^XrN!o9yX<=R@`TC&Ipw$VHlt5jRMRWHZ(a;>-@tLMj~fHXwe=4`gRS z7@DUD_N6|AtL~oA{#)(wK|YA^)iu42dynyBoHM2WVrB-5IDasa z{^?kPJP+Lhrc!M%PFoR^R*=zg7CIPKMvx;2tz2;9Sad9Le>9#lzPMMMixECl8((Kp zvvqQX*4px6LkC|Z}s_Gapj_DYUG&77~34oFZ$@G7rmn0ZixFU{Q?6_A%{$_3Q$%PO-x%|dj zA?|OK89oBPH5Pfdoi266OW;lJk6xbndlUp3-cZ#lPN=QC>4bP8hpUyLkRHnAnwtIa zQ7dj^1rGy`L@7G76G#q7nLpE@X3u){W76UV6S9*9Ff37K0sGK-hWr*Cd&mEOmGC3T zx8?J1{`voZ{rl-RaE&9K3Mx0-|N7GI&F}>c1h7z6;(ccp!jJn7uGcP}#VLWuw;1<{ zLaxWY^nY-vx4Y=SI6c$ckDpDf8eaKZdus%4u9b8hK_Sm&YVY`^96*f?h2-(Y4zln; zZ-~?`b#&k`a@}p0;sOv`GJ^JLzr}FaHP=Z&&b`!Qtu6McM`h8K&Mf3g8^QFOOk{Po2MW6A&#;g zPFgTfd5?8l9P}Y3C&Legmu`o1JuFZp85}eX$Swn7p)5(}36eZN0L7a}_gAX!3IyW% zAa)Yqs#~Mf+Ka3qlS0%nZ3$cTB10ZPqIxe>rNff~_3nIzVNu_?K}TvJz90$L#H8)S zKgewVWa=El16}91=^T=j3d_5j^|z{JUB`F^DxK=a2zn4J?PYZ2L^hNU+3}WOUEl;# zz7~jB#VU#`W^i~TKtFAz<(1TB zMtfmrgAu!DPl0GYa{0YnePWqTBj>c8e}=s?2+U`(7qv(=9%cXuP@ZH^^m#AR{ zs6ZbSrg>K_63(PLBlUzAj$t1^%5k<6domBfDl=wVM5L4;`ErB{Z@Y$yn4ndo0%}D! z+`nKZWZ@D^`Xj6E46X&ve8T$SfYb9!Toil3h9O_{D9NmStq7%70%tAT4_Ai@(~iw0_^rv0x>M{2ld|?+T&k_QH%z zlkS7@?bBa?K&m?*r-S=CFyoeAvUBk96n?4}qP}O)e&>q=CMDB0J4E?C^_TBUPrvl5 z8K3C2vd2pSt(IU9XCf>utOPEQ$cb{{Z`Xx9^HyWOwCYmz0sBE($iCozD9cbCP}Z}a zc)}M(V3mQjBPZ>39#kETrYEYhiuxtrx|X-vog1N(Yanw|8^a1NgH&lK5fZCWg64!+ z4o@oJNbDxJw1~@q(yUlB1lKlO+Ugl4v7`~Mb7>w+e+E#26X?;HFA#Y2;hfrb; zXBSo|)T5OE@loU^=UFLl&rQaMAJkF?m6GATl?XJ=mDI<~ZUiEQ%yTd`1JvSne{$Ac z7_u_64TwUUEME>H@oW`yxiF%(R9Kp(;5H(R##lC^0%>`B5@A@^f;nOkDq}8N0-=Bn z6yp%JA<^xH2Cb>jxyUy^)2BgXWuWq?junhnipW|-D}rO(m)aLK00qk2wfxr{ILoh| z9EkH6^&gYXT|&(+M_0V3ohvw@#Nr}}58CA!dE4YemN;wg;VlFwlmD^=h!&26{n#_J z69VR-GRhy$J#(nrN&tDQ&EOEesams zGzv>`X;6@a?2E7qHNLdMSlvsK?lLqYhV~gZZojr&W06CN_BkJT18>z+!rZVXM8$;;RB2}RQc=P_2je8Hc~%G!TMQmof*dmCXVjecxQNZ}MoK*Q z9qAyQ9=3q@0JDeeSg69U1%t_iP2;Akdnx1 zK3wbjhnSsIfT7*PhlC>L@AOP;C21FLF?6eZzqIv2rH3u}8Ws(=GPD?}em!+k)!0x4h1do^*FE?hpu7A+F$M5masp>xmF ztWz*@eoQ(Jj&B3?)w1=Lv?#>+4|3^|%=GqB@4xrJ&+tk#@)?>izrR}u_We~ues6w8 z@@aa>=rV}olU#yJzihjOToj|iJ+2ST>K^!+3MT)n1w4UjZzm7R8DBbes{fKLSbBQu zEQATt;pcx*Y3-W#>@)s2;^(M-zRiRL*N~J2yafPM=1#5Kp`(4AGxtwqQso7;uzTi zlha#%-YxxYveJOs*q$~?<5S*Wj>c>Qolq z=86Ga0F|IDGNYeZ#U*yJnoxZ$R4*9N(d!!7Lt4t`GX}P;$OJr3Kr}DL>-;S^HWT=JU~yN&(}o&QoFl zn14Vcg+yY#6UZt$VBKQ~s!v8SszJc=NqT4kt{j&EhG(ah8CYqM2{$24CxNDA0FcQv zE0tF(&3YXN0M<#w%(%JAjG6*y4ld46%Pp|@{apYcava^@L@fkqVsOaR=8Fdp&4BNGg;Lr6A>OMeX5JPO+!(Gi73eyzVn=5P zTi7-}PAzzaYkq3CT=xpK$lq3f`A$0g^k)Hk7;!}Pt1sS{l0u;ho=f_nB>>fai{imz z#xKoy5CSuek>uCcL*n}*MmOzo=>``xLPy%mN|se%)ekKn(r{}aHBfam^-+}lDW9HAy0ti_(9O))gE1CcYOHc&PG^HkfoZ&BLDmW zK{q@R(4=b}4o{D2Ui_ zT0qB(KA(lrX1;vS>m{r;ZgT7T&$)E(j5K{X3r8I&&G2ZHN%>$H@5D?EN?QYZ+jc#} zAX!L%G`KlD8Lw4gaZ*_0M&j^Tnh%oDH0n~+JqqrE8n~2Eqvmxl1_5qnCk(r=x)iWi z7-=SI$=S7EhKlpJR6p~@Z|5pI>+_sntT8n9-Gi&{v-Q{T_`7q7p*%^{<2xQlmMEwH zOTi@aU)7)AFI@{-xLg2kPIWZ3u{<1VXoLVkd}emROfo*MNE1#7zzyV}8|YZ%KPV zOOCBDW#*Q(&}Xug89r+IpJj&3Sv<#a^Qb?Va_>;QhwUag|GdnNSaZ_0pn$>;$N`%E zs=(9P5eb0+{{aTWex^|bJf&yuF)59_&ai#R83d;|7*5WX!+Jb0p^hy9mH}fcc88zJ zOuQ4~@Mi`WOGdP!f@leLee@ic@y(HXXF4rc>c(56X+Zl|rOniQ;T)hrba{Vp+Zp76 zXPxYGVZ~T0KyG3&XD>?`=Mul(9D&W?r_U$-rC91Woh| zezz&%?@dnkm(ZTw(0da_Ma`DlNPr&R_@@$k}s|{tZ$aI>DSu;^WF1dbxEJi@!m-P zH#!b9jy@_~IjTSb^keftr7Mk}z5h5Vu0pFHdO`7YYY!aQQZt}VABw;4uRu1)Cb9O$ z#hXG3x@KsX|GzI}$!p22mzGvYlU3y4(8h0w4Fa%V*PPCwY-DPCp|aYry{)!dAL`FT zxXn(~8M2ck*s-HwM-NfDZh9{}!wd^_3KLgnas8y8r5iJ!sEDb+f-I1GQwYYvy~hfT zirflaRG}i#r#Yo#qs7ents|PQs1&R9&8pQMm^juai;FN+j5QdOU`@s?L@-jcM~^I_ zy+T`vqLNBf7v!WXZ&}k_DytzSxGcLzdxV08*aW@Pli0n{)WAJ_(;HY;(uzS}uzJvv zbL@$sM7T!Vi58N~lrTf9Wd8t|8L_px=K4gFVLm{Cp?1y`kv;2wK>~jIeAx9Vs0gu} zoI|>HB;yiR1|@qhWPxKC-bK?|+zW)4OV6`G_gXTd*UM?w`nKlTot2`Krsho{R%~a_ z+tU**f#)|cmU2qnJJIHmAj_%GD6^1s7-r0@SvO_daEN;X*Nnq)G~Ts$Ilyfk;b#;w zHV-&)ZoQUsGe_4L$*uz9NHhpHJ+4#{S`S`t{NM0^VwvN@;6HOzj0|qYmR)0Dv^?Q0 zZQyM^s5&AeX(ai;U_wzm=l*U2i$Svb^m$CO+r2D27jiRM53Ug5cLeDfB0yf4UoN4s=gKmpP%d}~B_ z(NercLGoV7;iJZ`gQVwXlx=oan2+Sc722praDRe#hDUokGje>RmOwC<`$re}#{Lcb zXfWRA{ouKLDsTj`Pf3Rgr}v;7Zr>;JLQm)4AU4k!+s)tO;=RBWIv|InX&;FK)3%Gr z#tt-^Ej$c;_?OkK6yez^GorpbN{W>E2oF@v6xea9)ha^sZZL>NM<_#;QcR2t40c>mh+x`z~$ZfOqPewr!x~hU8gnU+K1sR z/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 U{Dbhq0^GfaYCZMu_r!qz2UFWBdH?_b literal 0 HcmV?d00001 diff --git a/Files/Using_pylock.ipynb b/Files/Using_pylock.ipynb new file mode 100644 index 0000000..b69944f --- /dev/null +++ b/Files/Using_pylock.ipynb @@ -0,0 +1,126 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "2d3833aa-a58b-4752-9b8e-060fae34ed83", + "metadata": {}, + "outputs": [], + "source": [ + "import re" + ] + }, + { + "cell_type": "code", + "execution_count": 2, + "id": "005fe62c-1bf4-48bc-bc18-5cc46ea2e1ce", + "metadata": {}, + "outputs": [], + "source": [ + "lck = r\"^pylock\\.([^.]+)\\.toml$\"" + ] + }, + { + "cell_type": "code", + "execution_count": 4, + "id": "f3768a43-f740-4590-bf20-fba50486f627", + "metadata": {}, + "outputs": [], + "source": [ + "pl = re.compile(lck)" + ] + }, + { + "cell_type": "code", + "execution_count": 7, + "id": "b5d1fc98-4d71-42b7-a013-bbf18649f6c0", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "None\n" + ] + } + ], + "source": [ + "print(pl.match(\"pylock.toml\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 9, + "id": "b001ae47-6eac-4a18-9a7e-c379df48577d", + "metadata": {}, + "outputs": [ + { + "name": "stdout", + "output_type": "stream", + "text": [ + "\n" + ] + } + ], + "source": [ + "print(pl.match(\"pylock.name.toml\"))" + ] + }, + { + "cell_type": "code", + "execution_count": 13, + "id": "2b86f199-f780-44c1-833e-9e3fc69b9f90", + "metadata": {}, + "outputs": [ + { + "data": { + "text/plain": [ + "'v1'" + ] + }, + "execution_count": 13, + "metadata": {}, + "output_type": "execute_result" + } + ], + "source": [ + "filename = \"pylock.v1.toml\"\n", + "if len(filename) > 11 and filename.startswith(\"pylock.\") and filename.endswith(\".toml\"):\n", + " name = filename.removeprefix(\"pylock.\").removesuffix(\".toml\")\n", + "\n", + "name " + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "8a1d59ef-6c70-4693-a25c-0e58a6e37e21", + "metadata": {}, + "outputs": [], + "source": [ + "uv --version" + ] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Files/jl_w_pylock.txt b/Files/jl_w_pylock.txt new file mode 100644 index 0000000..dc4adf4 --- /dev/null +++ b/Files/jl_w_pylock.txt @@ -0,0 +1,40 @@ +Using pylock.toml: + +1. Create a requirements.in file that has the full path to the local libraries folder: + + .local-libraries/tufte-0.7.0-py3-none-any.whl + .local-libraries/clear_run_to_selected-0.3.0-py3-none-any.whl + +This is somewhat inconvenient because it means that the requirements.in file has to be updated when the version of one of these libraries changes. + + +2. Use uv to create the pylock.toml file: + + uv pip compile requirements.in -o pylock.toml + + +3. Have uv create the venv: + + uv venv + + uv pip sync pylock.toml + + + +4. Use the t.sh script to run Jupyter lab. The script creates environment variables for the Jupyter paths, adds .venv/bin to the PATH and and starts jupyter with the lab option: + + #!/bin/bash + export JUPYTERLAB_SETTINGS_DIR="${PWD}/.jupyter/lab/user-settings" + export JUPYTER_DATA_DIR="${PWD}/.jupyter/data" + export JUPYTER_CONFIG_DIR="${PWD}/.jupyter" + export VIRTUAL_ENV_PROMPT=.venv + export PATH=".venv/bin:$PATH" + jupyter lab + + +5. Note that this approach pins all of the versions, including all the versions for Jupyter Lab. One can argue that this is good in the sense that users will not run new libraries created after the date when the current lock file was generated. However, if we want to always be just 30 days behind the most recent versions, we have to continually: + +- update the update the requirements.in file and the wheels in the local-libraries folder +- recreate the `pylock.toml` file generated from the requirements.in file +- re-run the command `uv pip sync pylock.toml` + diff --git a/Files/requirements.txt b/Files/requirements.txt new file mode 100644 index 0000000..22a10dc --- /dev/null +++ b/Files/requirements.txt @@ -0,0 +1,11 @@ +jupyterlab +pyjson5 +tomlkit +jupyterlab-lsp +python-lsp-server[all]>=1.13.1 +jupyterlab-spellchecker +jupyterlab-code-formatter +black +isort +ipywidgets +jupyterlab-quickopen diff --git a/Files/test_imports.ipynb b/Files/test_imports.ipynb new file mode 100644 index 0000000..d912e08 --- /dev/null +++ b/Files/test_imports.ipynb @@ -0,0 +1,63 @@ +{ + "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "44b3c147-264e-444f-9828-1872dbe730b1", + "metadata": {}, + "outputs": [ + { + "ename": "ModuleNotFoundError", + "evalue": "No module named 'watchdog'", + "output_type": "error", + "traceback": [ + "\u001b[31m---------------------------------------------------------------------------\u001b[39m", + "\u001b[31mModuleNotFoundError\u001b[39m Traceback (most recent call last)", + "\u001b[36mCell\u001b[39m\u001b[36m \u001b[39m\u001b[32mIn[1]\u001b[39m\u001b[32m, line 5\u001b[39m\n\u001b[32m 1\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mpyjson5\u001b[39;00m\n\u001b[32m 3\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mtomlkit\u001b[39;00m\n\u001b[32m----> \u001b[39m\u001b[32m5\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mwatchdog\u001b[39;00m\n\u001b[32m 7\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mnbconvert\u001b[39;00m\n\u001b[32m 9\u001b[39m \u001b[38;5;28;01mimport\u001b[39;00m\u001b[38;5;250m \u001b[39m\u001b[34;01mnbformat\u001b[39;00m\n", + "\u001b[31mModuleNotFoundError\u001b[39m: No module named 'watchdog'" + ] + } + ], + "source": [ + "import pyjson5\n", + "\n", + "import tomlkit\n", + "\n", + "import watchdog\n", + "\n", + "import nbconvert\n", + "\n", + "import nbformat" + ] + }, + { + "cell_type": "code", + "execution_count": null, + "id": "9942d496-edb0-49a4-856a-17930b806376", + "metadata": {}, + "outputs": [], + "source": [] + } + ], + "metadata": { + "kernelspec": { + "display_name": "Python 3 (ipykernel)", + "language": "python", + "name": "python3" + }, + "language_info": { + "codemirror_mode": { + "name": "ipython", + "version": 3 + }, + "file_extension": ".py", + "mimetype": "text/x-python", + "name": "python", + "nbconvert_exporter": "python", + "pygments_lexer": "ipython3", + "version": "3.13.5" + } + }, + "nbformat": 4, + "nbformat_minor": 5 +} diff --git a/Files/untitled.txt b/Files/untitled.txt new file mode 100644 index 0000000..23b76e8 --- /dev/null +++ b/Files/untitled.txt @@ -0,0 +1,38 @@ +Using pylock.toml: + +1. Create a requirements.in file that has full path to the local libraries: + +.local-libraries/tufte-0.7.0-py3-none-any.whl +.local-libraries/clear_run_to_selected-0.3.0-py3-none-any.whl + +This is somewhat inconvenient because it means that the requirements.in file has to be updated when the version of the library changes. + + +2. Use uv to create the pylock.toml file: + + uv pip compile requirements.in -o pylock.toml + + +3. Have uv create the venv: + + uv pip sync pylock.toml + + + +4. Use the t.sh script to run Jupyter lab. The script creates environment variables for the Jupyter paths, adds .venv/bin to the PATH and and starts jupyter with the lab option: + + #!/bin/bash + export JUPYTERLAB_SETTINGS_DIR="${PWD}/.jupyter/lab/user-settings" + export JUPYTER_DATA_DIR="${PWD}/.jupyter/data" + export JUPYTER_CONFIG_DIR="${PWD}/.jupyter" + export VIRTUAL_ENV_PROMPT=.venv + export PATH=".venv/bin:$PATH" + jupyter lab + + +5. Note that this approach pins all of the versions, including all the versions for Jupyter Lab. One can argue that this is good in the sense that users will not run new libraries created after the date when the current lock file was generated. However, if we want to always be just 30 days behind the most recent versions, we have to continually: + +- update the update the requirements.in file and the wheels in the local-libraries folder +- recreate the `pylock.toml` file generated from the requirements.in file +- re-run the command `uv pip sync pylock.toml` + diff --git a/README.md b/README.md new file mode 100644 index 0000000..cacd416 --- /dev/null +++ b/README.md @@ -0,0 +1,12 @@ +README.md + +`jl_0` and `jl_` are configured to use default libraries, including tomlkit, and pyjson5. + +Both use pip so they work offline as long as the venv does not have to be rebuilt. + +Use `s.sh` to rebuild the venv. +Use `t.sh` to activate the venv and start jupyterlab + +It uses the paths that Gennaker specifies so the settings are all local to this folder. + +The `jl_1` folder does essentially the same thing. Use `jl_1` for experiments and `jl_0` as the source of truth about the settings in .jupyter. diff --git a/main.py b/main.py new file mode 100644 index 0000000..8cde782 --- /dev/null +++ b/main.py @@ -0,0 +1 @@ +print("hello world") diff --git a/pyproject.toml b/pyproject.toml new file mode 100644 index 0000000..b6fed49 --- /dev/null +++ b/pyproject.toml @@ -0,0 +1,21 @@ +[project] +name = "lcl_jupyterlab" +description = "An instance of jupyterlab" +authors = [{name = "Paul Romer", email = "paul@paulromer.net"}] +version = "0.1.0" +requires-python = ">=3.13.2" +dependencies = [ + "jupyterlab", + "pyjson5", + "tomlkit", + "jupyterlab-lsp", + "python-lsp-server[all]>=1.13.1", + "jupyterlab-spellchecker", + "jupyterlab-code-formatter", + "black", + "isort", + "ipywidgets", + "jupyterlab-quickopen", + "tufte", + "clear_run_to_selected", +] diff --git a/s.sh b/s.sh new file mode 100755 index 0000000..b0b63b4 --- /dev/null +++ b/s.sh @@ -0,0 +1,18 @@ +#!/bin/bash +if [ -d .venv ]; then + rm -rf .venv +fi + +python3 -m venv .venv --upgrade-deps + +export JUPYTERLAB_SETTINGS_DIR="${PWD}/.jupyter/lab/user-settings" +export JUPYTER_DATA_DIR="${PWD}/.jupyter/data" +export JUPYTER_CONFIG_DIR="${PWD}/.jupyter" + +. .venv/bin/activate + +pip install -r requirements.txt +# pip install --no-index --find-links ./.local-libraries tufte +# pip install --no-index --find-links ./.local-libraries clear-run-to-selected + +jupyter lab diff --git a/t.sh b/t.sh new file mode 100755 index 0000000..ce89df6 --- /dev/null +++ b/t.sh @@ -0,0 +1,7 @@ +#!/bin/bash +export JUPYTERLAB_SETTINGS_DIR="${PWD}/.jupyter/lab/user-settings" +export JUPYTER_DATA_DIR="${PWD}/.jupyter/data" +export JUPYTER_CONFIG_DIR="${PWD}/.jupyter" +export VIRTUAL_ENV_PROMPT=.venv +export PATH=".venv/bin:$PATH" +jupyter lab diff --git a/uv.lock b/uv.lock new file mode 100644 index 0000000..534085a --- /dev/null +++ b/uv.lock @@ -0,0 +1,1950 @@ +version = 1 +revision = 2 +requires-python = ">=3.13.2" +resolution-markers = [ + "python_full_version >= '3.14'", + "python_full_version < '3.14'", +] + +[[package]] +name = "anyio" +version = "4.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "idna" }, + { name = "sniffio" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c6/78/7d432127c41b50bccba979505f272c16cbcadcc33645d5fa3a738110ae75/anyio-4.11.0.tar.gz", hash = "sha256:82a8d0b81e318cc5ce71a5f1f8b5c4e63619620b63141ef8c995fa0db95a57c4", size = 219094, upload-time = "2025-09-23T09:19:12.58Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/15/b3/9b1a8074496371342ec1e796a96f99c82c945a339cd81a8e73de28b4cf9e/anyio-4.11.0-py3-none-any.whl", hash = "sha256:0287e96f4d26d4149305414d4e3bc32f0dcd0862365a4bddea19d7a1ec38c4fc", size = 109097, upload-time = "2025-09-23T09:19:10.601Z" }, +] + +[[package]] +name = "appnope" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/35/5d/752690df9ef5b76e169e68d6a129fa6d08a7100ca7f754c89495db3c6019/appnope-0.1.4.tar.gz", hash = "sha256:1de3860566df9caf38f01f86f65e0e13e379af54f9e4bee1e66b48f2efffd1ee", size = 4170, upload-time = "2024-02-06T09:43:11.258Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/81/29/5ecc3a15d5a33e31b26c11426c45c501e439cb865d0bff96315d86443b78/appnope-0.1.4-py2.py3-none-any.whl", hash = "sha256:502575ee11cd7a28c0205f379b525beefebab9d161b7c964670864014ed7213c", size = 4321, upload-time = "2024-02-06T09:43:09.663Z" }, +] + +[[package]] +name = "argon2-cffi" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "argon2-cffi-bindings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0e/89/ce5af8a7d472a67cc819d5d998aa8c82c5d860608c4db9f46f1162d7dab9/argon2_cffi-25.1.0.tar.gz", hash = "sha256:694ae5cc8a42f4c4e2bf2ca0e64e51e23a040c6a517a85074683d3959e1346c1", size = 45706, upload-time = "2025-06-03T06:55:32.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4f/d3/a8b22fa575b297cd6e3e3b0155c7e25db170edf1c74783d6a31a2490b8d9/argon2_cffi-25.1.0-py3-none-any.whl", hash = "sha256:fdc8b074db390fccb6eb4a3604ae7231f219aa669a2652e0f20e16ba513d5741", size = 14657, upload-time = "2025-06-03T06:55:30.804Z" }, +] + +[[package]] +name = "argon2-cffi-bindings" +version = "25.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5c/2d/db8af0df73c1cf454f71b2bbe5e356b8c1f8041c979f505b3d3186e520a9/argon2_cffi_bindings-25.1.0.tar.gz", hash = "sha256:b957f3e6ea4d55d820e40ff76f450952807013d361a65d7f28acc0acbf29229d", size = 1783441, upload-time = "2025-07-30T10:02:05.147Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/97/3c0a35f46e52108d4707c44b95cfe2afcafc50800b5450c197454569b776/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:3d3f05610594151994ca9ccb3c771115bdb4daef161976a266f0dd8aa9996b8f", size = 54393, upload-time = "2025-07-30T10:01:40.97Z" }, + { url = "https://files.pythonhosted.org/packages/9d/f4/98bbd6ee89febd4f212696f13c03ca302b8552e7dbf9c8efa11ea4a388c3/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:8b8efee945193e667a396cbc7b4fb7d357297d6234d30a489905d96caabde56b", size = 29328, upload-time = "2025-07-30T10:01:41.916Z" }, + { url = "https://files.pythonhosted.org/packages/43/24/90a01c0ef12ac91a6be05969f29944643bc1e5e461155ae6559befa8f00b/argon2_cffi_bindings-25.1.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:3c6702abc36bf3ccba3f802b799505def420a1b7039862014a65db3205967f5a", size = 31269, upload-time = "2025-07-30T10:01:42.716Z" }, + { url = "https://files.pythonhosted.org/packages/d4/d3/942aa10782b2697eee7af5e12eeff5ebb325ccfb86dd8abda54174e377e4/argon2_cffi_bindings-25.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a1c70058c6ab1e352304ac7e3b52554daadacd8d453c1752e547c76e9c99ac44", size = 86558, upload-time = "2025-07-30T10:01:43.943Z" }, + { url = "https://files.pythonhosted.org/packages/0d/82/b484f702fec5536e71836fc2dbc8c5267b3f6e78d2d539b4eaa6f0db8bf8/argon2_cffi_bindings-25.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:e2fd3bfbff3c5d74fef31a722f729bf93500910db650c925c2d6ef879a7e51cb", size = 92364, upload-time = "2025-07-30T10:01:44.887Z" }, + { url = "https://files.pythonhosted.org/packages/c9/c1/a606ff83b3f1735f3759ad0f2cd9e038a0ad11a3de3b6c673aa41c24bb7b/argon2_cffi_bindings-25.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:c4f9665de60b1b0e99bcd6be4f17d90339698ce954cfd8d9cf4f91c995165a92", size = 85637, upload-time = "2025-07-30T10:01:46.225Z" }, + { url = "https://files.pythonhosted.org/packages/44/b4/678503f12aceb0262f84fa201f6027ed77d71c5019ae03b399b97caa2f19/argon2_cffi_bindings-25.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:ba92837e4a9aa6a508c8d2d7883ed5a8f6c308c89a4790e1e447a220deb79a85", size = 91934, upload-time = "2025-07-30T10:01:47.203Z" }, + { url = "https://files.pythonhosted.org/packages/f0/c7/f36bd08ef9bd9f0a9cff9428406651f5937ce27b6c5b07b92d41f91ae541/argon2_cffi_bindings-25.1.0-cp314-cp314t-win32.whl", hash = "sha256:84a461d4d84ae1295871329b346a97f68eade8c53b6ed9a7ca2d7467f3c8ff6f", size = 28158, upload-time = "2025-07-30T10:01:48.341Z" }, + { url = "https://files.pythonhosted.org/packages/b3/80/0106a7448abb24a2c467bf7d527fe5413b7fdfa4ad6d6a96a43a62ef3988/argon2_cffi_bindings-25.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:b55aec3565b65f56455eebc9b9f34130440404f27fe21c3b375bf1ea4d8fbae6", size = 32597, upload-time = "2025-07-30T10:01:49.112Z" }, + { url = "https://files.pythonhosted.org/packages/05/b8/d663c9caea07e9180b2cb662772865230715cbd573ba3b5e81793d580316/argon2_cffi_bindings-25.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:87c33a52407e4c41f3b70a9c2d3f6056d88b10dad7695be708c5021673f55623", size = 28231, upload-time = "2025-07-30T10:01:49.92Z" }, + { url = "https://files.pythonhosted.org/packages/1d/57/96b8b9f93166147826da5f90376e784a10582dd39a393c99bb62cfcf52f0/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:aecba1723ae35330a008418a91ea6cfcedf6d31e5fbaa056a166462ff066d500", size = 54121, upload-time = "2025-07-30T10:01:50.815Z" }, + { url = "https://files.pythonhosted.org/packages/0a/08/a9bebdb2e0e602dde230bdde8021b29f71f7841bd54801bcfd514acb5dcf/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:2630b6240b495dfab90aebe159ff784d08ea999aa4b0d17efa734055a07d2f44", size = 29177, upload-time = "2025-07-30T10:01:51.681Z" }, + { url = "https://files.pythonhosted.org/packages/b6/02/d297943bcacf05e4f2a94ab6f462831dc20158614e5d067c35d4e63b9acb/argon2_cffi_bindings-25.1.0-cp39-abi3-macosx_11_0_arm64.whl", hash = "sha256:7aef0c91e2c0fbca6fc68e7555aa60ef7008a739cbe045541e438373bc54d2b0", size = 31090, upload-time = "2025-07-30T10:01:53.184Z" }, + { url = "https://files.pythonhosted.org/packages/c1/93/44365f3d75053e53893ec6d733e4a5e3147502663554b4d864587c7828a7/argon2_cffi_bindings-25.1.0-cp39-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1e021e87faa76ae0d413b619fe2b65ab9a037f24c60a1e6cc43457ae20de6dc6", size = 81246, upload-time = "2025-07-30T10:01:54.145Z" }, + { url = "https://files.pythonhosted.org/packages/09/52/94108adfdd6e2ddf58be64f959a0b9c7d4ef2fa71086c38356d22dc501ea/argon2_cffi_bindings-25.1.0-cp39-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:d3e924cfc503018a714f94a49a149fdc0b644eaead5d1f089330399134fa028a", size = 87126, upload-time = "2025-07-30T10:01:55.074Z" }, + { url = "https://files.pythonhosted.org/packages/72/70/7a2993a12b0ffa2a9271259b79cc616e2389ed1a4d93842fac5a1f923ffd/argon2_cffi_bindings-25.1.0-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:c87b72589133f0346a1cb8d5ecca4b933e3c9b64656c9d175270a000e73b288d", size = 80343, upload-time = "2025-07-30T10:01:56.007Z" }, + { url = "https://files.pythonhosted.org/packages/78/9a/4e5157d893ffc712b74dbd868c7f62365618266982b64accab26bab01edc/argon2_cffi_bindings-25.1.0-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:1db89609c06afa1a214a69a462ea741cf735b29a57530478c06eb81dd403de99", size = 86777, upload-time = "2025-07-30T10:01:56.943Z" }, + { url = "https://files.pythonhosted.org/packages/74/cd/15777dfde1c29d96de7f18edf4cc94c385646852e7c7b0320aa91ccca583/argon2_cffi_bindings-25.1.0-cp39-abi3-win32.whl", hash = "sha256:473bcb5f82924b1becbb637b63303ec8d10e84c8d241119419897a26116515d2", size = 27180, upload-time = "2025-07-30T10:01:57.759Z" }, + { url = "https://files.pythonhosted.org/packages/e2/c6/a759ece8f1829d1f162261226fbfd2c6832b3ff7657384045286d2afa384/argon2_cffi_bindings-25.1.0-cp39-abi3-win_amd64.whl", hash = "sha256:a98cd7d17e9f7ce244c0803cad3c23a7d379c301ba618a5fa76a67d116618b98", size = 31715, upload-time = "2025-07-30T10:01:58.56Z" }, + { url = "https://files.pythonhosted.org/packages/42/b9/f8d6fa329ab25128b7e98fd83a3cb34d9db5b059a9847eddb840a0af45dd/argon2_cffi_bindings-25.1.0-cp39-abi3-win_arm64.whl", hash = "sha256:b0fdbcf513833809c882823f98dc2f931cf659d9a1429616ac3adebb49f5db94", size = 27149, upload-time = "2025-07-30T10:01:59.329Z" }, +] + +[[package]] +name = "arrow" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "python-dateutil" }, + { name = "tzdata" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b9/33/032cdc44182491aa708d06a68b62434140d8c50820a087fac7af37703357/arrow-1.4.0.tar.gz", hash = "sha256:ed0cc050e98001b8779e84d461b0098c4ac597e88704a655582b21d116e526d7", size = 152931, upload-time = "2025-10-18T17:46:46.761Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ed/c9/d7977eaacb9df673210491da99e6a247e93df98c715fc43fd136ce1d3d33/arrow-1.4.0-py3-none-any.whl", hash = "sha256:749f0769958ebdc79c173ff0b0670d59051a535fa26e8eba02953dc19eb43205", size = 68797, upload-time = "2025-10-18T17:46:45.663Z" }, +] + +[[package]] +name = "astroid" +version = "3.3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/74/dfb75f9ccd592bbedb175d4a32fc643cf569d7c218508bfbd6ea7ef9c091/astroid-3.3.11.tar.gz", hash = "sha256:1e5a5011af2920c7c67a53f65d536d65bfa7116feeaf2354d8b94f29573bb0ce", size = 400439, upload-time = "2025-07-13T18:04:23.177Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/0f/3b8fdc946b4d9cc8cc1e8af42c4e409468c84441b933d037e101b3d72d86/astroid-3.3.11-py3-none-any.whl", hash = "sha256:54c760ae8322ece1abd213057c4b5bba7c49818853fc901ef09719a60dbf9dec", size = 275612, upload-time = "2025-07-13T18:04:21.07Z" }, +] + +[[package]] +name = "asttokens" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4a/e7/82da0a03e7ba5141f05cce0d302e6eed121ae055e0456ca228bf693984bc/asttokens-3.0.0.tar.gz", hash = "sha256:0dcd8baa8d62b0c1d118b399b2ddba3c4aff271d0d7a9e0d4c1681c79035bbc7", size = 61978, upload-time = "2024-11-30T04:30:14.439Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/25/8a/c46dcc25341b5bce5472c718902eb3d38600a903b14fa6aeecef3f21a46f/asttokens-3.0.0-py3-none-any.whl", hash = "sha256:e3078351a059199dd5138cb1c706e6430c05eff2ff136af5eb4790f9d28932e2", size = 26918, upload-time = "2024-11-30T04:30:10.946Z" }, +] + +[[package]] +name = "async-lru" +version = "2.0.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b2/4d/71ec4d3939dc755264f680f6c2b4906423a304c3d18e96853f0a595dfe97/async_lru-2.0.5.tar.gz", hash = "sha256:481d52ccdd27275f42c43a928b4a50c3bfb2d67af4e78b170e3e0bb39c66e5bb", size = 10380, upload-time = "2025-03-16T17:25:36.919Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/03/49/d10027df9fce941cb8184e78a02857af36360d33e1721df81c5ed2179a1a/async_lru-2.0.5-py3-none-any.whl", hash = "sha256:ab95404d8d2605310d345932697371a5f40def0487c03d6d0ad9138de52c9943", size = 6069, upload-time = "2025-03-16T17:25:35.422Z" }, +] + +[[package]] +name = "attrs" +version = "25.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6b/5c/685e6633917e101e5dcb62b9dd76946cbb57c26e133bae9e0cd36033c0a9/attrs-25.4.0.tar.gz", hash = "sha256:16d5969b87f0859ef33a48b35d55ac1be6e42ae49d5e853b597db70c35c57e11", size = 934251, upload-time = "2025-10-06T13:54:44.725Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/2a/7cc015f5b9f5db42b7d48157e23356022889fc354a2813c15934b7cb5c0e/attrs-25.4.0-py3-none-any.whl", hash = "sha256:adcf7e2a1fb3b36ac48d97835bb6d8ade15b8dcce26aba8bf1d14847b57a3373", size = 67615, upload-time = "2025-10-06T13:54:43.17Z" }, +] + +[[package]] +name = "autopep8" +version = "2.0.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycodestyle" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e0/8a/9be661f5400867a09706e29f5ab99a59987fd3a4c337757365e7491fa90b/autopep8-2.0.4.tar.gz", hash = "sha256:2913064abd97b3419d1cc83ea71f042cb821f87e45b9c88cad5ad3c4ea87fe0c", size = 116472, upload-time = "2023-08-26T13:49:59.375Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d8/f2/e63c9f9c485cd90df8e4e7ae90fa3be2469c9641888558c7b45fa98a76f8/autopep8-2.0.4-py2.py3-none-any.whl", hash = "sha256:067959ca4a07b24dbd5345efa8325f5f58da4298dab0dde0443d5ed765de80cb", size = 45340, upload-time = "2023-08-26T13:49:56.111Z" }, +] + +[[package]] +name = "babel" +version = "2.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7d/6b/d52e42361e1aa00709585ecc30b3f9684b3ab62530771402248b1b1d6240/babel-2.17.0.tar.gz", hash = "sha256:0c54cffb19f690cdcc52a3b50bcbf71e07a808d1c80d549f2459b9d2cf0afb9d", size = 9951852, upload-time = "2025-02-01T15:17:41.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/b8/3fe70c75fe32afc4bb507f75563d39bc5642255d1d94f1f23604725780bf/babel-2.17.0-py3-none-any.whl", hash = "sha256:4d0b53093fdfb4b21c92b5213dba5a1b23885afa8383709427046b21c366e5f2", size = 10182537, upload-time = "2025-02-01T15:17:37.39Z" }, +] + +[[package]] +name = "beautifulsoup4" +version = "4.14.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "soupsieve" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/77/e9/df2358efd7659577435e2177bfa69cba6c33216681af51a707193dec162a/beautifulsoup4-4.14.2.tar.gz", hash = "sha256:2a98ab9f944a11acee9cc848508ec28d9228abfd522ef0fad6a02a72e0ded69e", size = 625822, upload-time = "2025-09-29T10:05:42.613Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/94/fe/3aed5d0be4d404d12d36ab97e2f1791424d9ca39c2f754a6285d59a3b01d/beautifulsoup4-4.14.2-py3-none-any.whl", hash = "sha256:5ef6fa3a8cbece8488d66985560f97ed091e22bbc4e9c2338508a9d5de6d4515", size = 106392, upload-time = "2025-09-29T10:05:43.771Z" }, +] + +[[package]] +name = "black" +version = "25.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "click" }, + { name = "mypy-extensions" }, + { name = "packaging" }, + { name = "pathspec" }, + { name = "platformdirs" }, + { name = "pytokens" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/4b/43/20b5c90612d7bdb2bdbcceeb53d588acca3bb8f0e4c5d5c751a2c8fdd55a/black-25.9.0.tar.gz", hash = "sha256:0474bca9a0dd1b51791fcc507a4e02078a1c63f6d4e4ae5544b9848c7adfb619", size = 648393, upload-time = "2025-09-19T00:27:37.758Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/99/3acfea65f5e79f45472c45f87ec13037b506522719cd9d4ac86484ff51ac/black-25.9.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:0172a012f725b792c358d57fe7b6b6e8e67375dd157f64fa7a3097b3ed3e2175", size = 1742165, upload-time = "2025-09-19T00:34:10.402Z" }, + { url = "https://files.pythonhosted.org/packages/3a/18/799285282c8236a79f25d590f0222dbd6850e14b060dfaa3e720241fd772/black-25.9.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:3bec74ee60f8dfef564b573a96b8930f7b6a538e846123d5ad77ba14a8d7a64f", size = 1581259, upload-time = "2025-09-19T00:32:49.685Z" }, + { url = "https://files.pythonhosted.org/packages/f1/ce/883ec4b6303acdeca93ee06b7622f1fa383c6b3765294824165d49b1a86b/black-25.9.0-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:b756fc75871cb1bcac5499552d771822fd9db5a2bb8db2a7247936ca48f39831", size = 1655583, upload-time = "2025-09-19T00:30:44.505Z" }, + { url = "https://files.pythonhosted.org/packages/21/17/5c253aa80a0639ccc427a5c7144534b661505ae2b5a10b77ebe13fa25334/black-25.9.0-cp313-cp313-win_amd64.whl", hash = "sha256:846d58e3ce7879ec1ffe816bb9df6d006cd9590515ed5d17db14e17666b2b357", size = 1343428, upload-time = "2025-09-19T00:32:13.839Z" }, + { url = "https://files.pythonhosted.org/packages/1b/46/863c90dcd3f9d41b109b7f19032ae0db021f0b2a81482ba0a1e28c84de86/black-25.9.0-py3-none-any.whl", hash = "sha256:474b34c1342cdc157d307b56c4c65bce916480c4a8f6551fdc6bf9b486a7c4ae", size = 203363, upload-time = "2025-09-19T00:27:35.724Z" }, +] + +[[package]] +name = "bleach" +version = "6.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/9a/0e33f5054c54d349ea62c277191c020c2d6ef1d65ab2cb1993f91ec846d1/bleach-6.2.0.tar.gz", hash = "sha256:123e894118b8a599fd80d3ec1a6d4cc7ce4e5882b1317a7e1ba69b56e95f991f", size = 203083, upload-time = "2024-10-29T18:30:40.477Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/55/96142937f66150805c25c4d0f31ee4132fd33497753400734f9dfdcbdc66/bleach-6.2.0-py3-none-any.whl", hash = "sha256:117d9c6097a7c3d22fd578fcd8d35ff1e125df6736f554da4e432fdd63f31e5e", size = 163406, upload-time = "2024-10-29T18:30:38.186Z" }, +] + +[package.optional-dependencies] +css = [ + { name = "tinycss2" }, +] + +[[package]] +name = "certifi" +version = "2025.10.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/5b/b6ce21586237c77ce67d01dc5507039d444b630dd76611bbca2d8e5dcd91/certifi-2025.10.5.tar.gz", hash = "sha256:47c09d31ccf2acf0be3f701ea53595ee7e0b8fa08801c6624be771df09ae7b43", size = 164519, upload-time = "2025-10-05T04:12:15.808Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e4/37/af0d2ef3967ac0d6113837b44a4f0bfe1328c2b9763bd5b1744520e5cfed/certifi-2025.10.5-py3-none-any.whl", hash = "sha256:0f212c2744a9bb6de0c56639a6f68afe01ecd92d91f14ae897c4fe7bbeeef0de", size = 163286, upload-time = "2025-10-05T04:12:14.03Z" }, +] + +[[package]] +name = "cffi" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pycparser", marker = "implementation_name != 'PyPy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/56/b1ba7935a17738ae8453301356628e8147c79dbb825bcbc73dc7401f9846/cffi-2.0.0.tar.gz", hash = "sha256:44d1b5909021139fe36001ae048dbdde8214afa20200eda0f64c068cac5d5529", size = 523588, upload-time = "2025-09-08T23:24:04.541Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4b/8d/a0a47a0c9e413a658623d014e91e74a50cdd2c423f7ccfd44086ef767f90/cffi-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:00bdf7acc5f795150faa6957054fbbca2439db2f775ce831222b66f192f03beb", size = 185230, upload-time = "2025-09-08T23:23:00.879Z" }, + { url = "https://files.pythonhosted.org/packages/4a/d2/a6c0296814556c68ee32009d9c2ad4f85f2707cdecfd7727951ec228005d/cffi-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:45d5e886156860dc35862657e1494b9bae8dfa63bf56796f2fb56e1679fc0bca", size = 181043, upload-time = "2025-09-08T23:23:02.231Z" }, + { url = "https://files.pythonhosted.org/packages/b0/1e/d22cc63332bd59b06481ceaac49d6c507598642e2230f201649058a7e704/cffi-2.0.0-cp313-cp313-manylinux1_i686.manylinux2014_i686.manylinux_2_17_i686.manylinux_2_5_i686.whl", hash = "sha256:07b271772c100085dd28b74fa0cd81c8fb1a3ba18b21e03d7c27f3436a10606b", size = 212446, upload-time = "2025-09-08T23:23:03.472Z" }, + { url = "https://files.pythonhosted.org/packages/a9/f5/a2c23eb03b61a0b8747f211eb716446c826ad66818ddc7810cc2cc19b3f2/cffi-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:d48a880098c96020b02d5a1f7d9251308510ce8858940e6fa99ece33f610838b", size = 220101, upload-time = "2025-09-08T23:23:04.792Z" }, + { url = "https://files.pythonhosted.org/packages/f2/7f/e6647792fc5850d634695bc0e6ab4111ae88e89981d35ac269956605feba/cffi-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:f93fd8e5c8c0a4aa1f424d6173f14a892044054871c771f8566e4008eaa359d2", size = 207948, upload-time = "2025-09-08T23:23:06.127Z" }, + { url = "https://files.pythonhosted.org/packages/cb/1e/a5a1bd6f1fb30f22573f76533de12a00bf274abcdc55c8edab639078abb6/cffi-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:dd4f05f54a52fb558f1ba9f528228066954fee3ebe629fc1660d874d040ae5a3", size = 206422, upload-time = "2025-09-08T23:23:07.753Z" }, + { url = "https://files.pythonhosted.org/packages/98/df/0a1755e750013a2081e863e7cd37e0cdd02664372c754e5560099eb7aa44/cffi-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:c8d3b5532fc71b7a77c09192b4a5a200ea992702734a2e9279a37f2478236f26", size = 219499, upload-time = "2025-09-08T23:23:09.648Z" }, + { url = "https://files.pythonhosted.org/packages/50/e1/a969e687fcf9ea58e6e2a928ad5e2dd88cc12f6f0ab477e9971f2309b57c/cffi-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:d9b29c1f0ae438d5ee9acb31cadee00a58c46cc9c0b2f9038c6b0b3470877a8c", size = 222928, upload-time = "2025-09-08T23:23:10.928Z" }, + { url = "https://files.pythonhosted.org/packages/36/54/0362578dd2c9e557a28ac77698ed67323ed5b9775ca9d3fe73fe191bb5d8/cffi-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:6d50360be4546678fc1b79ffe7a66265e28667840010348dd69a314145807a1b", size = 221302, upload-time = "2025-09-08T23:23:12.42Z" }, + { url = "https://files.pythonhosted.org/packages/eb/6d/bf9bda840d5f1dfdbf0feca87fbdb64a918a69bca42cfa0ba7b137c48cb8/cffi-2.0.0-cp313-cp313-win32.whl", hash = "sha256:74a03b9698e198d47562765773b4a8309919089150a0bb17d829ad7b44b60d27", size = 172909, upload-time = "2025-09-08T23:23:14.32Z" }, + { url = "https://files.pythonhosted.org/packages/37/18/6519e1ee6f5a1e579e04b9ddb6f1676c17368a7aba48299c3759bbc3c8b3/cffi-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:19f705ada2530c1167abacb171925dd886168931e0a7b78f5bffcae5c6b5be75", size = 183402, upload-time = "2025-09-08T23:23:15.535Z" }, + { url = "https://files.pythonhosted.org/packages/cb/0e/02ceeec9a7d6ee63bb596121c2c8e9b3a9e150936f4fbef6ca1943e6137c/cffi-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:256f80b80ca3853f90c21b23ee78cd008713787b1b1e93eae9f3d6a7134abd91", size = 177780, upload-time = "2025-09-08T23:23:16.761Z" }, + { url = "https://files.pythonhosted.org/packages/92/c4/3ce07396253a83250ee98564f8d7e9789fab8e58858f35d07a9a2c78de9f/cffi-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:fc33c5141b55ed366cfaad382df24fe7dcbc686de5be719b207bb248e3053dc5", size = 185320, upload-time = "2025-09-08T23:23:18.087Z" }, + { url = "https://files.pythonhosted.org/packages/59/dd/27e9fa567a23931c838c6b02d0764611c62290062a6d4e8ff7863daf9730/cffi-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c654de545946e0db659b3400168c9ad31b5d29593291482c43e3564effbcee13", size = 181487, upload-time = "2025-09-08T23:23:19.622Z" }, + { url = "https://files.pythonhosted.org/packages/d6/43/0e822876f87ea8a4ef95442c3d766a06a51fc5298823f884ef87aaad168c/cffi-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:24b6f81f1983e6df8db3adc38562c83f7d4a0c36162885ec7f7b77c7dcbec97b", size = 220049, upload-time = "2025-09-08T23:23:20.853Z" }, + { url = "https://files.pythonhosted.org/packages/b4/89/76799151d9c2d2d1ead63c2429da9ea9d7aac304603de0c6e8764e6e8e70/cffi-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:12873ca6cb9b0f0d3a0da705d6086fe911591737a59f28b7936bdfed27c0d47c", size = 207793, upload-time = "2025-09-08T23:23:22.08Z" }, + { url = "https://files.pythonhosted.org/packages/bb/dd/3465b14bb9e24ee24cb88c9e3730f6de63111fffe513492bf8c808a3547e/cffi-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:d9b97165e8aed9272a6bb17c01e3cc5871a594a446ebedc996e2397a1c1ea8ef", size = 206300, upload-time = "2025-09-08T23:23:23.314Z" }, + { url = "https://files.pythonhosted.org/packages/47/d9/d83e293854571c877a92da46fdec39158f8d7e68da75bf73581225d28e90/cffi-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:afb8db5439b81cf9c9d0c80404b60c3cc9c3add93e114dcae767f1477cb53775", size = 219244, upload-time = "2025-09-08T23:23:24.541Z" }, + { url = "https://files.pythonhosted.org/packages/2b/0f/1f177e3683aead2bb00f7679a16451d302c436b5cbf2505f0ea8146ef59e/cffi-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:737fe7d37e1a1bffe70bd5754ea763a62a066dc5913ca57e957824b72a85e205", size = 222828, upload-time = "2025-09-08T23:23:26.143Z" }, + { url = "https://files.pythonhosted.org/packages/c6/0f/cafacebd4b040e3119dcb32fed8bdef8dfe94da653155f9d0b9dc660166e/cffi-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:38100abb9d1b1435bc4cc340bb4489635dc2f0da7456590877030c9b3d40b0c1", size = 220926, upload-time = "2025-09-08T23:23:27.873Z" }, + { url = "https://files.pythonhosted.org/packages/3e/aa/df335faa45b395396fcbc03de2dfcab242cd61a9900e914fe682a59170b1/cffi-2.0.0-cp314-cp314-win32.whl", hash = "sha256:087067fa8953339c723661eda6b54bc98c5625757ea62e95eb4898ad5e776e9f", size = 175328, upload-time = "2025-09-08T23:23:44.61Z" }, + { url = "https://files.pythonhosted.org/packages/bb/92/882c2d30831744296ce713f0feb4c1cd30f346ef747b530b5318715cc367/cffi-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:203a48d1fb583fc7d78a4c6655692963b860a417c0528492a6bc21f1aaefab25", size = 185650, upload-time = "2025-09-08T23:23:45.848Z" }, + { url = "https://files.pythonhosted.org/packages/9f/2c/98ece204b9d35a7366b5b2c6539c350313ca13932143e79dc133ba757104/cffi-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:dbd5c7a25a7cb98f5ca55d258b103a2054f859a46ae11aaf23134f9cc0d356ad", size = 180687, upload-time = "2025-09-08T23:23:47.105Z" }, + { url = "https://files.pythonhosted.org/packages/3e/61/c768e4d548bfa607abcda77423448df8c471f25dbe64fb2ef6d555eae006/cffi-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:9a67fc9e8eb39039280526379fb3a70023d77caec1852002b4da7e8b270c4dd9", size = 188773, upload-time = "2025-09-08T23:23:29.347Z" }, + { url = "https://files.pythonhosted.org/packages/2c/ea/5f76bce7cf6fcd0ab1a1058b5af899bfbef198bea4d5686da88471ea0336/cffi-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:7a66c7204d8869299919db4d5069a82f1561581af12b11b3c9f48c584eb8743d", size = 185013, upload-time = "2025-09-08T23:23:30.63Z" }, + { url = "https://files.pythonhosted.org/packages/be/b4/c56878d0d1755cf9caa54ba71e5d049479c52f9e4afc230f06822162ab2f/cffi-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.whl", hash = "sha256:7cc09976e8b56f8cebd752f7113ad07752461f48a58cbba644139015ac24954c", size = 221593, upload-time = "2025-09-08T23:23:31.91Z" }, + { url = "https://files.pythonhosted.org/packages/e0/0d/eb704606dfe8033e7128df5e90fee946bbcb64a04fcdaa97321309004000/cffi-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.whl", hash = "sha256:92b68146a71df78564e4ef48af17551a5ddd142e5190cdf2c5624d0c3ff5b2e8", size = 209354, upload-time = "2025-09-08T23:23:33.214Z" }, + { url = "https://files.pythonhosted.org/packages/d8/19/3c435d727b368ca475fb8742ab97c9cb13a0de600ce86f62eab7fa3eea60/cffi-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.whl", hash = "sha256:b1e74d11748e7e98e2f426ab176d4ed720a64412b6a15054378afdb71e0f37dc", size = 208480, upload-time = "2025-09-08T23:23:34.495Z" }, + { url = "https://files.pythonhosted.org/packages/d0/44/681604464ed9541673e486521497406fadcc15b5217c3e326b061696899a/cffi-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.whl", hash = "sha256:28a3a209b96630bca57cce802da70c266eb08c6e97e5afd61a75611ee6c64592", size = 221584, upload-time = "2025-09-08T23:23:36.096Z" }, + { url = "https://files.pythonhosted.org/packages/25/8e/342a504ff018a2825d395d44d63a767dd8ebc927ebda557fecdaca3ac33a/cffi-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:7553fb2090d71822f02c629afe6042c299edf91ba1bf94951165613553984512", size = 224443, upload-time = "2025-09-08T23:23:37.328Z" }, + { url = "https://files.pythonhosted.org/packages/e1/5e/b666bacbbc60fbf415ba9988324a132c9a7a0448a9a8f125074671c0f2c3/cffi-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:6c6c373cfc5c83a975506110d17457138c8c63016b563cc9ed6e056a82f13ce4", size = 223437, upload-time = "2025-09-08T23:23:38.945Z" }, + { url = "https://files.pythonhosted.org/packages/a0/1d/ec1a60bd1a10daa292d3cd6bb0b359a81607154fb8165f3ec95fe003b85c/cffi-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:1fc9ea04857caf665289b7a75923f2c6ed559b8298a1b8c49e59f7dd95c8481e", size = 180487, upload-time = "2025-09-08T23:23:40.423Z" }, + { url = "https://files.pythonhosted.org/packages/bf/41/4c1168c74fac325c0c8156f04b6749c8b6a8f405bbf91413ba088359f60d/cffi-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:d68b6cef7827e8641e8ef16f4494edda8b36104d79773a334beaa1e3521430f6", size = 191726, upload-time = "2025-09-08T23:23:41.742Z" }, + { url = "https://files.pythonhosted.org/packages/ae/3a/dbeec9d1ee0844c679f6bb5d6ad4e9f198b1224f4e7a32825f47f6192b0c/cffi-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:0a1527a803f0a659de1af2e1fd700213caba79377e27e4693648c2923da066f9", size = 184195, upload-time = "2025-09-08T23:23:43.004Z" }, +] + +[[package]] +name = "charset-normalizer" +version = "3.4.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/13/69/33ddede1939fdd074bce5434295f38fae7136463422fe4fd3e0e89b98062/charset_normalizer-3.4.4.tar.gz", hash = "sha256:94537985111c35f28720e43603b8e7b43a6ecfb2ce1d3058bbe955b73404e21a", size = 129418, upload-time = "2025-10-14T04:42:32.879Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/97/45/4b3a1239bbacd321068ea6e7ac28875b03ab8bc0aa0966452db17cd36714/charset_normalizer-3.4.4-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:e1f185f86a6f3403aa2420e815904c67b2f9ebc443f045edd0de921108345794", size = 208091, upload-time = "2025-10-14T04:41:13.346Z" }, + { url = "https://files.pythonhosted.org/packages/7d/62/73a6d7450829655a35bb88a88fca7d736f9882a27eacdca2c6d505b57e2e/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6b39f987ae8ccdf0d2642338faf2abb1862340facc796048b604ef14919e55ed", size = 147936, upload-time = "2025-10-14T04:41:14.461Z" }, + { url = "https://files.pythonhosted.org/packages/89/c5/adb8c8b3d6625bef6d88b251bbb0d95f8205831b987631ab0c8bb5d937c2/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:3162d5d8ce1bb98dd51af660f2121c55d0fa541b46dff7bb9b9f86ea1d87de72", size = 144180, upload-time = "2025-10-14T04:41:15.588Z" }, + { url = "https://files.pythonhosted.org/packages/91/ed/9706e4070682d1cc219050b6048bfd293ccf67b3d4f5a4f39207453d4b99/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:81d5eb2a312700f4ecaa977a8235b634ce853200e828fbadf3a9c50bab278328", size = 161346, upload-time = "2025-10-14T04:41:16.738Z" }, + { url = "https://files.pythonhosted.org/packages/d5/0d/031f0d95e4972901a2f6f09ef055751805ff541511dc1252ba3ca1f80cf5/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:5bd2293095d766545ec1a8f612559f6b40abc0eb18bb2f5d1171872d34036ede", size = 158874, upload-time = "2025-10-14T04:41:17.923Z" }, + { url = "https://files.pythonhosted.org/packages/f5/83/6ab5883f57c9c801ce5e5677242328aa45592be8a00644310a008d04f922/charset_normalizer-3.4.4-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:a8a8b89589086a25749f471e6a900d3f662d1d3b6e2e59dcecf787b1cc3a1894", size = 153076, upload-time = "2025-10-14T04:41:19.106Z" }, + { url = "https://files.pythonhosted.org/packages/75/1e/5ff781ddf5260e387d6419959ee89ef13878229732732ee73cdae01800f2/charset_normalizer-3.4.4-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:bc7637e2f80d8530ee4a78e878bce464f70087ce73cf7c1caf142416923b98f1", size = 150601, upload-time = "2025-10-14T04:41:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/d7/57/71be810965493d3510a6ca79b90c19e48696fb1ff964da319334b12677f0/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f8bf04158c6b607d747e93949aa60618b61312fe647a6369f88ce2ff16043490", size = 150376, upload-time = "2025-10-14T04:41:21.398Z" }, + { url = "https://files.pythonhosted.org/packages/e5/d5/c3d057a78c181d007014feb7e9f2e65905a6c4ef182c0ddf0de2924edd65/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:554af85e960429cf30784dd47447d5125aaa3b99a6f0683589dbd27e2f45da44", size = 144825, upload-time = "2025-10-14T04:41:22.583Z" }, + { url = "https://files.pythonhosted.org/packages/e6/8c/d0406294828d4976f275ffbe66f00266c4b3136b7506941d87c00cab5272/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:74018750915ee7ad843a774364e13a3db91682f26142baddf775342c3f5b1133", size = 162583, upload-time = "2025-10-14T04:41:23.754Z" }, + { url = "https://files.pythonhosted.org/packages/d7/24/e2aa1f18c8f15c4c0e932d9287b8609dd30ad56dbe41d926bd846e22fb8d/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:c0463276121fdee9c49b98908b3a89c39be45d86d1dbaa22957e38f6321d4ce3", size = 150366, upload-time = "2025-10-14T04:41:25.27Z" }, + { url = "https://files.pythonhosted.org/packages/e4/5b/1e6160c7739aad1e2df054300cc618b06bf784a7a164b0f238360721ab86/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:362d61fd13843997c1c446760ef36f240cf81d3ebf74ac62652aebaf7838561e", size = 160300, upload-time = "2025-10-14T04:41:26.725Z" }, + { url = "https://files.pythonhosted.org/packages/7a/10/f882167cd207fbdd743e55534d5d9620e095089d176d55cb22d5322f2afd/charset_normalizer-3.4.4-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9a26f18905b8dd5d685d6d07b0cdf98a79f3c7a918906af7cc143ea2e164c8bc", size = 154465, upload-time = "2025-10-14T04:41:28.322Z" }, + { url = "https://files.pythonhosted.org/packages/89/66/c7a9e1b7429be72123441bfdbaf2bc13faab3f90b933f664db506dea5915/charset_normalizer-3.4.4-cp313-cp313-win32.whl", hash = "sha256:9b35f4c90079ff2e2edc5b26c0c77925e5d2d255c42c74fdb70fb49b172726ac", size = 99404, upload-time = "2025-10-14T04:41:29.95Z" }, + { url = "https://files.pythonhosted.org/packages/c4/26/b9924fa27db384bdcd97ab83b4f0a8058d96ad9626ead570674d5e737d90/charset_normalizer-3.4.4-cp313-cp313-win_amd64.whl", hash = "sha256:b435cba5f4f750aa6c0a0d92c541fb79f69a387c91e61f1795227e4ed9cece14", size = 107092, upload-time = "2025-10-14T04:41:31.188Z" }, + { url = "https://files.pythonhosted.org/packages/af/8f/3ed4bfa0c0c72a7ca17f0380cd9e4dd842b09f664e780c13cff1dcf2ef1b/charset_normalizer-3.4.4-cp313-cp313-win_arm64.whl", hash = "sha256:542d2cee80be6f80247095cc36c418f7bddd14f4a6de45af91dfad36d817bba2", size = 100408, upload-time = "2025-10-14T04:41:32.624Z" }, + { url = "https://files.pythonhosted.org/packages/2a/35/7051599bd493e62411d6ede36fd5af83a38f37c4767b92884df7301db25d/charset_normalizer-3.4.4-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:da3326d9e65ef63a817ecbcc0df6e94463713b754fe293eaa03da99befb9a5bd", size = 207746, upload-time = "2025-10-14T04:41:33.773Z" }, + { url = "https://files.pythonhosted.org/packages/10/9a/97c8d48ef10d6cd4fcead2415523221624bf58bcf68a802721a6bc807c8f/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:8af65f14dc14a79b924524b1e7fffe304517b2bff5a58bf64f30b98bbc5079eb", size = 147889, upload-time = "2025-10-14T04:41:34.897Z" }, + { url = "https://files.pythonhosted.org/packages/10/bf/979224a919a1b606c82bd2c5fa49b5c6d5727aa47b4312bb27b1734f53cd/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:74664978bb272435107de04e36db5a9735e78232b85b77d45cfb38f758efd33e", size = 143641, upload-time = "2025-10-14T04:41:36.116Z" }, + { url = "https://files.pythonhosted.org/packages/ba/33/0ad65587441fc730dc7bd90e9716b30b4702dc7b617e6ba4997dc8651495/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:752944c7ffbfdd10c074dc58ec2d5a8a4cd9493b314d367c14d24c17684ddd14", size = 160779, upload-time = "2025-10-14T04:41:37.229Z" }, + { url = "https://files.pythonhosted.org/packages/67/ed/331d6b249259ee71ddea93f6f2f0a56cfebd46938bde6fcc6f7b9a3d0e09/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:d1f13550535ad8cff21b8d757a3257963e951d96e20ec82ab44bc64aeb62a191", size = 159035, upload-time = "2025-10-14T04:41:38.368Z" }, + { url = "https://files.pythonhosted.org/packages/67/ff/f6b948ca32e4f2a4576aa129d8bed61f2e0543bf9f5f2b7fc3758ed005c9/charset_normalizer-3.4.4-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ecaae4149d99b1c9e7b88bb03e3221956f68fd6d50be2ef061b2381b61d20838", size = 152542, upload-time = "2025-10-14T04:41:39.862Z" }, + { url = "https://files.pythonhosted.org/packages/16/85/276033dcbcc369eb176594de22728541a925b2632f9716428c851b149e83/charset_normalizer-3.4.4-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:cb6254dc36b47a990e59e1068afacdcd02958bdcce30bb50cc1700a8b9d624a6", size = 149524, upload-time = "2025-10-14T04:41:41.319Z" }, + { url = "https://files.pythonhosted.org/packages/9e/f2/6a2a1f722b6aba37050e626530a46a68f74e63683947a8acff92569f979a/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:c8ae8a0f02f57a6e61203a31428fa1d677cbe50c93622b4149d5c0f319c1d19e", size = 150395, upload-time = "2025-10-14T04:41:42.539Z" }, + { url = "https://files.pythonhosted.org/packages/60/bb/2186cb2f2bbaea6338cad15ce23a67f9b0672929744381e28b0592676824/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:47cc91b2f4dd2833fddaedd2893006b0106129d4b94fdb6af1f4ce5a9965577c", size = 143680, upload-time = "2025-10-14T04:41:43.661Z" }, + { url = "https://files.pythonhosted.org/packages/7d/a5/bf6f13b772fbb2a90360eb620d52ed8f796f3c5caee8398c3b2eb7b1c60d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:82004af6c302b5d3ab2cfc4cc5f29db16123b1a8417f2e25f9066f91d4411090", size = 162045, upload-time = "2025-10-14T04:41:44.821Z" }, + { url = "https://files.pythonhosted.org/packages/df/c5/d1be898bf0dc3ef9030c3825e5d3b83f2c528d207d246cbabe245966808d/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:2b7d8f6c26245217bd2ad053761201e9f9680f8ce52f0fcd8d0755aeae5b2152", size = 149687, upload-time = "2025-10-14T04:41:46.442Z" }, + { url = "https://files.pythonhosted.org/packages/a5/42/90c1f7b9341eef50c8a1cb3f098ac43b0508413f33affd762855f67a410e/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:799a7a5e4fb2d5898c60b640fd4981d6a25f1c11790935a44ce38c54e985f828", size = 160014, upload-time = "2025-10-14T04:41:47.631Z" }, + { url = "https://files.pythonhosted.org/packages/76/be/4d3ee471e8145d12795ab655ece37baed0929462a86e72372fd25859047c/charset_normalizer-3.4.4-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:99ae2cffebb06e6c22bdc25801d7b30f503cc87dbd283479e7b606f70aff57ec", size = 154044, upload-time = "2025-10-14T04:41:48.81Z" }, + { url = "https://files.pythonhosted.org/packages/b0/6f/8f7af07237c34a1defe7defc565a9bc1807762f672c0fde711a4b22bf9c0/charset_normalizer-3.4.4-cp314-cp314-win32.whl", hash = "sha256:f9d332f8c2a2fcbffe1378594431458ddbef721c1769d78e2cbc06280d8155f9", size = 99940, upload-time = "2025-10-14T04:41:49.946Z" }, + { url = "https://files.pythonhosted.org/packages/4b/51/8ade005e5ca5b0d80fb4aff72a3775b325bdc3d27408c8113811a7cbe640/charset_normalizer-3.4.4-cp314-cp314-win_amd64.whl", hash = "sha256:8a6562c3700cce886c5be75ade4a5db4214fda19fede41d9792d100288d8f94c", size = 107104, upload-time = "2025-10-14T04:41:51.051Z" }, + { url = "https://files.pythonhosted.org/packages/da/5f/6b8f83a55bb8278772c5ae54a577f3099025f9ade59d0136ac24a0df4bde/charset_normalizer-3.4.4-cp314-cp314-win_arm64.whl", hash = "sha256:de00632ca48df9daf77a2c65a484531649261ec9f25489917f09e455cb09ddb2", size = 100743, upload-time = "2025-10-14T04:41:52.122Z" }, + { url = "https://files.pythonhosted.org/packages/0a/4c/925909008ed5a988ccbb72dcc897407e5d6d3bd72410d69e051fc0c14647/charset_normalizer-3.4.4-py3-none-any.whl", hash = "sha256:7a32c560861a02ff789ad905a2fe94e3f840803362c84fecf1851cb4cf3dc37f", size = 53402, upload-time = "2025-10-14T04:42:31.76Z" }, +] + +[[package]] +name = "clear-run-to-selected" +version = "0.3.0" +source = { registry = ".local-libraries" } +wheels = [ + { path = "clear_run_to_selected-0.3.0-py3-none-any.whl" }, +] + +[[package]] +name = "click" +version = "8.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/46/61/de6cd827efad202d7057d93e0fed9294b96952e188f7384832791c7b2254/click-8.3.0.tar.gz", hash = "sha256:e7b8232224eba16f4ebe410c25ced9f7875cb5f3263ffc93cc3e8da705e229c4", size = 276943, upload-time = "2025-09-18T17:32:23.696Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/db/d3/9dcc0f5797f070ec8edf30fbadfb200e71d9db6b84d211e3b2085a7589a0/click-8.3.0-py3-none-any.whl", hash = "sha256:9b9f285302c6e3064f4330c05f05b81945b2a39544279343e6e7c5f27a9baddc", size = 107295, upload-time = "2025-09-18T17:32:22.42Z" }, +] + +[[package]] +name = "colorama" +version = "0.4.6" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d8/53/6f443c9a4a8358a93a6792e2acffb9d9d5cb0a5cfd8802644b7b1c9a02e4/colorama-0.4.6.tar.gz", hash = "sha256:08695f5cb7ed6e0531a20572697297273c47b8cae5a63ffc6d6ed5c201be6e44", size = 27697, upload-time = "2022-10-25T02:36:22.414Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/d6/3965ed04c63042e047cb6a3e6ed1a63a35087b6a609aa3a15ed8ac56c221/colorama-0.4.6-py2.py3-none-any.whl", hash = "sha256:4f1d9991f5acc0ca119f9d443620b77f9d6b33703e51011c16baf57afb285fc6", size = 25335, upload-time = "2022-10-25T02:36:20.889Z" }, +] + +[[package]] +name = "comm" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/4c/13/7d740c5849255756bc17888787313b61fd38a0a8304fc4f073dfc46122aa/comm-0.2.3.tar.gz", hash = "sha256:2dc8048c10962d55d7ad693be1e7045d891b7ce8d999c97963a5e3e99c055971", size = 6319, upload-time = "2025-07-25T14:02:04.452Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/97/891a0971e1e4a8c5d2b20bbe0e524dc04548d2307fee33cdeba148fd4fc7/comm-0.2.3-py3-none-any.whl", hash = "sha256:c615d91d75f7f04f095b30d1c1711babd43bdc6419c1be9886a85f2f4e489417", size = 7294, upload-time = "2025-07-25T14:02:02.896Z" }, +] + +[[package]] +name = "debugpy" +version = "1.8.17" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/ad/71e708ff4ca377c4230530d6a7aa7992592648c122a2cd2b321cf8b35a76/debugpy-1.8.17.tar.gz", hash = "sha256:fd723b47a8c08892b1a16b2c6239a8b96637c62a59b94bb5dab4bac592a58a8e", size = 1644129, upload-time = "2025-09-17T16:33:20.633Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/50/76/597e5cb97d026274ba297af8d89138dfd9e695767ba0e0895edb20963f40/debugpy-1.8.17-cp313-cp313-macosx_15_0_universal2.whl", hash = "sha256:857c1dd5d70042502aef1c6d1c2801211f3ea7e56f75e9c335f434afb403e464", size = 2538386, upload-time = "2025-09-17T16:33:54.594Z" }, + { url = "https://files.pythonhosted.org/packages/5f/60/ce5c34fcdfec493701f9d1532dba95b21b2f6394147234dce21160bd923f/debugpy-1.8.17-cp313-cp313-manylinux_2_34_x86_64.whl", hash = "sha256:3bea3b0b12f3946e098cce9b43c3c46e317b567f79570c3f43f0b96d00788088", size = 4292100, upload-time = "2025-09-17T16:33:56.353Z" }, + { url = "https://files.pythonhosted.org/packages/e8/95/7873cf2146577ef71d2a20bf553f12df865922a6f87b9e8ee1df04f01785/debugpy-1.8.17-cp313-cp313-win32.whl", hash = "sha256:e34ee844c2f17b18556b5bbe59e1e2ff4e86a00282d2a46edab73fd7f18f4a83", size = 5277002, upload-time = "2025-09-17T16:33:58.231Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/18c79a1cee5ff539a94ec4aa290c1c069a5580fd5cfd2fb2e282f8e905da/debugpy-1.8.17-cp313-cp313-win_amd64.whl", hash = "sha256:6c5cd6f009ad4fca8e33e5238210dc1e5f42db07d4b6ab21ac7ffa904a196420", size = 5319047, upload-time = "2025-09-17T16:34:00.586Z" }, + { url = "https://files.pythonhosted.org/packages/de/45/115d55b2a9da6de812696064ceb505c31e952c5d89c4ed1d9bb983deec34/debugpy-1.8.17-cp314-cp314-macosx_15_0_universal2.whl", hash = "sha256:045290c010bcd2d82bc97aa2daf6837443cd52f6328592698809b4549babcee1", size = 2536899, upload-time = "2025-09-17T16:34:02.657Z" }, + { url = "https://files.pythonhosted.org/packages/5a/73/2aa00c7f1f06e997ef57dc9b23d61a92120bec1437a012afb6d176585197/debugpy-1.8.17-cp314-cp314-manylinux_2_34_x86_64.whl", hash = "sha256:b69b6bd9dba6a03632534cdf67c760625760a215ae289f7489a452af1031fe1f", size = 4268254, upload-time = "2025-09-17T16:34:04.486Z" }, + { url = "https://files.pythonhosted.org/packages/86/b5/ed3e65c63c68a6634e3ba04bd10255c8e46ec16ebed7d1c79e4816d8a760/debugpy-1.8.17-cp314-cp314-win32.whl", hash = "sha256:5c59b74aa5630f3a5194467100c3b3d1c77898f9ab27e3f7dc5d40fc2f122670", size = 5277203, upload-time = "2025-09-17T16:34:06.65Z" }, + { url = "https://files.pythonhosted.org/packages/b0/26/394276b71c7538445f29e792f589ab7379ae70fd26ff5577dfde71158e96/debugpy-1.8.17-cp314-cp314-win_amd64.whl", hash = "sha256:893cba7bb0f55161de4365584b025f7064e1f88913551bcd23be3260b231429c", size = 5318493, upload-time = "2025-09-17T16:34:08.483Z" }, + { url = "https://files.pythonhosted.org/packages/b0/d0/89247ec250369fc76db477720a26b2fce7ba079ff1380e4ab4529d2fe233/debugpy-1.8.17-py2.py3-none-any.whl", hash = "sha256:60c7dca6571efe660ccb7a9508d73ca14b8796c4ed484c2002abba714226cfef", size = 5283210, upload-time = "2025-09-17T16:34:25.835Z" }, +] + +[[package]] +name = "decorator" +version = "5.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/fa/6d96a0978d19e17b68d634497769987b16c8f4cd0a7a05048bec693caa6b/decorator-5.2.1.tar.gz", hash = "sha256:65f266143752f734b0a7cc83c46f4618af75b8c5911b00ccb61d0ac9b6da0360", size = 56711, upload-time = "2025-02-24T04:41:34.073Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/4e/8c/f3147f5c4b73e7550fe5f9352eaa956ae838d5c51eb58e7a25b9f3e2643b/decorator-5.2.1-py3-none-any.whl", hash = "sha256:d316bb415a2d9e2d2b3abcc4084c6502fc09240e292cd76a76afc106a1c8e04a", size = 9190, upload-time = "2025-02-24T04:41:32.565Z" }, +] + +[[package]] +name = "defusedxml" +version = "0.7.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0f/d5/c66da9b79e5bdb124974bfe172b4daf3c984ebd9c2a06e2b8a4dc7331c72/defusedxml-0.7.1.tar.gz", hash = "sha256:1bb3032db185915b62d7c6209c5a8792be6a32ab2fedacc84e01b52c51aa3e69", size = 75520, upload-time = "2021-03-08T10:59:26.269Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/6c/aa3f2f849e01cb6a001cd8554a88d4c77c5c1a31c95bdf1cf9301e6d9ef4/defusedxml-0.7.1-py2.py3-none-any.whl", hash = "sha256:a352e7e428770286cc899e2542b6cdaedb2b4953ff269a210103ec58f6198a61", size = 25604, upload-time = "2021-03-08T10:59:24.45Z" }, +] + +[[package]] +name = "dill" +version = "0.4.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/12/80/630b4b88364e9a8c8c5797f4602d0f76ef820909ee32f0bacb9f90654042/dill-0.4.0.tar.gz", hash = "sha256:0633f1d2df477324f53a895b02c901fb961bdbf65a17122586ea7019292cbcf0", size = 186976, upload-time = "2025-04-16T00:41:48.867Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/50/3d/9373ad9c56321fdab5b41197068e1d8c25883b3fea29dd361f9b55116869/dill-0.4.0-py3-none-any.whl", hash = "sha256:44f54bf6412c2c8464c14e8243eb163690a9800dbe2c367330883b19c7561049", size = 119668, upload-time = "2025-04-16T00:41:47.671Z" }, +] + +[[package]] +name = "docstring-to-markdown" +version = "0.17" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "importlib-metadata" }, + { name = "typing-extensions" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/52/d8/8abe80d62c5dce1075578031bcfde07e735bcf0afe2886dd48b470162ab4/docstring_to_markdown-0.17.tar.gz", hash = "sha256:df72a112294c7492487c9da2451cae0faeee06e86008245c188c5761c9590ca3", size = 32260, upload-time = "2025-05-02T15:09:07.932Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/56/7b/af3d0da15bed3a8665419bb3a630585756920f4ad67abfdfef26240ebcc0/docstring_to_markdown-0.17-py3-none-any.whl", hash = "sha256:fd7d5094aa83943bf5f9e1a13701866b7c452eac19765380dead666e36d3711c", size = 23479, upload-time = "2025-05-02T15:09:06.676Z" }, +] + +[[package]] +name = "executing" +version = "2.2.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/28/c14e053b6762b1044f34a13aab6859bbf40456d37d23aa286ac24cfd9a5d/executing-2.2.1.tar.gz", hash = "sha256:3632cc370565f6648cc328b32435bd120a1e4ebb20c77e3fdde9a13cd1e533c4", size = 1129488, upload-time = "2025-09-01T09:48:10.866Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c1/ea/53f2148663b321f21b5a606bd5f191517cf40b7072c0497d3c92c4a13b1e/executing-2.2.1-py2.py3-none-any.whl", hash = "sha256:760643d3452b4d777d295bb167ccc74c64a81df23fb5e08eff250c425a4b2017", size = 28317, upload-time = "2025-09-01T09:48:08.5Z" }, +] + +[[package]] +name = "fastjsonschema" +version = "2.21.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/b5/23b216d9d985a956623b6bd12d4086b60f0059b27799f23016af04a74ea1/fastjsonschema-2.21.2.tar.gz", hash = "sha256:b1eb43748041c880796cd077f1a07c3d94e93ae84bba5ed36800a33554ae05de", size = 374130, upload-time = "2025-08-14T18:49:36.666Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/a8/20d0723294217e47de6d9e2e40fd4a9d2f7c4b6ef974babd482a59743694/fastjsonschema-2.21.2-py3-none-any.whl", hash = "sha256:1c797122d0a86c5cace2e54bf4e819c36223b552017172f32c5c024a6b77e463", size = 24024, upload-time = "2025-08-14T18:49:34.776Z" }, +] + +[[package]] +name = "flake8" +version = "7.1.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "mccabe" }, + { name = "pycodestyle" }, + { name = "pyflakes" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/58/16/3f2a0bb700ad65ac9663262905a025917c020a3f92f014d2ba8964b4602c/flake8-7.1.2.tar.gz", hash = "sha256:c586ffd0b41540951ae41af572e6790dbd49fc12b3aa2541685d253d9bd504bd", size = 48119, upload-time = "2025-02-16T18:45:44.296Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/35/f8/08d37b2cd89da306e3520bd27f8a85692122b42b56c0c2c3784ff09c022f/flake8-7.1.2-py2.py3-none-any.whl", hash = "sha256:1cbc62e65536f65e6d754dfe6f1bada7f5cf392d6f5db3c2b85892466c3e7c1a", size = 57745, upload-time = "2025-02-16T18:45:42.351Z" }, +] + +[[package]] +name = "fqdn" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/30/3e/a80a8c077fd798951169626cde3e239adeba7dab75deb3555716415bd9b0/fqdn-1.5.1.tar.gz", hash = "sha256:105ed3677e767fb5ca086a0c1f4bb66ebc3c100be518f0e0d755d9eae164d89f", size = 6015, upload-time = "2021-03-11T07:16:29.08Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cf/58/8acf1b3e91c58313ce5cb67df61001fc9dcd21be4fadb76c1a2d540e09ed/fqdn-1.5.1-py3-none-any.whl", hash = "sha256:3a179af3761e4df6eb2e026ff9e1a3033d3587bf980a0b1b2e1e5d08d7358014", size = 9121, upload-time = "2021-03-11T07:16:28.351Z" }, +] + +[[package]] +name = "h11" +version = "0.16.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/01/ee/02a2c011bdab74c6fb3c75474d40b3052059d95df7e73351460c8588d963/h11-0.16.0.tar.gz", hash = "sha256:4e35b956cf45792e4caa5885e69fba00bdbc6ffafbfa020300e549b208ee5ff1", size = 101250, upload-time = "2025-04-24T03:35:25.427Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/04/4b/29cac41a4d98d144bf5f6d33995617b185d14b22401f75ca86f384e87ff1/h11-0.16.0-py3-none-any.whl", hash = "sha256:63cf8bbe7522de3bf65932fda1d9c2772064ffb3dae62d55932da54b31cb6c86", size = 37515, upload-time = "2025-04-24T03:35:24.344Z" }, +] + +[[package]] +name = "httpcore" +version = "1.0.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "h11" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/06/94/82699a10bca87a5556c9c59b5963f2d039dbd239f25bc2a63907a05a14cb/httpcore-1.0.9.tar.gz", hash = "sha256:6e34463af53fd2ab5d807f399a9b45ea31c3dfa2276f15a2c3f00afff6e176e8", size = 85484, upload-time = "2025-04-24T22:06:22.219Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/f5/f66802a942d491edb555dd61e3a9961140fd64c90bce1eafd741609d334d/httpcore-1.0.9-py3-none-any.whl", hash = "sha256:2d400746a40668fc9dec9810239072b40b4484b640a8c38fd654a024c7a1bf55", size = 78784, upload-time = "2025-04-24T22:06:20.566Z" }, +] + +[[package]] +name = "httpx" +version = "0.28.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "certifi" }, + { name = "httpcore" }, + { name = "idna" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/b1/df/48c586a5fe32a0f01324ee087459e112ebb7224f646c0b5023f5e79e9956/httpx-0.28.1.tar.gz", hash = "sha256:75e98c5f16b0f35b567856f597f06ff2270a374470a5c2392242528e3e3e42fc", size = 141406, upload-time = "2024-12-06T15:37:23.222Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2a/39/e50c7c3a983047577ee07d2a9e53faf5a69493943ec3f6a384bdc792deb2/httpx-0.28.1-py3-none-any.whl", hash = "sha256:d909fcccc110f8c7faf814ca82a9a4d816bc5a6dbfea25d6591d6985b8ba59ad", size = 73517, upload-time = "2024-12-06T15:37:21.509Z" }, +] + +[[package]] +name = "idna" +version = "3.11" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6f/6d/0703ccc57f3a7233505399edb88de3cbd678da106337b9fcde432b65ed60/idna-3.11.tar.gz", hash = "sha256:795dafcc9c04ed0c1fb032c2aa73654d8e8c5023a7df64a53f39190ada629902", size = 194582, upload-time = "2025-10-12T14:55:20.501Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/0e/61/66938bbb5fc52dbdf84594873d5b51fb1f7c7794e9c0f5bd885f30bc507b/idna-3.11-py3-none-any.whl", hash = "sha256:771a87f49d9defaf64091e6e6fe9c18d4833f140bd19464795bc32d966ca37ea", size = 71008, upload-time = "2025-10-12T14:55:18.883Z" }, +] + +[[package]] +name = "importlib-metadata" +version = "8.7.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "zipp" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/76/66/650a33bd90f786193e4de4b3ad86ea60b53c89b669a5c7be931fac31cdb0/importlib_metadata-8.7.0.tar.gz", hash = "sha256:d13b81ad223b890aa16c5471f2ac3056cf76c5f10f82d6f9292f0b415f389000", size = 56641, upload-time = "2025-04-27T15:29:01.736Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/b0/36bd937216ec521246249be3bf9855081de4c5e06a0c9b4219dbeda50373/importlib_metadata-8.7.0-py3-none-any.whl", hash = "sha256:e5dd1551894c77868a30651cef00984d50e1002d06942a7101d34870c5f02afd", size = 27656, upload-time = "2025-04-27T15:29:00.214Z" }, +] + +[[package]] +name = "ipykernel" +version = "7.0.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "appnope", marker = "sys_platform == 'darwin'" }, + { name = "comm" }, + { name = "debugpy" }, + { name = "ipython" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "matplotlib-inline" }, + { name = "nest-asyncio" }, + { name = "packaging" }, + { name = "psutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a8/4c/9f0024c8457286c6bfd5405a15d650ec5ea36f420ef9bbc58b301f66cfc5/ipykernel-7.0.1.tar.gz", hash = "sha256:2d3fd7cdef22071c2abbad78f142b743228c5d59cd470d034871ae0ac359533c", size = 171460, upload-time = "2025-10-14T16:17:07.325Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b8/f7/761037905ffdec673533bfa43af8d4c31c859c778dfc3bbb71899875ec18/ipykernel-7.0.1-py3-none-any.whl", hash = "sha256:87182a8305e28954b6721087dec45b171712610111d494c17bb607befa1c4000", size = 118157, upload-time = "2025-10-14T16:17:05.606Z" }, +] + +[[package]] +name = "ipython" +version = "9.6.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "decorator" }, + { name = "ipython-pygments-lexers" }, + { name = "jedi" }, + { name = "matplotlib-inline" }, + { name = "pexpect", marker = "sys_platform != 'emscripten' and sys_platform != 'win32'" }, + { name = "prompt-toolkit" }, + { name = "pygments" }, + { name = "stack-data" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2a/34/29b18c62e39ee2f7a6a3bba7efd952729d8aadd45ca17efc34453b717665/ipython-9.6.0.tar.gz", hash = "sha256:5603d6d5d356378be5043e69441a072b50a5b33b4503428c77b04cb8ce7bc731", size = 4396932, upload-time = "2025-09-29T10:55:53.948Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/48/c5/d5e07995077e48220269c28a221e168c91123ad5ceee44d548f54a057fc0/ipython-9.6.0-py3-none-any.whl", hash = "sha256:5f77efafc886d2f023442479b8149e7d86547ad0a979e9da9f045d252f648196", size = 616170, upload-time = "2025-09-29T10:55:47.676Z" }, +] + +[[package]] +name = "ipython-pygments-lexers" +version = "1.1.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pygments" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ef/4c/5dd1d8af08107f88c7f741ead7a40854b8ac24ddf9ae850afbcf698aa552/ipython_pygments_lexers-1.1.1.tar.gz", hash = "sha256:09c0138009e56b6854f9535736f4171d855c8c08a563a0dcd8022f78355c7e81", size = 8393, upload-time = "2025-01-17T11:24:34.505Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d9/33/1f075bf72b0b747cb3288d011319aaf64083cf2efef8354174e3ed4540e2/ipython_pygments_lexers-1.1.1-py3-none-any.whl", hash = "sha256:a9462224a505ade19a605f71f8fa63c2048833ce50abc86768a0d81d876dc81c", size = 8074, upload-time = "2025-01-17T11:24:33.271Z" }, +] + +[[package]] +name = "ipywidgets" +version = "8.1.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "comm" }, + { name = "ipython" }, + { name = "jupyterlab-widgets" }, + { name = "traitlets" }, + { name = "widgetsnbextension" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/3e/48/d3dbac45c2814cb73812f98dd6b38bbcc957a4e7bb31d6ea9c03bf94ed87/ipywidgets-8.1.7.tar.gz", hash = "sha256:15f1ac050b9ccbefd45dccfbb2ef6bed0029d8278682d569d71b8dd96bee0376", size = 116721, upload-time = "2025-05-05T12:42:03.489Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/58/6a/9166369a2f092bd286d24e6307de555d63616e8ddb373ebad2b5635ca4cd/ipywidgets-8.1.7-py3-none-any.whl", hash = "sha256:764f2602d25471c213919b8a1997df04bef869251db4ca8efba1b76b1bd9f7bb", size = 139806, upload-time = "2025-05-05T12:41:56.833Z" }, +] + +[[package]] +name = "isoduration" +version = "20.11.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "arrow" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7c/1a/3c8edc664e06e6bd06cce40c6b22da5f1429aa4224d0c590f3be21c91ead/isoduration-20.11.0.tar.gz", hash = "sha256:ac2f9015137935279eac671f94f89eb00584f940f5dc49462a0c4ee692ba1bd9", size = 11649, upload-time = "2020-11-01T11:00:00.312Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/55/e5326141505c5d5e34c5e0935d2908a74e4561eca44108fbfb9c13d2911a/isoduration-20.11.0-py3-none-any.whl", hash = "sha256:b2904c2a4228c3d44f409c8ae8e2370eb21a26f7ac2ec5446df141dde3452042", size = 11321, upload-time = "2020-11-01T10:59:58.02Z" }, +] + +[[package]] +name = "isort" +version = "6.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1e/82/fa43935523efdfcce6abbae9da7f372b627b27142c3419fcf13bf5b0c397/isort-6.1.0.tar.gz", hash = "sha256:9b8f96a14cfee0677e78e941ff62f03769a06d412aabb9e2a90487b3b7e8d481", size = 824325, upload-time = "2025-10-01T16:26:45.027Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7f/cc/9b681a170efab4868a032631dea1e8446d8ec718a7f657b94d49d1a12643/isort-6.1.0-py3-none-any.whl", hash = "sha256:58d8927ecce74e5087aef019f778d4081a3b6c98f15a80ba35782ca8a2097784", size = 94329, upload-time = "2025-10-01T16:26:43.291Z" }, +] + +[[package]] +name = "jedi" +version = "0.19.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "parso" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/72/3a/79a912fbd4d8dd6fbb02bf69afd3bb72cf0c729bb3063c6f4498603db17a/jedi-0.19.2.tar.gz", hash = "sha256:4770dc3de41bde3966b02eb84fbcf557fb33cce26ad23da12c742fb50ecb11f0", size = 1231287, upload-time = "2024-11-11T01:41:42.873Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c0/5a/9cac0c82afec3d09ccd97c8b6502d48f165f9124db81b4bcb90b4af974ee/jedi-0.19.2-py2.py3-none-any.whl", hash = "sha256:a8ef22bde8490f57fe5c7681a3c83cb58874daf72b4784de3cce5b6ef6edb5b9", size = 1572278, upload-time = "2024-11-11T01:41:40.175Z" }, +] + +[[package]] +name = "jinja2" +version = "3.1.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "markupsafe" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/df/bf/f7da0350254c0ed7c72f3e33cef02e048281fec7ecec5f032d4aac52226b/jinja2-3.1.6.tar.gz", hash = "sha256:0137fb05990d35f1275a587e9aee6d56da821fc83491a0fb838183be43f66d6d", size = 245115, upload-time = "2025-03-05T20:05:02.478Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/62/a1/3d680cbfd5f4b8f15abc1d571870c5fc3e594bb582bc3b64ea099db13e56/jinja2-3.1.6-py3-none-any.whl", hash = "sha256:85ece4451f492d0c13c5dd7c13a64681a86afae63a5f347908daf103ce6d2f67", size = 134899, upload-time = "2025-03-05T20:05:00.369Z" }, +] + +[[package]] +name = "json5" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/12/ae/929aee9619e9eba9015207a9d2c1c54db18311da7eb4dcf6d41ad6f0eb67/json5-0.12.1.tar.gz", hash = "sha256:b2743e77b3242f8d03c143dd975a6ec7c52e2f2afe76ed934e53503dd4ad4990", size = 52191, upload-time = "2025-08-12T19:47:42.583Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/85/e2/05328bd2621be49a6fed9e3030b1e51a2d04537d3f816d211b9cc53c5262/json5-0.12.1-py3-none-any.whl", hash = "sha256:d9c9b3bc34a5f54d43c35e11ef7cb87d8bdd098c6ace87117a7b7e83e705c1d5", size = 36119, upload-time = "2025-08-12T19:47:41.131Z" }, +] + +[[package]] +name = "jsonpointer" +version = "3.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6a/0a/eebeb1fa92507ea94016a2a790b93c2ae41a7e18778f85471dc54475ed25/jsonpointer-3.0.0.tar.gz", hash = "sha256:2b2d729f2091522d61c3b31f82e11870f60b68f43fbc705cb76bf4b832af59ef", size = 9114, upload-time = "2024-06-10T19:24:42.462Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/71/92/5e77f98553e9e75130c78900d000368476aed74276eb8ae8796f65f00918/jsonpointer-3.0.0-py2.py3-none-any.whl", hash = "sha256:13e088adc14fca8b6aa8177c044e12701e6ad4b28ff10e65f2267a90109c9942", size = 7595, upload-time = "2024-06-10T19:24:40.698Z" }, +] + +[[package]] +name = "jsonschema" +version = "4.25.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "jsonschema-specifications" }, + { name = "referencing" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/69/f7185de793a29082a9f3c7728268ffb31cb5095131a9c139a74078e27336/jsonschema-4.25.1.tar.gz", hash = "sha256:e4a9655ce0da0c0b67a085847e00a3a51449e1157f4f75e9fb5aa545e122eb85", size = 357342, upload-time = "2025-08-18T17:03:50.038Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bf/9c/8c95d856233c1f82500c2450b8c68576b4cf1c871db3afac5c34ff84e6fd/jsonschema-4.25.1-py3-none-any.whl", hash = "sha256:3fba0169e345c7175110351d456342c364814cfcf3b964ba4587f22915230a63", size = 90040, upload-time = "2025-08-18T17:03:48.373Z" }, +] + +[package.optional-dependencies] +format-nongpl = [ + { name = "fqdn" }, + { name = "idna" }, + { name = "isoduration" }, + { name = "jsonpointer" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "rfc3987-syntax" }, + { name = "uri-template" }, + { name = "webcolors" }, +] + +[[package]] +name = "jsonschema-specifications" +version = "2025.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "referencing" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/19/74/a633ee74eb36c44aa6d1095e7cc5569bebf04342ee146178e2d36600708b/jsonschema_specifications-2025.9.1.tar.gz", hash = "sha256:b540987f239e745613c7a9176f3edb72b832a4ac465cf02712288397832b5e8d", size = 32855, upload-time = "2025-09-08T01:34:59.186Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/41/45/1a4ed80516f02155c51f51e8cedb3c1902296743db0bbc66608a0db2814f/jsonschema_specifications-2025.9.1-py3-none-any.whl", hash = "sha256:98802fee3a11ee76ecaca44429fda8a41bff98b00a0f2838151b113f210cc6fe", size = 18437, upload-time = "2025-09-08T01:34:57.871Z" }, +] + +[[package]] +name = "jupyter-client" +version = "8.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-core" }, + { name = "python-dateutil" }, + { name = "pyzmq" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/71/22/bf9f12fdaeae18019a468b68952a60fe6dbab5d67cd2a103cac7659b41ca/jupyter_client-8.6.3.tar.gz", hash = "sha256:35b3a0947c4a6e9d589eb97d7d4cd5e90f910ee73101611f01283732bd6d9419", size = 342019, upload-time = "2024-09-17T10:44:17.613Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/11/85/b0394e0b6fcccd2c1eeefc230978a6f8cb0c5df1e4cd3e7625735a0d7d1e/jupyter_client-8.6.3-py3-none-any.whl", hash = "sha256:e8a19cc986cc45905ac3362915f410f3af85424b4c0905e94fa5f2cb08e8f23f", size = 106105, upload-time = "2024-09-17T10:44:15.218Z" }, +] + +[[package]] +name = "jupyter-core" +version = "5.9.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "platformdirs" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/02/49/9d1284d0dc65e2c757b74c6687b6d319b02f822ad039e5c512df9194d9dd/jupyter_core-5.9.1.tar.gz", hash = "sha256:4d09aaff303b9566c3ce657f580bd089ff5c91f5f89cf7d8846c3cdf465b5508", size = 89814, upload-time = "2025-10-16T19:19:18.444Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/e7/80988e32bf6f73919a113473a604f5a8f09094de312b9d52b79c2df7612b/jupyter_core-5.9.1-py3-none-any.whl", hash = "sha256:ebf87fdc6073d142e114c72c9e29a9d7ca03fad818c5d300ce2adc1fb0743407", size = 29032, upload-time = "2025-10-16T19:19:16.783Z" }, +] + +[[package]] +name = "jupyter-events" +version = "0.12.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jsonschema", extra = ["format-nongpl"] }, + { name = "packaging" }, + { name = "python-json-logger" }, + { name = "pyyaml" }, + { name = "referencing" }, + { name = "rfc3339-validator" }, + { name = "rfc3986-validator" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/9d/c3/306d090461e4cf3cd91eceaff84bede12a8e52cd821c2d20c9a4fd728385/jupyter_events-0.12.0.tar.gz", hash = "sha256:fc3fce98865f6784c9cd0a56a20644fc6098f21c8c33834a8d9fe383c17e554b", size = 62196, upload-time = "2025-02-03T17:23:41.485Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e2/48/577993f1f99c552f18a0428731a755e06171f9902fa118c379eb7c04ea22/jupyter_events-0.12.0-py3-none-any.whl", hash = "sha256:6464b2fa5ad10451c3d35fabc75eab39556ae1e2853ad0c0cc31b656731a97fb", size = 19430, upload-time = "2025-02-03T17:23:38.643Z" }, +] + +[[package]] +name = "jupyter-lsp" +version = "2.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/eb/5a/9066c9f8e94ee517133cd98dba393459a16cd48bba71a82f16a65415206c/jupyter_lsp-2.3.0.tar.gz", hash = "sha256:458aa59339dc868fb784d73364f17dbce8836e906cd75fd471a325cba02e0245", size = 54823, upload-time = "2025-08-27T17:47:34.671Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1a/60/1f6cee0c46263de1173894f0fafcb3475ded276c472c14d25e0280c18d6d/jupyter_lsp-2.3.0-py3-none-any.whl", hash = "sha256:e914a3cb2addf48b1c7710914771aaf1819d46b2e5a79b0f917b5478ec93f34f", size = 76687, upload-time = "2025-08-27T17:47:33.15Z" }, +] + +[[package]] +name = "jupyter-server" +version = "2.17.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "anyio" }, + { name = "argon2-cffi" }, + { name = "jinja2" }, + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "jupyter-events" }, + { name = "jupyter-server-terminals" }, + { name = "nbconvert" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "prometheus-client" }, + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "pyzmq" }, + { name = "send2trash" }, + { name = "terminado" }, + { name = "tornado" }, + { name = "traitlets" }, + { name = "websocket-client" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/5b/ac/e040ec363d7b6b1f11304cc9f209dac4517ece5d5e01821366b924a64a50/jupyter_server-2.17.0.tar.gz", hash = "sha256:c38ea898566964c888b4772ae1ed58eca84592e88251d2cfc4d171f81f7e99d5", size = 731949, upload-time = "2025-08-21T14:42:54.042Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/92/80/a24767e6ca280f5a49525d987bf3e4d7552bf67c8be07e8ccf20271f8568/jupyter_server-2.17.0-py3-none-any.whl", hash = "sha256:e8cb9c7db4251f51ed307e329b81b72ccf2056ff82d50524debde1ee1870e13f", size = 388221, upload-time = "2025-08-21T14:42:52.034Z" }, +] + +[[package]] +name = "jupyter-server-terminals" +version = "0.5.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "terminado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/fc/d5/562469734f476159e99a55426d697cbf8e7eb5efe89fb0e0b4f83a3d3459/jupyter_server_terminals-0.5.3.tar.gz", hash = "sha256:5ae0295167220e9ace0edcfdb212afd2b01ee8d179fe6f23c899590e9b8a5269", size = 31430, upload-time = "2024-03-12T14:37:03.049Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/07/2d/2b32cdbe8d2a602f697a649798554e4f072115438e92249624e532e8aca6/jupyter_server_terminals-0.5.3-py3-none-any.whl", hash = "sha256:41ee0d7dc0ebf2809c668e0fc726dfaf258fcd3e769568996ca731b6194ae9aa", size = 13656, upload-time = "2024-03-12T14:37:00.708Z" }, +] + +[[package]] +name = "jupyterlab" +version = "4.4.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "async-lru" }, + { name = "httpx" }, + { name = "ipykernel" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyter-lsp" }, + { name = "jupyter-server" }, + { name = "jupyterlab-server" }, + { name = "notebook-shim" }, + { name = "packaging" }, + { name = "setuptools" }, + { name = "tornado" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/45/b2/7dad2d0049a904d17c070226a4f78f81905f93bfe09503722d210ccf9335/jupyterlab-4.4.9.tar.gz", hash = "sha256:ea55aca8269909016d5fde2dc09b97128bc931230183fe7e2920ede5154ad9c2", size = 22966654, upload-time = "2025-09-26T17:28:20.158Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1f/fd/ac0979ebd1b1975c266c99b96930b0a66609c3f6e5d76979ca6eb3073896/jupyterlab-4.4.9-py3-none-any.whl", hash = "sha256:394c902827350c017430a8370b9f40c03c098773084bc53930145c146d3d2cb2", size = 12292552, upload-time = "2025-09-26T17:28:15.663Z" }, +] + +[[package]] +name = "jupyterlab-code-formatter" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, + { name = "packaging" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ea/a0/279f8ab354f944cd54fc124eeb6112f4d4fd22c6834e96ca48a13bc015a4/jupyterlab_code_formatter-3.0.2.tar.gz", hash = "sha256:55adb8fa8b9bd58f0b39e7d3ead6c1e862e9ebc1444a66cdb4233d8dc6351d4b", size = 3323619, upload-time = "2024-08-14T09:59:57.51Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/82/198e37071ca3f5709b80b19d99b5498f75f020e9052b8f7f750bd3580ad6/jupyterlab_code_formatter-3.0.2-py3-none-any.whl", hash = "sha256:9f4c5be0a5296029207d965da7b65621aa8a06d39fc3a5d8e59d1f3db88997fd", size = 33034, upload-time = "2024-08-14T09:59:54.566Z" }, +] + +[[package]] +name = "jupyterlab-lsp" +version = "5.2.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-lsp" }, + { name = "jupyterlab" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/cc/b6/eb54a1578618eccc081d89cdf4800f438eb5b256513b36232b7dfa05b07b/jupyterlab_lsp-5.2.0.tar.gz", hash = "sha256:63684885b35c1dc9d83e54b4b06380c9375ad7d751a2975649b357308c8d30b9", size = 772532, upload-time = "2025-07-18T21:35:18.569Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d6/0a/faf41c7a22b363a2746a41d66081000c84dc055e98e22cc3dfdf121be6c9/jupyterlab_lsp-5.2.0-py3-none-any.whl", hash = "sha256:fe4ec7e3479fc8c4fc01ac3c7cf08c8b5d2332ffbe487b9eab0cf9e6eead267d", size = 1595423, upload-time = "2025-07-18T21:35:14.879Z" }, +] + +[[package]] +name = "jupyterlab-pygments" +version = "0.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/90/51/9187be60d989df97f5f0aba133fa54e7300f17616e065d1ada7d7646b6d6/jupyterlab_pygments-0.3.0.tar.gz", hash = "sha256:721aca4d9029252b11cfa9d185e5b5af4d54772bb8072f9b7036f4170054d35d", size = 512900, upload-time = "2023-11-23T09:26:37.44Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b1/dd/ead9d8ea85bf202d90cc513b533f9c363121c7792674f78e0d8a854b63b4/jupyterlab_pygments-0.3.0-py3-none-any.whl", hash = "sha256:841a89020971da1d8693f1a99997aefc5dc424bb1b251fd6322462a1b8842780", size = 15884, upload-time = "2023-11-23T09:26:34.325Z" }, +] + +[[package]] +name = "jupyterlab-quickopen" +version = "2.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e0/88/957236e7cabc83c4682c86083901d68cba5153c564090406e6ce4ad94ae3/jupyterlab_quickopen-2.1.0.tar.gz", hash = "sha256:406c9fd510b367f6832bbddda6b63e7923612de7e49d0ab7228be19d15f7bf62", size = 211012, upload-time = "2025-09-02T09:04:41.297Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/da/ca/7bcd912484cb5eadf43f8bfca49fe6b6d2cb16ea6127f3fd646865820ca1/jupyterlab_quickopen-2.1.0-py3-none-any.whl", hash = "sha256:a45609d1c723f5eebb92c60108aba6dbfeec793e30042750cb5bd44daac639cc", size = 23962, upload-time = "2025-09-02T09:04:39.262Z" }, +] + +[[package]] +name = "jupyterlab-server" +version = "2.27.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "babel" }, + { name = "jinja2" }, + { name = "json5" }, + { name = "jsonschema" }, + { name = "jupyter-server" }, + { name = "packaging" }, + { name = "requests" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/0a/c9/a883ce65eb27905ce77ace410d83587c82ea64dc85a48d1f7ed52bcfa68d/jupyterlab_server-2.27.3.tar.gz", hash = "sha256:eb36caca59e74471988f0ae25c77945610b887f777255aa21f8065def9e51ed4", size = 76173, upload-time = "2024-07-16T17:02:04.149Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/09/2032e7d15c544a0e3cd831c51d77a8ca57f7555b2e1b2922142eddb02a84/jupyterlab_server-2.27.3-py3-none-any.whl", hash = "sha256:e697488f66c3db49df675158a77b3b017520d772c6e1548c7d9bcc5df7944ee4", size = 59700, upload-time = "2024-07-16T17:02:01.115Z" }, +] + +[[package]] +name = "jupyterlab-spellchecker" +version = "0.8.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, + { name = "jupyterlab" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/97/74/7f05f8ee3c9cb47f4f52ea08e5a56cf8e4ed154a39472330435f977db178/jupyterlab_spellchecker-0.8.4.tar.gz", hash = "sha256:e0722f00c795e8b5d60655ed475dd91a67fe7180c32ac891a50f38c7abc7684b", size = 5390753, upload-time = "2023-07-28T20:19:40.629Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/08/54/b3d575124fa9404ceef40728f205d033fe52cf417a2245c5d108afe728e8/jupyterlab_spellchecker-0.8.4-py3-none-any.whl", hash = "sha256:2701999d6a826e0a54a12fa41c60b9ffef220ee267e78fe20144423dbcc6d6d8", size = 5328613, upload-time = "2023-07-28T20:19:38.479Z" }, +] + +[[package]] +name = "jupyterlab-widgets" +version = "3.0.15" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b9/7d/160595ca88ee87ac6ba95d82177d29ec60aaa63821d3077babb22ce031a5/jupyterlab_widgets-3.0.15.tar.gz", hash = "sha256:2920888a0c2922351a9202817957a68c07d99673504d6cd37345299e971bb08b", size = 213149, upload-time = "2025-05-05T12:32:31.004Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/43/6a/ca128561b22b60bd5a0c4ea26649e68c8556b82bc70a0c396eebc977fe86/jupyterlab_widgets-3.0.15-py3-none-any.whl", hash = "sha256:d59023d7d7ef71400d51e6fee9a88867f6e65e10a4201605d2d7f3e8f012a31c", size = 216571, upload-time = "2025-05-05T12:32:29.534Z" }, +] + +[[package]] +name = "lark" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/1d/37/a13baf0135f348af608c667633cbe5d13aa2c5c15a56ae9ad3e6cba45ae3/lark-1.3.0.tar.gz", hash = "sha256:9a3839d0ca5e1faf7cfa3460e420e859b66bcbde05b634e73c369c8244c5fa48", size = 259551, upload-time = "2025-09-22T13:45:05.072Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a8/3e/1c6b43277de64fc3c0333b0e72ab7b52ddaaea205210d60d9b9f83c3d0c7/lark-1.3.0-py3-none-any.whl", hash = "sha256:80661f261fb2584a9828a097a2432efd575af27d20be0fd35d17f0fe37253831", size = 113002, upload-time = "2025-09-22T13:45:03.747Z" }, +] + +[[package]] +name = "lcl-jupyterlab" +version = "0.1.0" +source = { virtual = "." } +dependencies = [ + { name = "black" }, + { name = "clear-run-to-selected" }, + { name = "ipywidgets" }, + { name = "isort" }, + { name = "jupyterlab" }, + { name = "jupyterlab-code-formatter" }, + { name = "jupyterlab-lsp" }, + { name = "jupyterlab-quickopen" }, + { name = "jupyterlab-spellchecker" }, + { name = "pyjson5" }, + { name = "python-lsp-server", extra = ["all"] }, + { name = "tomlkit" }, + { name = "tufte" }, +] + +[package.metadata] +requires-dist = [ + { name = "black" }, + { name = "clear-run-to-selected" }, + { name = "ipywidgets" }, + { name = "isort" }, + { name = "jupyterlab" }, + { name = "jupyterlab-code-formatter" }, + { name = "jupyterlab-lsp" }, + { name = "jupyterlab-quickopen" }, + { name = "jupyterlab-spellchecker" }, + { name = "pyjson5" }, + { name = "python-lsp-server", extras = ["all"], specifier = ">=1.13.1" }, + { name = "tomlkit" }, + { name = "tufte" }, +] + +[[package]] +name = "markupsafe" +version = "3.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7e/99/7690b6d4034fffd95959cbe0c02de8deb3098cc577c67bb6a24fe5d7caa7/markupsafe-3.0.3.tar.gz", hash = "sha256:722695808f4b6457b320fdc131280796bdceb04ab50fe1795cd540799ebe1698", size = 80313, upload-time = "2025-09-27T18:37:40.426Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/38/2f/907b9c7bbba283e68f20259574b13d005c121a0fa4c175f9bed27c4597ff/markupsafe-3.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:e1cf1972137e83c5d4c136c43ced9ac51d0e124706ee1c8aa8532c1287fa8795", size = 11622, upload-time = "2025-09-27T18:36:41.777Z" }, + { url = "https://files.pythonhosted.org/packages/9c/d9/5f7756922cdd676869eca1c4e3c0cd0df60ed30199ffd775e319089cb3ed/markupsafe-3.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:116bb52f642a37c115f517494ea5feb03889e04df47eeff5b130b1808ce7c219", size = 12029, upload-time = "2025-09-27T18:36:43.257Z" }, + { url = "https://files.pythonhosted.org/packages/00/07/575a68c754943058c78f30db02ee03a64b3c638586fba6a6dd56830b30a3/markupsafe-3.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:133a43e73a802c5562be9bbcd03d090aa5a1fe899db609c29e8c8d815c5f6de6", size = 24374, upload-time = "2025-09-27T18:36:44.508Z" }, + { url = "https://files.pythonhosted.org/packages/a9/21/9b05698b46f218fc0e118e1f8168395c65c8a2c750ae2bab54fc4bd4e0e8/markupsafe-3.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:ccfcd093f13f0f0b7fdd0f198b90053bf7b2f02a3927a30e63f3ccc9df56b676", size = 22980, upload-time = "2025-09-27T18:36:45.385Z" }, + { url = "https://files.pythonhosted.org/packages/7f/71/544260864f893f18b6827315b988c146b559391e6e7e8f7252839b1b846a/markupsafe-3.0.3-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:509fa21c6deb7a7a273d629cf5ec029bc209d1a51178615ddf718f5918992ab9", size = 21990, upload-time = "2025-09-27T18:36:46.916Z" }, + { url = "https://files.pythonhosted.org/packages/c2/28/b50fc2f74d1ad761af2f5dcce7492648b983d00a65b8c0e0cb457c82ebbe/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a4afe79fb3de0b7097d81da19090f4df4f8d3a2b3adaa8764138aac2e44f3af1", size = 23784, upload-time = "2025-09-27T18:36:47.884Z" }, + { url = "https://files.pythonhosted.org/packages/ed/76/104b2aa106a208da8b17a2fb72e033a5a9d7073c68f7e508b94916ed47a9/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:795e7751525cae078558e679d646ae45574b47ed6e7771863fcc079a6171a0fc", size = 21588, upload-time = "2025-09-27T18:36:48.82Z" }, + { url = "https://files.pythonhosted.org/packages/b5/99/16a5eb2d140087ebd97180d95249b00a03aa87e29cc224056274f2e45fd6/markupsafe-3.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:8485f406a96febb5140bfeca44a73e3ce5116b2501ac54fe953e488fb1d03b12", size = 23041, upload-time = "2025-09-27T18:36:49.797Z" }, + { url = "https://files.pythonhosted.org/packages/19/bc/e7140ed90c5d61d77cea142eed9f9c303f4c4806f60a1044c13e3f1471d0/markupsafe-3.0.3-cp313-cp313-win32.whl", hash = "sha256:bdd37121970bfd8be76c5fb069c7751683bdf373db1ed6c010162b2a130248ed", size = 14543, upload-time = "2025-09-27T18:36:51.584Z" }, + { url = "https://files.pythonhosted.org/packages/05/73/c4abe620b841b6b791f2edc248f556900667a5a1cf023a6646967ae98335/markupsafe-3.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:9a1abfdc021a164803f4d485104931fb8f8c1efd55bc6b748d2f5774e78b62c5", size = 15113, upload-time = "2025-09-27T18:36:52.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/3a/fa34a0f7cfef23cf9500d68cb7c32dd64ffd58a12b09225fb03dd37d5b80/markupsafe-3.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:7e68f88e5b8799aa49c85cd116c932a1ac15caaa3f5db09087854d218359e485", size = 13911, upload-time = "2025-09-27T18:36:53.513Z" }, + { url = "https://files.pythonhosted.org/packages/e4/d7/e05cd7efe43a88a17a37b3ae96e79a19e846f3f456fe79c57ca61356ef01/markupsafe-3.0.3-cp313-cp313t-macosx_10_13_x86_64.whl", hash = "sha256:218551f6df4868a8d527e3062d0fb968682fe92054e89978594c28e642c43a73", size = 11658, upload-time = "2025-09-27T18:36:54.819Z" }, + { url = "https://files.pythonhosted.org/packages/99/9e/e412117548182ce2148bdeacdda3bb494260c0b0184360fe0d56389b523b/markupsafe-3.0.3-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:3524b778fe5cfb3452a09d31e7b5adefeea8c5be1d43c4f810ba09f2ceb29d37", size = 12066, upload-time = "2025-09-27T18:36:55.714Z" }, + { url = "https://files.pythonhosted.org/packages/bc/e6/fa0ffcda717ef64a5108eaa7b4f5ed28d56122c9a6d70ab8b72f9f715c80/markupsafe-3.0.3-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4e885a3d1efa2eadc93c894a21770e4bc67899e3543680313b09f139e149ab19", size = 25639, upload-time = "2025-09-27T18:36:56.908Z" }, + { url = "https://files.pythonhosted.org/packages/96/ec/2102e881fe9d25fc16cb4b25d5f5cde50970967ffa5dddafdb771237062d/markupsafe-3.0.3-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:8709b08f4a89aa7586de0aadc8da56180242ee0ada3999749b183aa23df95025", size = 23569, upload-time = "2025-09-27T18:36:57.913Z" }, + { url = "https://files.pythonhosted.org/packages/4b/30/6f2fce1f1f205fc9323255b216ca8a235b15860c34b6798f810f05828e32/markupsafe-3.0.3-cp313-cp313t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:b8512a91625c9b3da6f127803b166b629725e68af71f8184ae7e7d54686a56d6", size = 23284, upload-time = "2025-09-27T18:36:58.833Z" }, + { url = "https://files.pythonhosted.org/packages/58/47/4a0ccea4ab9f5dcb6f79c0236d954acb382202721e704223a8aafa38b5c8/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:9b79b7a16f7fedff2495d684f2b59b0457c3b493778c9eed31111be64d58279f", size = 24801, upload-time = "2025-09-27T18:36:59.739Z" }, + { url = "https://files.pythonhosted.org/packages/6a/70/3780e9b72180b6fecb83a4814d84c3bf4b4ae4bf0b19c27196104149734c/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_riscv64.whl", hash = "sha256:12c63dfb4a98206f045aa9563db46507995f7ef6d83b2f68eda65c307c6829eb", size = 22769, upload-time = "2025-09-27T18:37:00.719Z" }, + { url = "https://files.pythonhosted.org/packages/98/c5/c03c7f4125180fc215220c035beac6b9cb684bc7a067c84fc69414d315f5/markupsafe-3.0.3-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:8f71bc33915be5186016f675cd83a1e08523649b0e33efdb898db577ef5bb009", size = 23642, upload-time = "2025-09-27T18:37:01.673Z" }, + { url = "https://files.pythonhosted.org/packages/80/d6/2d1b89f6ca4bff1036499b1e29a1d02d282259f3681540e16563f27ebc23/markupsafe-3.0.3-cp313-cp313t-win32.whl", hash = "sha256:69c0b73548bc525c8cb9a251cddf1931d1db4d2258e9599c28c07ef3580ef354", size = 14612, upload-time = "2025-09-27T18:37:02.639Z" }, + { url = "https://files.pythonhosted.org/packages/2b/98/e48a4bfba0a0ffcf9925fe2d69240bfaa19c6f7507b8cd09c70684a53c1e/markupsafe-3.0.3-cp313-cp313t-win_amd64.whl", hash = "sha256:1b4b79e8ebf6b55351f0d91fe80f893b4743f104bff22e90697db1590e47a218", size = 15200, upload-time = "2025-09-27T18:37:03.582Z" }, + { url = "https://files.pythonhosted.org/packages/0e/72/e3cc540f351f316e9ed0f092757459afbc595824ca724cbc5a5d4263713f/markupsafe-3.0.3-cp313-cp313t-win_arm64.whl", hash = "sha256:ad2cf8aa28b8c020ab2fc8287b0f823d0a7d8630784c31e9ee5edea20f406287", size = 13973, upload-time = "2025-09-27T18:37:04.929Z" }, + { url = "https://files.pythonhosted.org/packages/33/8a/8e42d4838cd89b7dde187011e97fe6c3af66d8c044997d2183fbd6d31352/markupsafe-3.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:eaa9599de571d72e2daf60164784109f19978b327a3910d3e9de8c97b5b70cfe", size = 11619, upload-time = "2025-09-27T18:37:06.342Z" }, + { url = "https://files.pythonhosted.org/packages/b5/64/7660f8a4a8e53c924d0fa05dc3a55c9cee10bbd82b11c5afb27d44b096ce/markupsafe-3.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:c47a551199eb8eb2121d4f0f15ae0f923d31350ab9280078d1e5f12b249e0026", size = 12029, upload-time = "2025-09-27T18:37:07.213Z" }, + { url = "https://files.pythonhosted.org/packages/da/ef/e648bfd021127bef5fa12e1720ffed0c6cbb8310c8d9bea7266337ff06de/markupsafe-3.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:f34c41761022dd093b4b6896d4810782ffbabe30f2d443ff5f083e0cbbb8c737", size = 24408, upload-time = "2025-09-27T18:37:09.572Z" }, + { url = "https://files.pythonhosted.org/packages/41/3c/a36c2450754618e62008bf7435ccb0f88053e07592e6028a34776213d877/markupsafe-3.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:457a69a9577064c05a97c41f4e65148652db078a3a509039e64d3467b9e7ef97", size = 23005, upload-time = "2025-09-27T18:37:10.58Z" }, + { url = "https://files.pythonhosted.org/packages/bc/20/b7fdf89a8456b099837cd1dc21974632a02a999ec9bf7ca3e490aacd98e7/markupsafe-3.0.3-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:e8afc3f2ccfa24215f8cb28dcf43f0113ac3c37c2f0f0806d8c70e4228c5cf4d", size = 22048, upload-time = "2025-09-27T18:37:11.547Z" }, + { url = "https://files.pythonhosted.org/packages/9a/a7/591f592afdc734f47db08a75793a55d7fbcc6902a723ae4cfbab61010cc5/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ec15a59cf5af7be74194f7ab02d0f59a62bdcf1a537677ce67a2537c9b87fcda", size = 23821, upload-time = "2025-09-27T18:37:12.48Z" }, + { url = "https://files.pythonhosted.org/packages/7d/33/45b24e4f44195b26521bc6f1a82197118f74df348556594bd2262bda1038/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:0eb9ff8191e8498cca014656ae6b8d61f39da5f95b488805da4bb029cccbfbaf", size = 21606, upload-time = "2025-09-27T18:37:13.485Z" }, + { url = "https://files.pythonhosted.org/packages/ff/0e/53dfaca23a69fbfbbf17a4b64072090e70717344c52eaaaa9c5ddff1e5f0/markupsafe-3.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:2713baf880df847f2bece4230d4d094280f4e67b1e813eec43b4c0e144a34ffe", size = 23043, upload-time = "2025-09-27T18:37:14.408Z" }, + { url = "https://files.pythonhosted.org/packages/46/11/f333a06fc16236d5238bfe74daccbca41459dcd8d1fa952e8fbd5dccfb70/markupsafe-3.0.3-cp314-cp314-win32.whl", hash = "sha256:729586769a26dbceff69f7a7dbbf59ab6572b99d94576a5592625d5b411576b9", size = 14747, upload-time = "2025-09-27T18:37:15.36Z" }, + { url = "https://files.pythonhosted.org/packages/28/52/182836104b33b444e400b14f797212f720cbc9ed6ba34c800639d154e821/markupsafe-3.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:bdc919ead48f234740ad807933cdf545180bfbe9342c2bb451556db2ed958581", size = 15341, upload-time = "2025-09-27T18:37:16.496Z" }, + { url = "https://files.pythonhosted.org/packages/6f/18/acf23e91bd94fd7b3031558b1f013adfa21a8e407a3fdb32745538730382/markupsafe-3.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:5a7d5dc5140555cf21a6fefbdbf8723f06fcd2f63ef108f2854de715e4422cb4", size = 14073, upload-time = "2025-09-27T18:37:17.476Z" }, + { url = "https://files.pythonhosted.org/packages/3c/f0/57689aa4076e1b43b15fdfa646b04653969d50cf30c32a102762be2485da/markupsafe-3.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:1353ef0c1b138e1907ae78e2f6c63ff67501122006b0f9abad68fda5f4ffc6ab", size = 11661, upload-time = "2025-09-27T18:37:18.453Z" }, + { url = "https://files.pythonhosted.org/packages/89/c3/2e67a7ca217c6912985ec766c6393b636fb0c2344443ff9d91404dc4c79f/markupsafe-3.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:1085e7fbddd3be5f89cc898938f42c0b3c711fdcb37d75221de2666af647c175", size = 12069, upload-time = "2025-09-27T18:37:19.332Z" }, + { url = "https://files.pythonhosted.org/packages/f0/00/be561dce4e6ca66b15276e184ce4b8aec61fe83662cce2f7d72bd3249d28/markupsafe-3.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1b52b4fb9df4eb9ae465f8d0c228a00624de2334f216f178a995ccdcf82c4634", size = 25670, upload-time = "2025-09-27T18:37:20.245Z" }, + { url = "https://files.pythonhosted.org/packages/50/09/c419f6f5a92e5fadde27efd190eca90f05e1261b10dbd8cbcb39cd8ea1dc/markupsafe-3.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:fed51ac40f757d41b7c48425901843666a6677e3e8eb0abcff09e4ba6e664f50", size = 23598, upload-time = "2025-09-27T18:37:21.177Z" }, + { url = "https://files.pythonhosted.org/packages/22/44/a0681611106e0b2921b3033fc19bc53323e0b50bc70cffdd19f7d679bb66/markupsafe-3.0.3-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:f190daf01f13c72eac4efd5c430a8de82489d9cff23c364c3ea822545032993e", size = 23261, upload-time = "2025-09-27T18:37:22.167Z" }, + { url = "https://files.pythonhosted.org/packages/5f/57/1b0b3f100259dc9fffe780cfb60d4be71375510e435efec3d116b6436d43/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:e56b7d45a839a697b5eb268c82a71bd8c7f6c94d6fd50c3d577fa39a9f1409f5", size = 24835, upload-time = "2025-09-27T18:37:23.296Z" }, + { url = "https://files.pythonhosted.org/packages/26/6a/4bf6d0c97c4920f1597cc14dd720705eca0bf7c787aebc6bb4d1bead5388/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:f3e98bb3798ead92273dc0e5fd0f31ade220f59a266ffd8a4f6065e0a3ce0523", size = 22733, upload-time = "2025-09-27T18:37:24.237Z" }, + { url = "https://files.pythonhosted.org/packages/14/c7/ca723101509b518797fedc2fdf79ba57f886b4aca8a7d31857ba3ee8281f/markupsafe-3.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:5678211cb9333a6468fb8d8be0305520aa073f50d17f089b5b4b477ea6e67fdc", size = 23672, upload-time = "2025-09-27T18:37:25.271Z" }, + { url = "https://files.pythonhosted.org/packages/fb/df/5bd7a48c256faecd1d36edc13133e51397e41b73bb77e1a69deab746ebac/markupsafe-3.0.3-cp314-cp314t-win32.whl", hash = "sha256:915c04ba3851909ce68ccc2b8e2cd691618c4dc4c4232fb7982bca3f41fd8c3d", size = 14819, upload-time = "2025-09-27T18:37:26.285Z" }, + { url = "https://files.pythonhosted.org/packages/1a/8a/0402ba61a2f16038b48b39bccca271134be00c5c9f0f623208399333c448/markupsafe-3.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4faffd047e07c38848ce017e8725090413cd80cbc23d86e55c587bf979e579c9", size = 15426, upload-time = "2025-09-27T18:37:27.316Z" }, + { url = "https://files.pythonhosted.org/packages/70/bc/6f1c2f612465f5fa89b95bead1f44dcb607670fd42891d8fdcd5d039f4f4/markupsafe-3.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:32001d6a8fc98c8cb5c947787c5d08b0a50663d139f1305bac5885d98d9b40fa", size = 14146, upload-time = "2025-09-27T18:37:28.327Z" }, +] + +[[package]] +name = "matplotlib-inline" +version = "0.1.7" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/99/5b/a36a337438a14116b16480db471ad061c36c3694df7c2084a0da7ba538b7/matplotlib_inline-0.1.7.tar.gz", hash = "sha256:8423b23ec666be3d16e16b60bdd8ac4e86e840ebd1dd11a30b9f117f2fa0ab90", size = 8159, upload-time = "2024-04-15T13:44:44.803Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8f/8e/9ad090d3553c280a8060fbf6e24dc1c0c29704ee7d1c372f0c174aa59285/matplotlib_inline-0.1.7-py3-none-any.whl", hash = "sha256:df192d39a4ff8f21b1895d72e6a13f5fcc5099f00fa84384e0ea28c2cc0653ca", size = 9899, upload-time = "2024-04-15T13:44:43.265Z" }, +] + +[[package]] +name = "mccabe" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e7/ff/0ffefdcac38932a54d2b5eed4e0ba8a408f215002cd178ad1df0f2806ff8/mccabe-0.7.0.tar.gz", hash = "sha256:348e0240c33b60bbdf4e523192ef919f28cb2c3d7d5c7794f74009290f236325", size = 9658, upload-time = "2022-01-24T01:14:51.113Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/27/1a/1f68f9ba0c207934b35b86a8ca3aad8395a3d6dd7921c0686e23853ff5a9/mccabe-0.7.0-py2.py3-none-any.whl", hash = "sha256:6c2d30ab6be0e4a46919781807b4f0d834ebdd6c6e3dca0bda5a15f863427b6e", size = 7350, upload-time = "2022-01-24T01:14:49.62Z" }, +] + +[[package]] +name = "mistune" +version = "3.1.4" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d7/02/a7fb8b21d4d55ac93cdcde9d3638da5dd0ebdd3a4fed76c7725e10b81cbe/mistune-3.1.4.tar.gz", hash = "sha256:b5a7f801d389f724ec702840c11d8fc48f2b33519102fc7ee739e8177b672164", size = 94588, upload-time = "2025-08-29T07:20:43.594Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7a/f0/8282d9641415e9e33df173516226b404d367a0fc55e1a60424a152913abc/mistune-3.1.4-py3-none-any.whl", hash = "sha256:93691da911e5d9d2e23bc54472892aff676df27a75274962ff9edc210364266d", size = 53481, upload-time = "2025-08-29T07:20:42.218Z" }, +] + +[[package]] +name = "mypy-extensions" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/6e/371856a3fb9d31ca8dac321cda606860fa4548858c0cc45d9d1d4ca2628b/mypy_extensions-1.1.0.tar.gz", hash = "sha256:52e68efc3284861e772bbcd66823fde5ae21fd2fdb51c62a211403730b916558", size = 6343, upload-time = "2025-04-22T14:54:24.164Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/79/7b/2c79738432f5c924bef5071f933bcc9efd0473bac3b4aa584a6f7c1c8df8/mypy_extensions-1.1.0-py3-none-any.whl", hash = "sha256:1be4cccdb0f2482337c4743e60421de3a356cd97508abadd57d47403e94f5505", size = 4963, upload-time = "2025-04-22T14:54:22.983Z" }, +] + +[[package]] +name = "nbclient" +version = "0.10.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-client" }, + { name = "jupyter-core" }, + { name = "nbformat" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/87/66/7ffd18d58eae90d5721f9f39212327695b749e23ad44b3881744eaf4d9e8/nbclient-0.10.2.tar.gz", hash = "sha256:90b7fc6b810630db87a6d0c2250b1f0ab4cf4d3c27a299b0cde78a4ed3fd9193", size = 62424, upload-time = "2024-12-19T10:32:27.164Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/34/6d/e7fa07f03a4a7b221d94b4d586edb754a9b0dc3c9e2c93353e9fa4e0d117/nbclient-0.10.2-py3-none-any.whl", hash = "sha256:4ffee11e788b4a27fabeb7955547e4318a5298f34342a4bfd01f2e1faaeadc3d", size = 25434, upload-time = "2024-12-19T10:32:24.139Z" }, +] + +[[package]] +name = "nbconvert" +version = "7.16.6" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "beautifulsoup4" }, + { name = "bleach", extra = ["css"] }, + { name = "defusedxml" }, + { name = "jinja2" }, + { name = "jupyter-core" }, + { name = "jupyterlab-pygments" }, + { name = "markupsafe" }, + { name = "mistune" }, + { name = "nbclient" }, + { name = "nbformat" }, + { name = "packaging" }, + { name = "pandocfilters" }, + { name = "pygments" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a3/59/f28e15fc47ffb73af68a8d9b47367a8630d76e97ae85ad18271b9db96fdf/nbconvert-7.16.6.tar.gz", hash = "sha256:576a7e37c6480da7b8465eefa66c17844243816ce1ccc372633c6b71c3c0f582", size = 857715, upload-time = "2025-01-28T09:29:14.724Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/9a/cd673b2f773a12c992f41309ef81b99da1690426bd2f96957a7ade0d3ed7/nbconvert-7.16.6-py3-none-any.whl", hash = "sha256:1375a7b67e0c2883678c48e506dc320febb57685e5ee67faa51b18a90f3a712b", size = 258525, upload-time = "2025-01-28T09:29:12.551Z" }, +] + +[[package]] +name = "nbformat" +version = "5.10.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "fastjsonschema" }, + { name = "jsonschema" }, + { name = "jupyter-core" }, + { name = "traitlets" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/6d/fd/91545e604bc3dad7dca9ed03284086039b294c6b3d75c0d2fa45f9e9caf3/nbformat-5.10.4.tar.gz", hash = "sha256:322168b14f937a5d11362988ecac2a4952d3d8e3a2cbeb2319584631226d5b3a", size = 142749, upload-time = "2024-04-04T11:20:37.371Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a9/82/0340caa499416c78e5d8f5f05947ae4bc3cba53c9f038ab6e9ed964e22f1/nbformat-5.10.4-py3-none-any.whl", hash = "sha256:3b48d6c8fbca4b299bf3982ea7db1af21580e4fec269ad087b9e81588891200b", size = 78454, upload-time = "2024-04-04T11:20:34.895Z" }, +] + +[[package]] +name = "nest-asyncio" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/83/f8/51569ac65d696c8ecbee95938f89d4abf00f47d58d48f6fbabfe8f0baefe/nest_asyncio-1.6.0.tar.gz", hash = "sha256:6f172d5449aca15afd6c646851f4e31e02c598d553a667e38cafa997cfec55fe", size = 7418, upload-time = "2024-01-21T14:25:19.227Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/c4/c2971a3ba4c6103a3d10c4b0f24f461ddc027f0f09763220cf35ca1401b3/nest_asyncio-1.6.0-py3-none-any.whl", hash = "sha256:87af6efd6b5e897c81050477ef65c62e2b2f35d51703cae01aff2905b1852e1c", size = 5195, upload-time = "2024-01-21T14:25:17.223Z" }, +] + +[[package]] +name = "notebook-shim" +version = "0.2.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "jupyter-server" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/54/d2/92fa3243712b9a3e8bafaf60aac366da1cada3639ca767ff4b5b3654ec28/notebook_shim-0.2.4.tar.gz", hash = "sha256:b4b2cfa1b65d98307ca24361f5b30fe785b53c3fd07b7a47e89acb5e6ac638cb", size = 13167, upload-time = "2024-02-14T23:35:18.353Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f9/33/bd5b9137445ea4b680023eb0469b2bb969d61303dedb2aac6560ff3d14a1/notebook_shim-0.2.4-py3-none-any.whl", hash = "sha256:411a5be4e9dc882a074ccbcae671eda64cceb068767e9a3419096986560e1cef", size = 13307, upload-time = "2024-02-14T23:35:16.286Z" }, +] + +[[package]] +name = "packaging" +version = "25.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a1/d4/1fc4078c65507b51b96ca8f8c3ba19e6a61c8253c72794544580a7b6c24d/packaging-25.0.tar.gz", hash = "sha256:d443872c98d677bf60f6a1f2f8c1cb748e8fe762d2bf9d3148b5599295b0fc4f", size = 165727, upload-time = "2025-04-19T11:48:59.673Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/20/12/38679034af332785aac8774540895e234f4d07f7545804097de4b666afd8/packaging-25.0-py3-none-any.whl", hash = "sha256:29572ef2b1f17581046b3a2227d5c611fb25ec70ca1ba8554b24b0e69331a484", size = 66469, upload-time = "2025-04-19T11:48:57.875Z" }, +] + +[[package]] +name = "pandocfilters" +version = "1.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/70/6f/3dd4940bbe001c06a65f88e36bad298bc7a0de5036115639926b0c5c0458/pandocfilters-1.5.1.tar.gz", hash = "sha256:002b4a555ee4ebc03f8b66307e287fa492e4a77b4ea14d3f934328297bb4939e", size = 8454, upload-time = "2024-01-18T20:08:13.726Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ef/af/4fbc8cab944db5d21b7e2a5b8e9211a03a79852b1157e2c102fcc61ac440/pandocfilters-1.5.1-py2.py3-none-any.whl", hash = "sha256:93be382804a9cdb0a7267585f157e5d1731bbe5545a85b268d6f5fe6232de2bc", size = 8663, upload-time = "2024-01-18T20:08:11.28Z" }, +] + +[[package]] +name = "parso" +version = "0.8.5" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d4/de/53e0bcf53d13e005bd8c92e7855142494f41171b34c2536b86187474184d/parso-0.8.5.tar.gz", hash = "sha256:034d7354a9a018bdce352f48b2a8a450f05e9d6ee85db84764e9b6bd96dafe5a", size = 401205, upload-time = "2025-08-23T15:15:28.028Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/16/32/f8e3c85d1d5250232a5d3477a2a28cc291968ff175caeadaf3cc19ce0e4a/parso-0.8.5-py2.py3-none-any.whl", hash = "sha256:646204b5ee239c396d040b90f9e272e9a8017c630092bf59980beb62fd033887", size = 106668, upload-time = "2025-08-23T15:15:25.663Z" }, +] + +[[package]] +name = "pathspec" +version = "0.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/ca/bc/f35b8446f4531a7cb215605d100cd88b7ac6f44ab3fc94870c120ab3adbf/pathspec-0.12.1.tar.gz", hash = "sha256:a482d51503a1ab33b1c67a6c3813a26953dbdc71c31dacaef9a838c4e29f5712", size = 51043, upload-time = "2023-12-10T22:30:45Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/20/ff623b09d963f88bfde16306a54e12ee5ea43e9b597108672ff3a408aad6/pathspec-0.12.1-py3-none-any.whl", hash = "sha256:a0d503e138a4c123b27490a4f7beda6a01c6f288df0e4a8b79c7eb0dc7b4cc08", size = 31191, upload-time = "2023-12-10T22:30:43.14Z" }, +] + +[[package]] +name = "pexpect" +version = "4.9.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/42/92/cc564bf6381ff43ce1f4d06852fc19a2f11d180f23dc32d9588bee2f149d/pexpect-4.9.0.tar.gz", hash = "sha256:ee7d41123f3c9911050ea2c2dac107568dc43b2d3b0c7557a33212c398ead30f", size = 166450, upload-time = "2023-11-25T09:07:26.339Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/c3/059298687310d527a58bb01f3b1965787ee3b40dce76752eda8b44e9a2c5/pexpect-4.9.0-py2.py3-none-any.whl", hash = "sha256:7236d1e080e4936be2dc3e326cec0af72acf9212a7e1d060210e70a47e253523", size = 63772, upload-time = "2023-11-25T06:56:14.81Z" }, +] + +[[package]] +name = "platformdirs" +version = "4.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/61/33/9611380c2bdb1225fdef633e2a9610622310fed35ab11dac9620972ee088/platformdirs-4.5.0.tar.gz", hash = "sha256:70ddccdd7c99fc5942e9fc25636a8b34d04c24b335100223152c2803e4063312", size = 21632, upload-time = "2025-10-08T17:44:48.791Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/73/cb/ac7874b3e5d58441674fb70742e6c374b28b0c7cb988d37d991cde47166c/platformdirs-4.5.0-py3-none-any.whl", hash = "sha256:e578a81bb873cbb89a41fcc904c7ef523cc18284b7e3b3ccf06aca1403b7ebd3", size = 18651, upload-time = "2025-10-08T17:44:47.223Z" }, +] + +[[package]] +name = "pluggy" +version = "1.6.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f9/e2/3e91f31a7d2b083fe6ef3fa267035b518369d9511ffab804f839851d2779/pluggy-1.6.0.tar.gz", hash = "sha256:7dcc130b76258d33b90f61b658791dede3486c3e6bfb003ee5c9bfb396dd22f3", size = 69412, upload-time = "2025-05-15T12:30:07.975Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/54/20/4d324d65cc6d9205fabedc306948156824eb9f0ee1633355a8f7ec5c66bf/pluggy-1.6.0-py3-none-any.whl", hash = "sha256:e920276dd6813095e9377c0bc5566d94c932c33b27a3e3945d8389c374dd4746", size = 20538, upload-time = "2025-05-15T12:30:06.134Z" }, +] + +[[package]] +name = "prometheus-client" +version = "0.23.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/23/53/3edb5d68ecf6b38fcbcc1ad28391117d2a322d9a1a3eff04bfdb184d8c3b/prometheus_client-0.23.1.tar.gz", hash = "sha256:6ae8f9081eaaaf153a2e959d2e6c4f4fb57b12ef76c8c7980202f1e57b48b2ce", size = 80481, upload-time = "2025-09-18T20:47:25.043Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b8/db/14bafcb4af2139e046d03fd00dea7873e48eafe18b7d2797e73d6681f210/prometheus_client-0.23.1-py3-none-any.whl", hash = "sha256:dd1913e6e76b59cfe44e7a4b83e01afc9873c1bdfd2ed8739f1e76aeca115f99", size = 61145, upload-time = "2025-09-18T20:47:23.875Z" }, +] + +[[package]] +name = "prompt-toolkit" +version = "3.0.52" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "wcwidth" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/a1/96/06e01a7b38dce6fe1db213e061a4602dd6032a8a97ef6c1a862537732421/prompt_toolkit-3.0.52.tar.gz", hash = "sha256:28cde192929c8e7321de85de1ddbe736f1375148b02f2e17edd840042b1be855", size = 434198, upload-time = "2025-08-27T15:24:02.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/84/03/0d3ce49e2505ae70cf43bc5bb3033955d2fc9f932163e84dc0779cc47f48/prompt_toolkit-3.0.52-py3-none-any.whl", hash = "sha256:9aac639a3bbd33284347de5ad8d68ecc044b91a762dc39b7c21095fcd6a19955", size = 391431, upload-time = "2025-08-27T15:23:59.498Z" }, +] + +[[package]] +name = "psutil" +version = "7.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/89/fc/889242351a932d6183eec5df1fc6539b6f36b6a88444f1e63f18668253aa/psutil-7.1.1.tar.gz", hash = "sha256:092b6350145007389c1cfe5716050f02030a05219d90057ea867d18fe8d372fc", size = 487067, upload-time = "2025-10-19T15:43:59.373Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/30/f97f8fb1f9ecfbeae4b5ca738dcae66ab28323b5cfbc96cb5565f3754056/psutil-7.1.1-cp36-abi3-macosx_10_9_x86_64.whl", hash = "sha256:8fa59d7b1f01f0337f12cd10dbd76e4312a4d3c730a4fedcbdd4e5447a8b8460", size = 244221, upload-time = "2025-10-19T15:44:03.145Z" }, + { url = "https://files.pythonhosted.org/packages/7b/98/b8d1f61ebf35f4dbdbaabadf9208282d8adc820562f0257e5e6e79e67bf2/psutil-7.1.1-cp36-abi3-macosx_11_0_arm64.whl", hash = "sha256:2a95104eae85d088891716db676f780c1404fc15d47fde48a46a5d61e8f5ad2c", size = 245660, upload-time = "2025-10-19T15:44:05.657Z" }, + { url = "https://files.pythonhosted.org/packages/f0/4a/b8015d7357fefdfe34bc4a3db48a107bae4bad0b94fb6eb0613f09a08ada/psutil-7.1.1-cp36-abi3-manylinux_2_12_i686.manylinux2010_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:98629cd8567acefcc45afe2f4ba1e9290f579eacf490a917967decce4b74ee9b", size = 286963, upload-time = "2025-10-19T15:44:08.877Z" }, + { url = "https://files.pythonhosted.org/packages/3d/3c/b56076bb35303d0733fc47b110a1c9cce081a05ae2e886575a3587c1ee76/psutil-7.1.1-cp36-abi3-manylinux_2_12_x86_64.manylinux2010_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:92ebc58030fb054fa0f26c3206ef01c31c29d67aee1367e3483c16665c25c8d2", size = 290118, upload-time = "2025-10-19T15:44:11.897Z" }, + { url = "https://files.pythonhosted.org/packages/dc/af/c13d360c0adc6f6218bf9e2873480393d0f729c8dd0507d171f53061c0d3/psutil-7.1.1-cp36-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:146a704f224fb2ded2be3da5ac67fc32b9ea90c45b51676f9114a6ac45616967", size = 292587, upload-time = "2025-10-19T15:44:14.67Z" }, + { url = "https://files.pythonhosted.org/packages/90/2d/c933e7071ba60c7862813f2c7108ec4cf8304f1c79660efeefd0de982258/psutil-7.1.1-cp37-abi3-win32.whl", hash = "sha256:295c4025b5cd880f7445e4379e6826f7307e3d488947bf9834e865e7847dc5f7", size = 243772, upload-time = "2025-10-19T15:44:16.938Z" }, + { url = "https://files.pythonhosted.org/packages/be/f3/11fd213fff15427bc2853552138760c720fd65032d99edfb161910d04127/psutil-7.1.1-cp37-abi3-win_amd64.whl", hash = "sha256:9b4f17c5f65e44f69bd3a3406071a47b79df45cf2236d1f717970afcb526bcd3", size = 246936, upload-time = "2025-10-19T15:44:18.663Z" }, + { url = "https://files.pythonhosted.org/packages/0a/8d/8a9a45c8b655851f216c1d44f68e3533dc8d2c752ccd0f61f1aa73be4893/psutil-7.1.1-cp37-abi3-win_arm64.whl", hash = "sha256:5457cf741ca13da54624126cd5d333871b454ab133999a9a103fb097a7d7d21a", size = 243944, upload-time = "2025-10-19T15:44:20.666Z" }, +] + +[[package]] +name = "ptyprocess" +version = "0.7.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/20/e5/16ff212c1e452235a90aeb09066144d0c5a6a8c0834397e03f5224495c4e/ptyprocess-0.7.0.tar.gz", hash = "sha256:5c5d0a3b48ceee0b48485e0c26037c0acd7d29765ca3fbb5cb3831d347423220", size = 70762, upload-time = "2020-12-28T15:15:30.155Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/22/a6/858897256d0deac81a172289110f31629fc4cee19b6f01283303e18c8db3/ptyprocess-0.7.0-py2.py3-none-any.whl", hash = "sha256:4b41f3967fce3af57cc7e94b888626c18bf37a083e3651ca8feeb66d492fef35", size = 13993, upload-time = "2020-12-28T15:15:28.35Z" }, +] + +[[package]] +name = "pure-eval" +version = "0.2.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cd/05/0a34433a064256a578f1783a10da6df098ceaa4a57bbeaa96a6c0352786b/pure_eval-0.2.3.tar.gz", hash = "sha256:5f4e983f40564c576c7c8635ae88db5956bb2229d7e9237d03b3c0b0190eaf42", size = 19752, upload-time = "2024-07-21T12:58:21.801Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/37/efad0257dc6e593a18957422533ff0f87ede7c9c6ea010a2177d738fb82f/pure_eval-0.2.3-py3-none-any.whl", hash = "sha256:1db8e35b67b3d218d818ae653e27f06c3aa420901fa7b081ca98cbedc874e0d0", size = 11842, upload-time = "2024-07-21T12:58:20.04Z" }, +] + +[[package]] +name = "pycodestyle" +version = "2.12.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/aa/210b2c9aedd8c1cbeea31a50e42050ad56187754b34eb214c46709445801/pycodestyle-2.12.1.tar.gz", hash = "sha256:6838eae08bbce4f6accd5d5572075c63626a15ee3e6f842df996bf62f6d73521", size = 39232, upload-time = "2024-08-04T20:26:54.576Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/3a/d8/a211b3f85e99a0daa2ddec96c949cac6824bd305b040571b82a03dd62636/pycodestyle-2.12.1-py2.py3-none-any.whl", hash = "sha256:46f0fb92069a7c28ab7bb558f05bfc0110dac69a0cd23c61ea0040283a9d78b3", size = 31284, upload-time = "2024-08-04T20:26:53.173Z" }, +] + +[[package]] +name = "pycparser" +version = "2.23" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fe/cf/d2d3b9f5699fb1e4615c8e32ff220203e43b248e1dfcc6736ad9057731ca/pycparser-2.23.tar.gz", hash = "sha256:78816d4f24add8f10a06d6f05b4d424ad9e96cfebf68a4ddc99c65c0720d00c2", size = 173734, upload-time = "2025-09-09T13:23:47.91Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a0/e3/59cd50310fc9b59512193629e1984c1f95e5c8ae6e5d8c69532ccc65a7fe/pycparser-2.23-py3-none-any.whl", hash = "sha256:e5c6e8d3fbad53479cab09ac03729e0a9faf2bee3db8208a550daf5af81a5934", size = 118140, upload-time = "2025-09-09T13:23:46.651Z" }, +] + +[[package]] +name = "pydocstyle" +version = "6.3.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "snowballstemmer" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/e9/5c/d5385ca59fd065e3c6a5fe19f9bc9d5ea7f2509fa8c9c22fb6b2031dd953/pydocstyle-6.3.0.tar.gz", hash = "sha256:7ce43f0c0ac87b07494eb9c0b462c0b73e6ff276807f204d6b53edc72b7e44e1", size = 36796, upload-time = "2023-01-17T20:29:19.838Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/ea/99ddefac41971acad68f14114f38261c1f27dac0b3ec529824ebc739bdaa/pydocstyle-6.3.0-py3-none-any.whl", hash = "sha256:118762d452a49d6b05e194ef344a55822987a462831ade91ec5c06fd2169d019", size = 38038, upload-time = "2023-01-17T20:29:18.094Z" }, +] + +[[package]] +name = "pyflakes" +version = "3.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/57/f9/669d8c9c86613c9d568757c7f5824bd3197d7b1c6c27553bc5618a27cce2/pyflakes-3.2.0.tar.gz", hash = "sha256:1c61603ff154621fb2a9172037d84dca3500def8c8b630657d1701f026f8af3f", size = 63788, upload-time = "2024-01-05T00:28:47.703Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d4/d7/f1b7db88d8e4417c5d47adad627a93547f44bdc9028372dbd2313f34a855/pyflakes-3.2.0-py2.py3-none-any.whl", hash = "sha256:84b5be138a2dfbb40689ca07e2152deb896a65c3a3e24c251c5c62489568074a", size = 62725, upload-time = "2024-01-05T00:28:45.903Z" }, +] + +[[package]] +name = "pygments" +version = "2.19.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/b0/77/a5b8c569bf593b0140bde72ea885a803b82086995367bf2037de0159d924/pygments-2.19.2.tar.gz", hash = "sha256:636cb2477cec7f8952536970bc533bc43743542f70392ae026374600add5b887", size = 4968631, upload-time = "2025-06-21T13:39:12.283Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c7/21/705964c7812476f378728bdf590ca4b771ec72385c533964653c68e86bdc/pygments-2.19.2-py3-none-any.whl", hash = "sha256:86540386c03d588bb81d44bc3928634ff26449851e99741617ecb9037ee5ec0b", size = 1225217, upload-time = "2025-06-21T13:39:07.939Z" }, +] + +[[package]] +name = "pyjson5" +version = "2.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6e/d9/005aaaf5077cde946282b22da9404965477fb140fa6836b52d2e0955a391/pyjson5-2.0.0.tar.gz", hash = "sha256:7ccc98586cf87dfeadfa76de8df4c9cb0c3d21d1b559e28812dd9633748d6e25", size = 305865, upload-time = "2025-10-02T00:23:02.154Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/74/f0/a0273fa863a96fb450336f5c8f3126cd1fefe17bd60451fd66dc58d0ab6c/pyjson5-2.0.0-cp313-cp313-macosx_10_13_universal2.whl", hash = "sha256:6840b70981cb838e025a9f952004c6b59655c91076067abf01317fc10681cd7b", size = 299171, upload-time = "2025-10-02T00:20:43.467Z" }, + { url = "https://files.pythonhosted.org/packages/e0/8c/402811e522cbed81f414056c1683c129127034a9f567fa707200c3c67cf7/pyjson5-2.0.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:dd89ea40f33d1d835493ab0fc3b7b4d7c0c40254e0ddeefde08e0e9d98aebbde", size = 158725, upload-time = "2025-10-02T00:20:44.537Z" }, + { url = "https://files.pythonhosted.org/packages/2f/00/f2392fe52b50aadf5037381a52f9eda0081be6c429d9d85b47f387ecda38/pyjson5-2.0.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:dc47fe45e5c20137ac10e8f2d27985d97e67fa71410819a576fa21f181b8e94b", size = 150027, upload-time = "2025-10-02T00:20:45.54Z" }, + { url = "https://files.pythonhosted.org/packages/36/5c/e3f18bb7059e4e4992b76bf2e9d8594615361313df2fb78b4c08d441a8a3/pyjson5-2.0.0-cp313-cp313-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:eb4e885db6fe2421735b913f43028578a30dbf9f4c86673649b52bbee91231a9", size = 187241, upload-time = "2025-10-02T00:20:46.869Z" }, + { url = "https://files.pythonhosted.org/packages/ae/96/1d9cf5bf5ea863d61ab977f6e9842c8519ff430dbceb58580e06deb1dd4a/pyjson5-2.0.0-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:4b56f404b77f6b6d4a53b74c4d3f989d33b33ec451d7b178dad43d2fb81204dc", size = 168678, upload-time = "2025-10-02T00:20:47.871Z" }, + { url = "https://files.pythonhosted.org/packages/f5/f4/d0704fef397d0d28d1fc16f4577883331d46b6a2f2eb59c4cc1a364b19f9/pyjson5-2.0.0-cp313-cp313-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:20db35f29815572130ec8d539c2465c1e4e7c7677298d6f79216bda611577709", size = 169324, upload-time = "2025-10-02T00:20:48.829Z" }, + { url = "https://files.pythonhosted.org/packages/df/8c/84eeafe750d04016aedb24cb02959e65a42ef09de675d0dca96013baf199/pyjson5-2.0.0-cp313-cp313-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:445a21f0a6333f352251e7cb5a8f471ce44e7d74892558bd256e0bb889c1961e", size = 184377, upload-time = "2025-10-02T00:20:50.41Z" }, + { url = "https://files.pythonhosted.org/packages/9a/80/119b2b01ae625d06ab1d6d5b021f4988fea28cf0ce8921b83ee6f944a1ab/pyjson5-2.0.0-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:1bbabb12147f85850ba3b6a5813a3e9cc417ac9d0a66d57af42dd714f563b51e", size = 186931, upload-time = "2025-10-02T00:20:51.642Z" }, + { url = "https://files.pythonhosted.org/packages/d8/d3/82f366ccadbe8a250e1b810ffa4a33006f66ec287e382632765b63758835/pyjson5-2.0.0-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:49f490d68bebfccb1aa01b612beef3abffa720c4069d82d74af8b55cf15cd214", size = 180127, upload-time = "2025-10-02T00:20:52.99Z" }, + { url = "https://files.pythonhosted.org/packages/65/e2/8b96a72e8ab2e92c3748feafcec79f3e6219bf5289e5b053da7fe7fcb3f3/pyjson5-2.0.0-cp313-cp313-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:06cd493d607d94e841b6a8452f33bb45f55430ff33c992b8c4b671f8bebd2a14", size = 175413, upload-time = "2025-10-02T00:20:54.552Z" }, + { url = "https://files.pythonhosted.org/packages/f8/9d/ea8542d9184616bedc3c7d8d8ac32d7e82fa4e347da08744b81cbffe00e3/pyjson5-2.0.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:9eea8981d20bf6c37939c013c51ea1e7c9252429b01002a51afce59081b9ae0f", size = 1150022, upload-time = "2025-10-02T00:20:55.861Z" }, + { url = "https://files.pythonhosted.org/packages/6d/af/8b8060bb9609bf4ad0bfc6fb9f52373aada55c93880c9597e41aecc2d266/pyjson5-2.0.0-cp313-cp313-musllinux_1_2_armv7l.whl", hash = "sha256:863a0688a090e8c0add0d769ddf51e2cd48edd1d585f34272e7b4f095593175b", size = 1011750, upload-time = "2025-10-02T00:20:57.505Z" }, + { url = "https://files.pythonhosted.org/packages/14/3a/9e49bbecc03ebc21c0b45a4f51e74c87c5250822e6bcffb8f8bcf9e800fd/pyjson5-2.0.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:a4a0e0835d7a5c7b18c3333dd01940ee2d160560e50851803cfaab27cc298df3", size = 1324079, upload-time = "2025-10-02T00:20:58.882Z" }, + { url = "https://files.pythonhosted.org/packages/2f/94/951c1f531a5369d8859e42a5ac60c7dacf4d8585bb25f37ca7bdd46b9cb1/pyjson5-2.0.0-cp313-cp313-musllinux_1_2_ppc64le.whl", hash = "sha256:42f3d404367f7365325be1f1460c515d40022d41bece841d47cf00e616967308", size = 1243622, upload-time = "2025-10-02T00:21:00.452Z" }, + { url = "https://files.pythonhosted.org/packages/99/0b/edb91338101501f1ec18f003e2a8da7650409537f446c7db96d302c7870d/pyjson5-2.0.0-cp313-cp313-musllinux_1_2_riscv64.whl", hash = "sha256:3765c07dc1cd5b954a3e793c73c5725bac5431b83f7c807d695d73bbf78ae431", size = 1182052, upload-time = "2025-10-02T00:21:02.139Z" }, + { url = "https://files.pythonhosted.org/packages/64/f2/54e28fd04aa27375ec4baa447fd58a894cf3cfd20c6a0dad160ee8ec115c/pyjson5-2.0.0-cp313-cp313-musllinux_1_2_s390x.whl", hash = "sha256:51d33381fc268989d6ba3b6ff44e45b634ee490fc658704d04eca59ed9f8b53d", size = 1357131, upload-time = "2025-10-02T00:21:03.643Z" }, + { url = "https://files.pythonhosted.org/packages/ac/1a/80b50d0fae42cf58e1a37f5b87543c445bb1781ffcc69c94cc73ed397d67/pyjson5-2.0.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9f42e70d01668ccff505de17a9358fd09b26f9de037dbc8f1476215f217d3dc1", size = 1212220, upload-time = "2025-10-02T00:21:05.044Z" }, + { url = "https://files.pythonhosted.org/packages/39/fc/44fb44d5b915fc1c871aea2947d87b4cfd77c9f6673ffdaf4e41b7365a46/pyjson5-2.0.0-cp313-cp313-win32.whl", hash = "sha256:62e02fd3a4aa7bc48d9ad04dbd22076d4c33c8161df2f72cdbd8588b8634cb5d", size = 115225, upload-time = "2025-10-02T00:21:06.277Z" }, + { url = "https://files.pythonhosted.org/packages/e9/60/d28dcdc482ed36196ee7523f47b1869f92a998777d46c80cf84ec1c8c962/pyjson5-2.0.0-cp313-cp313-win_amd64.whl", hash = "sha256:5318cd5e7d130fb2532c0d295a5c914ee1ab629bc0c57b1ef625bddb272442c4", size = 135384, upload-time = "2025-10-02T00:21:07.284Z" }, + { url = "https://files.pythonhosted.org/packages/79/3e/14be4a4efa651dab867057d81b4d56b1c9d5328418ca0b1d08d5e953e8d7/pyjson5-2.0.0-cp313-cp313-win_arm64.whl", hash = "sha256:b274a6c6affca4a3210359bf486940ee08dbc9875f896ab19a14e344d9bbf322", size = 116783, upload-time = "2025-10-02T00:21:08.713Z" }, + { url = "https://files.pythonhosted.org/packages/79/25/4a81e6d5611b38806e8f87a5b1cf4cbac21b9781c1cbba02c8e43ebd9664/pyjson5-2.0.0-cp314-cp314-macosx_10_13_universal2.whl", hash = "sha256:6ae6b65bc5a45e853b462d840fc32be1df4dab8dbd48b1ff3078b8dac2df2f09", size = 301159, upload-time = "2025-10-02T00:21:09.745Z" }, + { url = "https://files.pythonhosted.org/packages/a6/f4/8c948e8a8b1a518fe87a114df1d58ab5f80b55b6601b64f8649438293bfd/pyjson5-2.0.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:6b24990927f723c2fff183ec7e14507f8ae3ce22743ac312aa9bf1327f9153dd", size = 159730, upload-time = "2025-10-02T00:21:11.946Z" }, + { url = "https://files.pythonhosted.org/packages/39/1b/9cd7acea4c0e5a4ed44a79b99fc7e3a50b69639ea9f926efc35d660bef04/pyjson5-2.0.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:a84949318c52844ced26622a733ca54215ccfa9ee87eb38f1c92ee1ed5994827", size = 151029, upload-time = "2025-10-02T00:21:12.953Z" }, + { url = "https://files.pythonhosted.org/packages/c4/ff/136636d1ab42f98c55011d2b25a45b3f1107bef10248506d6bf549c8eabd/pyjson5-2.0.0-cp314-cp314-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:10fa949fd41e8583170e2b8404c026d8e088d370428b87270a3a8df5a09ffac5", size = 187718, upload-time = "2025-10-02T00:21:14.225Z" }, + { url = "https://files.pythonhosted.org/packages/e0/97/e104682432b02f1458de22478d2b62caa607426e8284bec4680a3537cadd/pyjson5-2.0.0-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ccbc7a0cf1d9b8c0851b84601650ce9772e526a1a444633be6827aa162c20b54", size = 171291, upload-time = "2025-10-02T00:21:15.322Z" }, + { url = "https://files.pythonhosted.org/packages/a2/91/bf4eacd990f93f8b5afe717f915ed248595261fcfb47e7718e17c55f5069/pyjson5-2.0.0-cp314-cp314-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:4e193346ab7c49605be4ec240c81d91014a276a163d5bba67eb53e64f425cecf", size = 168555, upload-time = "2025-10-02T00:21:16.519Z" }, + { url = "https://files.pythonhosted.org/packages/24/70/fc2147cade7bd91c4d3726a200ae9556bcb45e294d8c57a904f15da16eea/pyjson5-2.0.0-cp314-cp314-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:25e9b32e21d4928201e2c410bafd196b0a4f0034761378821e99fc80c21ed0e3", size = 185817, upload-time = "2025-10-02T00:21:17.628Z" }, + { url = "https://files.pythonhosted.org/packages/01/48/a8c396f25b53880bd06beb11ea8f63a42a6b8f9b82d42cc0cf6b0df8ca9f/pyjson5-2.0.0-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:63b0300e5ea302c107e518ef185c6f4ab8af49a5d4a52ed93e3e287fa8a6c69f", size = 188903, upload-time = "2025-10-02T00:21:19.058Z" }, + { url = "https://files.pythonhosted.org/packages/7c/a3/8ffe10a49652bfd769348c6eca577463c2b3938baab5e62f3896fc5da0b7/pyjson5-2.0.0-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:72f5b5832d2c3055be492cf9853ce7fe57b57cc5e664f1327f10211cbd1114ef", size = 180252, upload-time = "2025-10-02T00:21:20.174Z" }, + { url = "https://files.pythonhosted.org/packages/7f/f0/801b0523f679a9bd5356210be9a9b074fc14e0e969f2ed1f789cf6af3c45/pyjson5-2.0.0-cp314-cp314-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:da790aeb2dd88be1c94ea95b5ff4915614109e9e025df7f0936dadc01ae21e0b", size = 175965, upload-time = "2025-10-02T00:21:21.252Z" }, + { url = "https://files.pythonhosted.org/packages/ea/04/ab703bccebc02c31056a525b7f06c473f141dc5bf96fe314893911a7b9ad/pyjson5-2.0.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ee211f71e3d0e7550c09b407dc75d01bbe6d5ed2ac7ee6aa54f870ebe17541aa", size = 1151968, upload-time = "2025-10-02T00:21:22.982Z" }, + { url = "https://files.pythonhosted.org/packages/70/18/5c665a34ef6123d4c4f70173e30f533bbcf36ca76e3fa7c03b8400b2e34c/pyjson5-2.0.0-cp314-cp314-musllinux_1_2_armv7l.whl", hash = "sha256:bf8e84ac6d58380b5fda77985f7acea5afe45bd45e24e77aca0a6912d25222fc", size = 1009858, upload-time = "2025-10-02T00:21:24.305Z" }, + { url = "https://files.pythonhosted.org/packages/f1/bb/7641ee31fedbe337f5c7ed505b8491a96a94fdcc1567b0b1b2b3633ec755/pyjson5-2.0.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:f0dd8b38187d0c2e741d40b9b348328172d0c894a90457f53b22e0f470b19009", size = 1324909, upload-time = "2025-10-02T00:21:25.874Z" }, + { url = "https://files.pythonhosted.org/packages/aa/7f/4cd19d65074d85ad583ff0517e3771af8dd3e87a40d6c25bdb81d38ff0b4/pyjson5-2.0.0-cp314-cp314-musllinux_1_2_ppc64le.whl", hash = "sha256:4ac06acc8ffa5686abad2220dbbef89f99694f1f6ddb70e4ec5455bf9fd91176", size = 1245254, upload-time = "2025-10-02T00:21:27.762Z" }, + { url = "https://files.pythonhosted.org/packages/54/26/0b96502136c4e74fa508e5a129119bd2df235dfd165acb0d74043e7fe6f0/pyjson5-2.0.0-cp314-cp314-musllinux_1_2_riscv64.whl", hash = "sha256:34d2700a9472817c043a18d711ee8fd7bb6270dbd4013473d9aac51cef6a7d77", size = 1182526, upload-time = "2025-10-02T00:21:29.433Z" }, + { url = "https://files.pythonhosted.org/packages/4c/34/e704bb86cd56092771589a08d1705d1e1310bdb955a752b26f483f7cd7c9/pyjson5-2.0.0-cp314-cp314-musllinux_1_2_s390x.whl", hash = "sha256:daf0e3ecf4f7888735050e1e4dc6f25f2f523706cf42de5c3f665042311db9dc", size = 1359472, upload-time = "2025-10-02T00:21:31.4Z" }, + { url = "https://files.pythonhosted.org/packages/0d/fe/d9b6e1a1e4e4d08b3f9b022e92b93abf7baab5c959296faf10aa89cf17b2/pyjson5-2.0.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:93580c6dcfb3f4f189c2a8477d9bf262cbc31878cd809c118ddc6b1bb8d6f645", size = 1212271, upload-time = "2025-10-02T00:21:32.796Z" }, + { url = "https://files.pythonhosted.org/packages/0b/0d/c4de90f7b1aecbc24bacc2ea4582e344043e8587c18596649950e877f5aa/pyjson5-2.0.0-cp314-cp314-win32.whl", hash = "sha256:dc53188059c2a73c8ddd0d17eaf970210a0ba48805e2178dfc8e71c063668d80", size = 118268, upload-time = "2025-10-02T00:22:01.555Z" }, + { url = "https://files.pythonhosted.org/packages/52/8c/1bb60288c4d480a0b51e376a17d6c4d932dc8420989d1db440e3b284aad5/pyjson5-2.0.0-cp314-cp314-win_amd64.whl", hash = "sha256:36ab5b8fcf1585623d12519f55e3efddbcbba6a0072e7168b4a3f48e3d4c64bb", size = 137772, upload-time = "2025-10-02T00:22:02.577Z" }, + { url = "https://files.pythonhosted.org/packages/53/ea/c5e9e5a44b194851347698b5065df642d42852641d32da0c71626f60f3fc/pyjson5-2.0.0-cp314-cp314-win_arm64.whl", hash = "sha256:371a8ee3d8c5f128f8024c5afc776b661043c2b2672de83a22ed6a4a289522f9", size = 121372, upload-time = "2025-10-02T00:22:03.666Z" }, + { url = "https://files.pythonhosted.org/packages/05/13/1391b985d3cded0038816d07a5d68e9f525a2b304a258e890bb5a4e2c64a/pyjson5-2.0.0-cp314-cp314t-macosx_10_13_universal2.whl", hash = "sha256:111d4f3b384a41eae225bce1709c745c1aeafd51214bcd850469c5c34167856c", size = 322542, upload-time = "2025-10-02T00:21:33.993Z" }, + { url = "https://files.pythonhosted.org/packages/24/c9/391def485564be4700e8baaa9a67292ed64a316050f625b84ef43358fbcc/pyjson5-2.0.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:15bc0bc456d2b101c469f57d0301a9624be682302d9ded569d5976c2c3b1130e", size = 169901, upload-time = "2025-10-02T00:21:35.081Z" }, + { url = "https://files.pythonhosted.org/packages/d7/9c/2612e236a40eac86fba453dc9db1c334b4fb77ac5d1630498b0e3a0fd8d3/pyjson5-2.0.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:151ea53ec2ce1c014c58ee755d3113af80dc44cb8ca1008eabb829cd1001ea7b", size = 161759, upload-time = "2025-10-02T00:21:36.543Z" }, + { url = "https://files.pythonhosted.org/packages/42/6f/f62b823d2e52ee7ddb25761b4bc8286c08199f6d42ddd1f01e8cb48a55a0/pyjson5-2.0.0-cp314-cp314t-manylinux1_i686.manylinux_2_28_i686.manylinux_2_5_i686.whl", hash = "sha256:92fb2ae9e367fc585f93573222bfa2512c6fe85703658f96adbebd8459b16d0c", size = 184972, upload-time = "2025-10-02T00:21:37.646Z" }, + { url = "https://files.pythonhosted.org/packages/02/72/2bca65d3ad6f19386fd0e350f66c7153c09173ca9a4742d4108d07e73f78/pyjson5-2.0.0-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:a59fcaf3927277a385f17863077d474f7451b1471ddcf6acdd28c76950d4c868", size = 172446, upload-time = "2025-10-02T00:21:38.723Z" }, + { url = "https://files.pythonhosted.org/packages/48/ec/752cf626a6caa69bf63fea4a7a47c9c57130578de502198105c3e2c5a55f/pyjson5-2.0.0-cp314-cp314t-manylinux2014_armv7l.manylinux_2_17_armv7l.manylinux_2_31_armv7l.whl", hash = "sha256:10cc1d0afd26479b2643ad3a67211e98fa72aa66030bbb695bb03d34cea2f801", size = 165790, upload-time = "2025-10-02T00:21:39.752Z" }, + { url = "https://files.pythonhosted.org/packages/80/a6/1b41a3f87e899d7b1c48e5fb45d1d306c478708806286f113a0495c13261/pyjson5-2.0.0-cp314-cp314t-manylinux2014_ppc64le.manylinux_2_17_ppc64le.manylinux_2_28_ppc64le.whl", hash = "sha256:c69f3b28b669e26b11766a200b7d0d8bbfbd9a48735e39b9675e8fb8d6a99744", size = 188500, upload-time = "2025-10-02T00:21:40.789Z" }, + { url = "https://files.pythonhosted.org/packages/c1/da/c9769cff5ce6b1c7e4b7e169fa1191bb2b6562849069ca11f79be6ed98d1/pyjson5-2.0.0-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:05d08aeb21bf547e1de4749d22b5638405aca12ba866b762d25d84575d327327", size = 193060, upload-time = "2025-10-02T00:21:41.885Z" }, + { url = "https://files.pythonhosted.org/packages/31/ef/a97738263b05d91189df4e081d2331389ec95f662d26242f678b53b7d9d7/pyjson5-2.0.0-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:321e107c7df19d281e858bcfdbb39282b8cc1163a1e8c142b9d91af1e1db8573", size = 181832, upload-time = "2025-10-02T00:21:42.959Z" }, + { url = "https://files.pythonhosted.org/packages/f0/15/2170f05792bddace7136100c30bdf73ec54fbed7ae86eb17f42e882238ec/pyjson5-2.0.0-cp314-cp314t-manylinux_2_31_riscv64.manylinux_2_39_riscv64.whl", hash = "sha256:66dceb6b83990bf81accbbc1a56897f1bb302b7da063d5eb2d756f26c4e98389", size = 178943, upload-time = "2025-10-02T00:21:44.041Z" }, + { url = "https://files.pythonhosted.org/packages/0f/e6/a7f40e1bfa312f1987577c583b4dc1008e05f016585f0858d527e7d6e48d/pyjson5-2.0.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:2de1242c168735ac589c2ca5708f95bd3d47c50f59464042316b56d77d807cae", size = 1153787, upload-time = "2025-10-02T00:21:45.727Z" }, + { url = "https://files.pythonhosted.org/packages/cc/e3/4efcc86258a63c5c8af79fd8fe06e0ff98cebcc56facf473dba3318455a3/pyjson5-2.0.0-cp314-cp314t-musllinux_1_2_armv7l.whl", hash = "sha256:505dd929b620886c4bcf2ba19ca842dc5606ed1ad1fe5003cc09fbd2d910b0ef", size = 1014990, upload-time = "2025-10-02T00:21:47.134Z" }, + { url = "https://files.pythonhosted.org/packages/e5/15/e7f1bc7aeb2c9f008a83c3e9129b4b16e1e27b2ae463efe05cfc8320ea68/pyjson5-2.0.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:48fb751c641fd03b5f002dc47a040aca9eec0a8a9bc11bc77e86dc40a6c3f10e", size = 1322761, upload-time = "2025-10-02T00:21:48.727Z" }, + { url = "https://files.pythonhosted.org/packages/37/30/d937dfcb8386841571f7eda2b78b716ece4d62a10ce9a71f9dc8e02269fe/pyjson5-2.0.0-cp314-cp314t-musllinux_1_2_ppc64le.whl", hash = "sha256:d67186c0a70308da9752202e8dcc6fcf63991d8a2aa4cfa463a587a3cbb6416c", size = 1247709, upload-time = "2025-10-02T00:21:50.485Z" }, + { url = "https://files.pythonhosted.org/packages/6a/d6/ca54b0953f45bd89317f5069c8cb096df33c391ae2166259c273981c4884/pyjson5-2.0.0-cp314-cp314t-musllinux_1_2_riscv64.whl", hash = "sha256:0a9c0901313c8cf36f6f72cfc76b3ef335723fd240c869bc80a8711567573252", size = 1185323, upload-time = "2025-10-02T00:21:52.27Z" }, + { url = "https://files.pythonhosted.org/packages/46/eb/eaa0c7eef752ea2afb192ff3f15cb79fa5229ab22cf84c0b941a0671364f/pyjson5-2.0.0-cp314-cp314t-musllinux_1_2_s390x.whl", hash = "sha256:918175822878b4a48949af6fa236ccb2189b6548df14077b97246b61baff2ba7", size = 1360604, upload-time = "2025-10-02T00:21:53.819Z" }, + { url = "https://files.pythonhosted.org/packages/5f/ca/192931f334270fa941977a9beb2590d40fe460711d932b825c3882f100de/pyjson5-2.0.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:7a09dac1228517792d8941718194ee5e4aa55ed604e0616938e55d75aedcb0c1", size = 1214048, upload-time = "2025-10-02T00:21:55.338Z" }, + { url = "https://files.pythonhosted.org/packages/c2/61/63bd6351bd88e7158380eabf182beb377b53c4812175db3cde82fb2ad16e/pyjson5-2.0.0-cp314-cp314t-win32.whl", hash = "sha256:caeee4168841a4d061f0e33cd162ae45fedbe9be9ed3dbd839d76d7791858dcf", size = 138873, upload-time = "2025-10-02T00:21:56.903Z" }, + { url = "https://files.pythonhosted.org/packages/f6/ee/f856f8e18336a96ad7a7561dc482f776fa3c236ca278820f1ad4d7e04bba/pyjson5-2.0.0-cp314-cp314t-win_amd64.whl", hash = "sha256:7121183c7be324bdb6e824fc047ac29ad676025506e3cdbad6def5c4af9247d4", size = 168332, upload-time = "2025-10-02T00:21:58.038Z" }, + { url = "https://files.pythonhosted.org/packages/62/9d/17ac8aacb439c79a912a57ee105bb060c6c10d40eab587928215e2022e5e/pyjson5-2.0.0-cp314-cp314t-win_arm64.whl", hash = "sha256:f5e151599913b0c6e3bc3e176951f48039457e8a4b14f59c1ffffb8580ab58ea", size = 127386, upload-time = "2025-10-02T00:22:00.217Z" }, +] + +[[package]] +name = "pylint" +version = "3.3.9" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "astroid" }, + { name = "colorama", marker = "sys_platform == 'win32'" }, + { name = "dill" }, + { name = "isort" }, + { name = "mccabe" }, + { name = "platformdirs" }, + { name = "tomlkit" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/04/9d/81c84a312d1fa8133b0db0c76148542a98349298a01747ab122f9314b04e/pylint-3.3.9.tar.gz", hash = "sha256:d312737d7b25ccf6b01cc4ac629b5dcd14a0fcf3ec392735ac70f137a9d5f83a", size = 1525946, upload-time = "2025-10-05T18:41:43.786Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1a/a7/69460c4a6af7575449e615144aa2205b89408dc2969b87bc3df2f262ad0b/pylint-3.3.9-py3-none-any.whl", hash = "sha256:01f9b0462c7730f94786c283f3e52a1fbdf0494bbe0971a78d7277ef46a751e7", size = 523465, upload-time = "2025-10-05T18:41:41.766Z" }, +] + +[[package]] +name = "python-dateutil" +version = "2.9.0.post0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/66/c0/0c8b6ad9f17a802ee498c46e004a0eb49bc148f2fd230864601a86dcf6db/python-dateutil-2.9.0.post0.tar.gz", hash = "sha256:37dd54208da7e1cd875388217d5e00ebd4179249f90fb72437e91a35459a0ad3", size = 342432, upload-time = "2024-03-01T18:36:20.211Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ec/57/56b9bcc3c9c6a792fcbaf139543cee77261f3651ca9da0c93f5c1221264b/python_dateutil-2.9.0.post0-py2.py3-none-any.whl", hash = "sha256:a8b2bc7bffae282281c8140a97d3aa9c14da0b136dfe83f850eea9a5f7470427", size = 229892, upload-time = "2024-03-01T18:36:18.57Z" }, +] + +[[package]] +name = "python-json-logger" +version = "4.0.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/29/bf/eca6a3d43db1dae7070f70e160ab20b807627ba953663ba07928cdd3dc58/python_json_logger-4.0.0.tar.gz", hash = "sha256:f58e68eb46e1faed27e0f574a55a0455eecd7b8a5b88b85a784519ba3cff047f", size = 17683, upload-time = "2025-10-06T04:15:18.984Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/51/e5/fecf13f06e5e5f67e8837d777d1bc43fac0ed2b77a676804df5c34744727/python_json_logger-4.0.0-py3-none-any.whl", hash = "sha256:af09c9daf6a813aa4cc7180395f50f2a9e5fa056034c9953aec92e381c5ba1e2", size = 15548, upload-time = "2025-10-06T04:15:17.553Z" }, +] + +[[package]] +name = "python-lsp-jsonrpc" +version = "1.1.2" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ujson" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/48/b6/fd92e2ea4635d88966bb42c20198df1a981340f07843b5e3c6694ba3557b/python-lsp-jsonrpc-1.1.2.tar.gz", hash = "sha256:4688e453eef55cd952bff762c705cedefa12055c0aec17a06f595bcc002cc912", size = 15298, upload-time = "2023-09-23T17:48:30.451Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cb/d9/656659d5b5d5f402b2b174cd0ba9bc827e07ce3c0bf88da65424baf64af8/python_lsp_jsonrpc-1.1.2-py3-none-any.whl", hash = "sha256:7339c2e9630ae98903fdaea1ace8c47fba0484983794d6aafd0bd8989be2b03c", size = 8805, upload-time = "2023-09-23T17:48:28.804Z" }, +] + +[[package]] +name = "python-lsp-server" +version = "1.13.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "black" }, + { name = "docstring-to-markdown" }, + { name = "jedi" }, + { name = "pluggy" }, + { name = "python-lsp-jsonrpc" }, + { name = "ujson" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/ca/92/bd60cbe7d7d6c90e5e556a90497aa1892a3f779d9915026eca6e37a0b59b/python_lsp_server-1.13.1.tar.gz", hash = "sha256:bfa3d6bbca3fc3e6d0137b27cd1eabee65783a8d4314c36e1e230c603419afa3", size = 120484, upload-time = "2025-08-26T16:51:07.927Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/36/03/2884cf7bd092d8a5a71a406971fd2edf5c6171147ca2d4afb3f2a7f8c0f1/python_lsp_server-1.13.1-py3-none-any.whl", hash = "sha256:fadf45275d12a9d9a13e36717a8383cee8e7cffe8a30698d38bfb3fe71b5cdcd", size = 76748, upload-time = "2025-08-26T16:51:05.873Z" }, +] + +[package.optional-dependencies] +all = [ + { name = "autopep8" }, + { name = "flake8" }, + { name = "mccabe" }, + { name = "pycodestyle" }, + { name = "pydocstyle" }, + { name = "pyflakes" }, + { name = "pylint" }, + { name = "rope" }, + { name = "whatthepatch" }, + { name = "yapf" }, +] + +[[package]] +name = "pytokens" +version = "0.2.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/d4/c2/dbadcdddb412a267585459142bfd7cc241e6276db69339353ae6e241ab2b/pytokens-0.2.0.tar.gz", hash = "sha256:532d6421364e5869ea57a9523bf385f02586d4662acbcc0342afd69511b4dd43", size = 15368, upload-time = "2025-10-15T08:02:42.738Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/89/5a/c269ea6b348b6f2c32686635df89f32dbe05df1088dd4579302a6f8f99af/pytokens-0.2.0-py3-none-any.whl", hash = "sha256:74d4b318c67f4295c13782ddd9abcb7e297ec5630ad060eb90abf7ebbefe59f8", size = 12038, upload-time = "2025-10-15T08:02:41.694Z" }, +] + +[[package]] +name = "pytoolconfig" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "packaging" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/18/dc/abf70d2c2bcac20e8c71a7cdf6d44e4ddba4edf65acb179248d554d743db/pytoolconfig-1.3.1.tar.gz", hash = "sha256:51e6bd1a6f108238ae6aab6a65e5eed5e75d456be1c2bf29b04e5c1e7d7adbae", size = 16655, upload-time = "2024-01-11T16:25:11.914Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/92/44/da239917f5711ca7105f7d7f9e2765716dd883b241529beafc0f28504725/pytoolconfig-1.3.1-py3-none-any.whl", hash = "sha256:5d8cea8ae1996938ec3eaf44567bbc5ef1bc900742190c439a44a704d6e1b62b", size = 17022, upload-time = "2024-01-11T16:25:10.589Z" }, +] + +[package.optional-dependencies] +global = [ + { name = "platformdirs" }, +] + +[[package]] +name = "pywinpty" +version = "3.0.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/f3/bb/a7cc2967c5c4eceb6cc49cfe39447d4bfc56e6c865e7c2249b6eb978935f/pywinpty-3.0.2.tar.gz", hash = "sha256:1505cc4cb248af42cb6285a65c9c2086ee9e7e574078ee60933d5d7fa86fb004", size = 30669, upload-time = "2025-10-03T21:16:29.205Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/fc/19/b757fe28008236a4a713e813283721b8a40aa60cd7d3f83549f2e25a3155/pywinpty-3.0.2-cp313-cp313-win_amd64.whl", hash = "sha256:18f78b81e4cfee6aabe7ea8688441d30247b73e52cd9657138015c5f4ee13a51", size = 2050057, upload-time = "2025-10-03T21:19:26.732Z" }, + { url = "https://files.pythonhosted.org/packages/cb/44/cbae12ecf6f4fa4129c36871fd09c6bef4f98d5f625ecefb5e2449765508/pywinpty-3.0.2-cp313-cp313t-win_amd64.whl", hash = "sha256:663383ecfab7fc382cc97ea5c4f7f0bb32c2f889259855df6ea34e5df42d305b", size = 2049874, upload-time = "2025-10-03T21:18:53.923Z" }, + { url = "https://files.pythonhosted.org/packages/ca/15/f12c6055e2d7a617d4d5820e8ac4ceaff849da4cb124640ef5116a230771/pywinpty-3.0.2-cp314-cp314-win_amd64.whl", hash = "sha256:28297cecc37bee9f24d8889e47231972d6e9e84f7b668909de54f36ca785029a", size = 2050386, upload-time = "2025-10-03T21:18:50.477Z" }, + { url = "https://files.pythonhosted.org/packages/de/24/c6907c5bb06043df98ad6a0a0ff5db2e0affcecbc3b15c42404393a3f72a/pywinpty-3.0.2-cp314-cp314t-win_amd64.whl", hash = "sha256:34b55ae9a1b671fe3eae071d86618110538e8eaad18fcb1531c0830b91a82767", size = 2049834, upload-time = "2025-10-03T21:19:25.688Z" }, +] + +[[package]] +name = "pyyaml" +version = "6.0.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/05/8e/961c0007c59b8dd7729d542c61a4d537767a59645b82a0b521206e1e25c2/pyyaml-6.0.3.tar.gz", hash = "sha256:d76623373421df22fb4cf8817020cbb7ef15c725b9d5e45f17e189bfc384190f", size = 130960, upload-time = "2025-09-25T21:33:16.546Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/d1/11/0fd08f8192109f7169db964b5707a2f1e8b745d4e239b784a5a1dd80d1db/pyyaml-6.0.3-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:8da9669d359f02c0b91ccc01cac4a67f16afec0dac22c2ad09f46bee0697eba8", size = 181669, upload-time = "2025-09-25T21:32:23.673Z" }, + { url = "https://files.pythonhosted.org/packages/b1/16/95309993f1d3748cd644e02e38b75d50cbc0d9561d21f390a76242ce073f/pyyaml-6.0.3-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:2283a07e2c21a2aa78d9c4442724ec1eb15f5e42a723b99cb3d822d48f5f7ad1", size = 173252, upload-time = "2025-09-25T21:32:25.149Z" }, + { url = "https://files.pythonhosted.org/packages/50/31/b20f376d3f810b9b2371e72ef5adb33879b25edb7a6d072cb7ca0c486398/pyyaml-6.0.3-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:ee2922902c45ae8ccada2c5b501ab86c36525b883eff4255313a253a3160861c", size = 767081, upload-time = "2025-09-25T21:32:26.575Z" }, + { url = "https://files.pythonhosted.org/packages/49/1e/a55ca81e949270d5d4432fbbd19dfea5321eda7c41a849d443dc92fd1ff7/pyyaml-6.0.3-cp313-cp313-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a33284e20b78bd4a18c8c2282d549d10bc8408a2a7ff57653c0cf0b9be0afce5", size = 841159, upload-time = "2025-09-25T21:32:27.727Z" }, + { url = "https://files.pythonhosted.org/packages/74/27/e5b8f34d02d9995b80abcef563ea1f8b56d20134d8f4e5e81733b1feceb2/pyyaml-6.0.3-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:0f29edc409a6392443abf94b9cf89ce99889a1dd5376d94316ae5145dfedd5d6", size = 801626, upload-time = "2025-09-25T21:32:28.878Z" }, + { url = "https://files.pythonhosted.org/packages/f9/11/ba845c23988798f40e52ba45f34849aa8a1f2d4af4b798588010792ebad6/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:f7057c9a337546edc7973c0d3ba84ddcdf0daa14533c2065749c9075001090e6", size = 753613, upload-time = "2025-09-25T21:32:30.178Z" }, + { url = "https://files.pythonhosted.org/packages/3d/e0/7966e1a7bfc0a45bf0a7fb6b98ea03fc9b8d84fa7f2229e9659680b69ee3/pyyaml-6.0.3-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:eda16858a3cab07b80edaf74336ece1f986ba330fdb8ee0d6c0d68fe82bc96be", size = 794115, upload-time = "2025-09-25T21:32:31.353Z" }, + { url = "https://files.pythonhosted.org/packages/de/94/980b50a6531b3019e45ddeada0626d45fa85cbe22300844a7983285bed3b/pyyaml-6.0.3-cp313-cp313-win32.whl", hash = "sha256:d0eae10f8159e8fdad514efdc92d74fd8d682c933a6dd088030f3834bc8e6b26", size = 137427, upload-time = "2025-09-25T21:32:32.58Z" }, + { url = "https://files.pythonhosted.org/packages/97/c9/39d5b874e8b28845e4ec2202b5da735d0199dbe5b8fb85f91398814a9a46/pyyaml-6.0.3-cp313-cp313-win_amd64.whl", hash = "sha256:79005a0d97d5ddabfeeea4cf676af11e647e41d81c9a7722a193022accdb6b7c", size = 154090, upload-time = "2025-09-25T21:32:33.659Z" }, + { url = "https://files.pythonhosted.org/packages/73/e8/2bdf3ca2090f68bb3d75b44da7bbc71843b19c9f2b9cb9b0f4ab7a5a4329/pyyaml-6.0.3-cp313-cp313-win_arm64.whl", hash = "sha256:5498cd1645aa724a7c71c8f378eb29ebe23da2fc0d7a08071d89469bf1d2defb", size = 140246, upload-time = "2025-09-25T21:32:34.663Z" }, + { url = "https://files.pythonhosted.org/packages/9d/8c/f4bd7f6465179953d3ac9bc44ac1a8a3e6122cf8ada906b4f96c60172d43/pyyaml-6.0.3-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:8d1fab6bb153a416f9aeb4b8763bc0f22a5586065f86f7664fc23339fc1c1fac", size = 181814, upload-time = "2025-09-25T21:32:35.712Z" }, + { url = "https://files.pythonhosted.org/packages/bd/9c/4d95bb87eb2063d20db7b60faa3840c1b18025517ae857371c4dd55a6b3a/pyyaml-6.0.3-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:34d5fcd24b8445fadc33f9cf348c1047101756fd760b4dacb5c3e99755703310", size = 173809, upload-time = "2025-09-25T21:32:36.789Z" }, + { url = "https://files.pythonhosted.org/packages/92/b5/47e807c2623074914e29dabd16cbbdd4bf5e9b2db9f8090fa64411fc5382/pyyaml-6.0.3-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:501a031947e3a9025ed4405a168e6ef5ae3126c59f90ce0cd6f2bfc477be31b7", size = 766454, upload-time = "2025-09-25T21:32:37.966Z" }, + { url = "https://files.pythonhosted.org/packages/02/9e/e5e9b168be58564121efb3de6859c452fccde0ab093d8438905899a3a483/pyyaml-6.0.3-cp314-cp314-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:b3bc83488de33889877a0f2543ade9f70c67d66d9ebb4ac959502e12de895788", size = 836355, upload-time = "2025-09-25T21:32:39.178Z" }, + { url = "https://files.pythonhosted.org/packages/88/f9/16491d7ed2a919954993e48aa941b200f38040928474c9e85ea9e64222c3/pyyaml-6.0.3-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:c458b6d084f9b935061bc36216e8a69a7e293a2f1e68bf956dcd9e6cbcd143f5", size = 794175, upload-time = "2025-09-25T21:32:40.865Z" }, + { url = "https://files.pythonhosted.org/packages/dd/3f/5989debef34dc6397317802b527dbbafb2b4760878a53d4166579111411e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:7c6610def4f163542a622a73fb39f534f8c101d690126992300bf3207eab9764", size = 755228, upload-time = "2025-09-25T21:32:42.084Z" }, + { url = "https://files.pythonhosted.org/packages/d7/ce/af88a49043cd2e265be63d083fc75b27b6ed062f5f9fd6cdc223ad62f03e/pyyaml-6.0.3-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:5190d403f121660ce8d1d2c1bb2ef1bd05b5f68533fc5c2ea899bd15f4399b35", size = 789194, upload-time = "2025-09-25T21:32:43.362Z" }, + { url = "https://files.pythonhosted.org/packages/23/20/bb6982b26a40bb43951265ba29d4c246ef0ff59c9fdcdf0ed04e0687de4d/pyyaml-6.0.3-cp314-cp314-win_amd64.whl", hash = "sha256:4a2e8cebe2ff6ab7d1050ecd59c25d4c8bd7e6f400f5f82b96557ac0abafd0ac", size = 156429, upload-time = "2025-09-25T21:32:57.844Z" }, + { url = "https://files.pythonhosted.org/packages/f4/f4/a4541072bb9422c8a883ab55255f918fa378ecf083f5b85e87fc2b4eda1b/pyyaml-6.0.3-cp314-cp314-win_arm64.whl", hash = "sha256:93dda82c9c22deb0a405ea4dc5f2d0cda384168e466364dec6255b293923b2f3", size = 143912, upload-time = "2025-09-25T21:32:59.247Z" }, + { url = "https://files.pythonhosted.org/packages/7c/f9/07dd09ae774e4616edf6cda684ee78f97777bdd15847253637a6f052a62f/pyyaml-6.0.3-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:02893d100e99e03eda1c8fd5c441d8c60103fd175728e23e431db1b589cf5ab3", size = 189108, upload-time = "2025-09-25T21:32:44.377Z" }, + { url = "https://files.pythonhosted.org/packages/4e/78/8d08c9fb7ce09ad8c38ad533c1191cf27f7ae1effe5bb9400a46d9437fcf/pyyaml-6.0.3-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:c1ff362665ae507275af2853520967820d9124984e0f7466736aea23d8611fba", size = 183641, upload-time = "2025-09-25T21:32:45.407Z" }, + { url = "https://files.pythonhosted.org/packages/7b/5b/3babb19104a46945cf816d047db2788bcaf8c94527a805610b0289a01c6b/pyyaml-6.0.3-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:6adc77889b628398debc7b65c073bcb99c4a0237b248cacaf3fe8a557563ef6c", size = 831901, upload-time = "2025-09-25T21:32:48.83Z" }, + { url = "https://files.pythonhosted.org/packages/8b/cc/dff0684d8dc44da4d22a13f35f073d558c268780ce3c6ba1b87055bb0b87/pyyaml-6.0.3-cp314-cp314t-manylinux2014_s390x.manylinux_2_17_s390x.manylinux_2_28_s390x.whl", hash = "sha256:a80cb027f6b349846a3bf6d73b5e95e782175e52f22108cfa17876aaeff93702", size = 861132, upload-time = "2025-09-25T21:32:50.149Z" }, + { url = "https://files.pythonhosted.org/packages/b1/5e/f77dc6b9036943e285ba76b49e118d9ea929885becb0a29ba8a7c75e29fe/pyyaml-6.0.3-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:00c4bdeba853cc34e7dd471f16b4114f4162dc03e6b7afcc2128711f0eca823c", size = 839261, upload-time = "2025-09-25T21:32:51.808Z" }, + { url = "https://files.pythonhosted.org/packages/ce/88/a9db1376aa2a228197c58b37302f284b5617f56a5d959fd1763fb1675ce6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:66e1674c3ef6f541c35191caae2d429b967b99e02040f5ba928632d9a7f0f065", size = 805272, upload-time = "2025-09-25T21:32:52.941Z" }, + { url = "https://files.pythonhosted.org/packages/da/92/1446574745d74df0c92e6aa4a7b0b3130706a4142b2d1a5869f2eaa423c6/pyyaml-6.0.3-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:16249ee61e95f858e83976573de0f5b2893b3677ba71c9dd36b9cf8be9ac6d65", size = 829923, upload-time = "2025-09-25T21:32:54.537Z" }, + { url = "https://files.pythonhosted.org/packages/f0/7a/1c7270340330e575b92f397352af856a8c06f230aa3e76f86b39d01b416a/pyyaml-6.0.3-cp314-cp314t-win_amd64.whl", hash = "sha256:4ad1906908f2f5ae4e5a8ddfce73c320c2a1429ec52eafd27138b7f1cbe341c9", size = 174062, upload-time = "2025-09-25T21:32:55.767Z" }, + { url = "https://files.pythonhosted.org/packages/f1/12/de94a39c2ef588c7e6455cfbe7343d3b2dc9d6b6b2f40c4c6565744c873d/pyyaml-6.0.3-cp314-cp314t-win_arm64.whl", hash = "sha256:ebc55a14a21cb14062aa4162f906cd962b28e2e9ea38f9b4391244cd8de4ae0b", size = 149341, upload-time = "2025-09-25T21:32:56.828Z" }, +] + +[[package]] +name = "pyzmq" +version = "27.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "cffi", marker = "implementation_name == 'pypy'" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/04/0b/3c9baedbdf613ecaa7aa07027780b8867f57b6293b6ee50de316c9f3222b/pyzmq-27.1.0.tar.gz", hash = "sha256:ac0765e3d44455adb6ddbf4417dcce460fc40a05978c08efdf2948072f6db540", size = 281750, upload-time = "2025-09-08T23:10:18.157Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/92/e7/038aab64a946d535901103da16b953c8c9cc9c961dadcbf3609ed6428d23/pyzmq-27.1.0-cp312-abi3-macosx_10_15_universal2.whl", hash = "sha256:452631b640340c928fa343801b0d07eb0c3789a5ffa843f6e1a9cee0ba4eb4fc", size = 1306279, upload-time = "2025-09-08T23:08:03.807Z" }, + { url = "https://files.pythonhosted.org/packages/e8/5e/c3c49fdd0f535ef45eefcc16934648e9e59dace4a37ee88fc53f6cd8e641/pyzmq-27.1.0-cp312-abi3-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1c179799b118e554b66da67d88ed66cd37a169f1f23b5d9f0a231b4e8d44a113", size = 895645, upload-time = "2025-09-08T23:08:05.301Z" }, + { url = "https://files.pythonhosted.org/packages/f8/e5/b0b2504cb4e903a74dcf1ebae157f9e20ebb6ea76095f6cfffea28c42ecd/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:3837439b7f99e60312f0c926a6ad437b067356dc2bc2ec96eb395fd0fe804233", size = 652574, upload-time = "2025-09-08T23:08:06.828Z" }, + { url = "https://files.pythonhosted.org/packages/f8/9b/c108cdb55560eaf253f0cbdb61b29971e9fb34d9c3499b0e96e4e60ed8a5/pyzmq-27.1.0-cp312-abi3-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:43ad9a73e3da1fab5b0e7e13402f0b2fb934ae1c876c51d0afff0e7c052eca31", size = 840995, upload-time = "2025-09-08T23:08:08.396Z" }, + { url = "https://files.pythonhosted.org/packages/c2/bb/b79798ca177b9eb0825b4c9998c6af8cd2a7f15a6a1a4272c1d1a21d382f/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:0de3028d69d4cdc475bfe47a6128eb38d8bc0e8f4d69646adfbcd840facbac28", size = 1642070, upload-time = "2025-09-08T23:08:09.989Z" }, + { url = "https://files.pythonhosted.org/packages/9c/80/2df2e7977c4ede24c79ae39dcef3899bfc5f34d1ca7a5b24f182c9b7a9ca/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_i686.whl", hash = "sha256:cf44a7763aea9298c0aa7dbf859f87ed7012de8bda0f3977b6fb1d96745df856", size = 2021121, upload-time = "2025-09-08T23:08:11.907Z" }, + { url = "https://files.pythonhosted.org/packages/46/bd/2d45ad24f5f5ae7e8d01525eb76786fa7557136555cac7d929880519e33a/pyzmq-27.1.0-cp312-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:f30f395a9e6fbca195400ce833c731e7b64c3919aa481af4d88c3759e0cb7496", size = 1878550, upload-time = "2025-09-08T23:08:13.513Z" }, + { url = "https://files.pythonhosted.org/packages/e6/2f/104c0a3c778d7c2ab8190e9db4f62f0b6957b53c9d87db77c284b69f33ea/pyzmq-27.1.0-cp312-abi3-win32.whl", hash = "sha256:250e5436a4ba13885494412b3da5d518cd0d3a278a1ae640e113c073a5f88edd", size = 559184, upload-time = "2025-09-08T23:08:15.163Z" }, + { url = "https://files.pythonhosted.org/packages/fc/7f/a21b20d577e4100c6a41795842028235998a643b1ad406a6d4163ea8f53e/pyzmq-27.1.0-cp312-abi3-win_amd64.whl", hash = "sha256:9ce490cf1d2ca2ad84733aa1d69ce6855372cb5ce9223802450c9b2a7cba0ccf", size = 619480, upload-time = "2025-09-08T23:08:17.192Z" }, + { url = "https://files.pythonhosted.org/packages/78/c2/c012beae5f76b72f007a9e91ee9401cb88c51d0f83c6257a03e785c81cc2/pyzmq-27.1.0-cp312-abi3-win_arm64.whl", hash = "sha256:75a2f36223f0d535a0c919e23615fc85a1e23b71f40c7eb43d7b1dedb4d8f15f", size = 552993, upload-time = "2025-09-08T23:08:18.926Z" }, + { url = "https://files.pythonhosted.org/packages/60/cb/84a13459c51da6cec1b7b1dc1a47e6db6da50b77ad7fd9c145842750a011/pyzmq-27.1.0-cp313-cp313-android_24_arm64_v8a.whl", hash = "sha256:93ad4b0855a664229559e45c8d23797ceac03183c7b6f5b4428152a6b06684a5", size = 1122436, upload-time = "2025-09-08T23:08:20.801Z" }, + { url = "https://files.pythonhosted.org/packages/dc/b6/94414759a69a26c3dd674570a81813c46a078767d931a6c70ad29fc585cb/pyzmq-27.1.0-cp313-cp313-android_24_x86_64.whl", hash = "sha256:fbb4f2400bfda24f12f009cba62ad5734148569ff4949b1b6ec3b519444342e6", size = 1156301, upload-time = "2025-09-08T23:08:22.47Z" }, + { url = "https://files.pythonhosted.org/packages/a5/ad/15906493fd40c316377fd8a8f6b1f93104f97a752667763c9b9c1b71d42d/pyzmq-27.1.0-cp313-cp313t-macosx_10_15_universal2.whl", hash = "sha256:e343d067f7b151cfe4eb3bb796a7752c9d369eed007b91231e817071d2c2fec7", size = 1341197, upload-time = "2025-09-08T23:08:24.286Z" }, + { url = "https://files.pythonhosted.org/packages/14/1d/d343f3ce13db53a54cb8946594e567410b2125394dafcc0268d8dda027e0/pyzmq-27.1.0-cp313-cp313t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:08363b2011dec81c354d694bdecaef4770e0ae96b9afea70b3f47b973655cc05", size = 897275, upload-time = "2025-09-08T23:08:26.063Z" }, + { url = "https://files.pythonhosted.org/packages/69/2d/d83dd6d7ca929a2fc67d2c3005415cdf322af7751d773524809f9e585129/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:d54530c8c8b5b8ddb3318f481297441af102517602b569146185fa10b63f4fa9", size = 660469, upload-time = "2025-09-08T23:08:27.623Z" }, + { url = "https://files.pythonhosted.org/packages/3e/cd/9822a7af117f4bc0f1952dbe9ef8358eb50a24928efd5edf54210b850259/pyzmq-27.1.0-cp313-cp313t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:6f3afa12c392f0a44a2414056d730eebc33ec0926aae92b5ad5cf26ebb6cc128", size = 847961, upload-time = "2025-09-08T23:08:29.672Z" }, + { url = "https://files.pythonhosted.org/packages/9a/12/f003e824a19ed73be15542f172fd0ec4ad0b60cf37436652c93b9df7c585/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:c65047adafe573ff023b3187bb93faa583151627bc9c51fc4fb2c561ed689d39", size = 1650282, upload-time = "2025-09-08T23:08:31.349Z" }, + { url = "https://files.pythonhosted.org/packages/d5/4a/e82d788ed58e9a23995cee70dbc20c9aded3d13a92d30d57ec2291f1e8a3/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:90e6e9441c946a8b0a667356f7078d96411391a3b8f80980315455574177ec97", size = 2024468, upload-time = "2025-09-08T23:08:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/d9/94/2da0a60841f757481e402b34bf4c8bf57fa54a5466b965de791b1e6f747d/pyzmq-27.1.0-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:add071b2d25f84e8189aaf0882d39a285b42fa3853016ebab234a5e78c7a43db", size = 1885394, upload-time = "2025-09-08T23:08:35.51Z" }, + { url = "https://files.pythonhosted.org/packages/4f/6f/55c10e2e49ad52d080dc24e37adb215e5b0d64990b57598abc2e3f01725b/pyzmq-27.1.0-cp313-cp313t-win32.whl", hash = "sha256:7ccc0700cfdf7bd487bea8d850ec38f204478681ea02a582a8da8171b7f90a1c", size = 574964, upload-time = "2025-09-08T23:08:37.178Z" }, + { url = "https://files.pythonhosted.org/packages/87/4d/2534970ba63dd7c522d8ca80fb92777f362c0f321900667c615e2067cb29/pyzmq-27.1.0-cp313-cp313t-win_amd64.whl", hash = "sha256:8085a9fba668216b9b4323be338ee5437a235fe275b9d1610e422ccc279733e2", size = 641029, upload-time = "2025-09-08T23:08:40.595Z" }, + { url = "https://files.pythonhosted.org/packages/f6/fa/f8aea7a28b0641f31d40dea42d7ef003fded31e184ef47db696bc74cd610/pyzmq-27.1.0-cp313-cp313t-win_arm64.whl", hash = "sha256:6bb54ca21bcfe361e445256c15eedf083f153811c37be87e0514934d6913061e", size = 561541, upload-time = "2025-09-08T23:08:42.668Z" }, + { url = "https://files.pythonhosted.org/packages/87/45/19efbb3000956e82d0331bafca5d9ac19ea2857722fa2caacefb6042f39d/pyzmq-27.1.0-cp314-cp314t-macosx_10_15_universal2.whl", hash = "sha256:ce980af330231615756acd5154f29813d553ea555485ae712c491cd483df6b7a", size = 1341197, upload-time = "2025-09-08T23:08:44.973Z" }, + { url = "https://files.pythonhosted.org/packages/48/43/d72ccdbf0d73d1343936296665826350cb1e825f92f2db9db3e61c2162a2/pyzmq-27.1.0-cp314-cp314t-manylinux2014_i686.manylinux_2_17_i686.whl", hash = "sha256:1779be8c549e54a1c38f805e56d2a2e5c009d26de10921d7d51cfd1c8d4632ea", size = 897175, upload-time = "2025-09-08T23:08:46.601Z" }, + { url = "https://files.pythonhosted.org/packages/2f/2e/a483f73a10b65a9ef0161e817321d39a770b2acf8bcf3004a28d90d14a94/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:7200bb0f03345515df50d99d3db206a0a6bee1955fbb8c453c76f5bf0e08fb96", size = 660427, upload-time = "2025-09-08T23:08:48.187Z" }, + { url = "https://files.pythonhosted.org/packages/f5/d2/5f36552c2d3e5685abe60dfa56f91169f7a2d99bbaf67c5271022ab40863/pyzmq-27.1.0-cp314-cp314t-manylinux_2_26_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:01c0e07d558b06a60773744ea6251f769cd79a41a97d11b8bf4ab8f034b0424d", size = 847929, upload-time = "2025-09-08T23:08:49.76Z" }, + { url = "https://files.pythonhosted.org/packages/c4/2a/404b331f2b7bf3198e9945f75c4c521f0c6a3a23b51f7a4a401b94a13833/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:80d834abee71f65253c91540445d37c4c561e293ba6e741b992f20a105d69146", size = 1650193, upload-time = "2025-09-08T23:08:51.7Z" }, + { url = "https://files.pythonhosted.org/packages/1c/0b/f4107e33f62a5acf60e3ded67ed33d79b4ce18de432625ce2fc5093d6388/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:544b4e3b7198dde4a62b8ff6685e9802a9a1ebf47e77478a5eb88eca2a82f2fd", size = 2024388, upload-time = "2025-09-08T23:08:53.393Z" }, + { url = "https://files.pythonhosted.org/packages/0d/01/add31fe76512642fd6e40e3a3bd21f4b47e242c8ba33efb6809e37076d9b/pyzmq-27.1.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:cedc4c68178e59a4046f97eca31b148ddcf51e88677de1ef4e78cf06c5376c9a", size = 1885316, upload-time = "2025-09-08T23:08:55.702Z" }, + { url = "https://files.pythonhosted.org/packages/c4/59/a5f38970f9bf07cee96128de79590bb354917914a9be11272cfc7ff26af0/pyzmq-27.1.0-cp314-cp314t-win32.whl", hash = "sha256:1f0b2a577fd770aa6f053211a55d1c47901f4d537389a034c690291485e5fe92", size = 587472, upload-time = "2025-09-08T23:08:58.18Z" }, + { url = "https://files.pythonhosted.org/packages/70/d8/78b1bad170f93fcf5e3536e70e8fadac55030002275c9a29e8f5719185de/pyzmq-27.1.0-cp314-cp314t-win_amd64.whl", hash = "sha256:19c9468ae0437f8074af379e986c5d3d7d7bfe033506af442e8c879732bedbe0", size = 661401, upload-time = "2025-09-08T23:08:59.802Z" }, + { url = "https://files.pythonhosted.org/packages/81/d6/4bfbb40c9a0b42fc53c7cf442f6385db70b40f74a783130c5d0a5aa62228/pyzmq-27.1.0-cp314-cp314t-win_arm64.whl", hash = "sha256:dc5dbf68a7857b59473f7df42650c621d7e8923fb03fa74a526890f4d33cc4d7", size = 575170, upload-time = "2025-09-08T23:09:01.418Z" }, +] + +[[package]] +name = "referencing" +version = "0.37.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "attrs" }, + { name = "rpds-py" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/22/f5/df4e9027acead3ecc63e50fe1e36aca1523e1719559c499951bb4b53188f/referencing-0.37.0.tar.gz", hash = "sha256:44aefc3142c5b842538163acb373e24cce6632bd54bdb01b21ad5863489f50d8", size = 78036, upload-time = "2025-10-13T15:30:48.871Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2c/58/ca301544e1fa93ed4f80d724bf5b194f6e4b945841c5bfd555878eea9fcb/referencing-0.37.0-py3-none-any.whl", hash = "sha256:381329a9f99628c9069361716891d34ad94af76e461dcb0335825aecc7692231", size = 26766, upload-time = "2025-10-13T15:30:47.625Z" }, +] + +[[package]] +name = "requests" +version = "2.32.5" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "certifi" }, + { name = "charset-normalizer" }, + { name = "idna" }, + { name = "urllib3" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/c9/74/b3ff8e6c8446842c3f5c837e9c3dfcfe2018ea6ecef224c710c85ef728f4/requests-2.32.5.tar.gz", hash = "sha256:dbba0bac56e100853db0ea71b82b4dfd5fe2bf6d3754a8893c3af500cec7d7cf", size = 134517, upload-time = "2025-08-18T20:46:02.573Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1e/db/4254e3eabe8020b458f1a747140d32277ec7a271daf1d235b70dc0b4e6e3/requests-2.32.5-py3-none-any.whl", hash = "sha256:2462f94637a34fd532264295e186976db0f5d453d1cdd31473c85a6a161affb6", size = 64738, upload-time = "2025-08-18T20:46:00.542Z" }, +] + +[[package]] +name = "rfc3339-validator" +version = "0.1.4" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "six" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/ea/a9387748e2d111c3c2b275ba970b735e04e15cdb1eb30693b6b5708c4dbd/rfc3339_validator-0.1.4.tar.gz", hash = "sha256:138a2abdf93304ad60530167e51d2dfb9549521a836871b88d7f4695d0022f6b", size = 5513, upload-time = "2021-05-12T16:37:54.178Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7b/44/4e421b96b67b2daff264473f7465db72fbdf36a07e05494f50300cc7b0c6/rfc3339_validator-0.1.4-py2.py3-none-any.whl", hash = "sha256:24f6ec1eda14ef823da9e36ec7113124b39c04d50a4d3d3a3c2859577e7791fa", size = 3490, upload-time = "2021-05-12T16:37:52.536Z" }, +] + +[[package]] +name = "rfc3986-validator" +version = "0.1.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/da/88/f270de456dd7d11dcc808abfa291ecdd3f45ff44e3b549ffa01b126464d0/rfc3986_validator-0.1.1.tar.gz", hash = "sha256:3d44bde7921b3b9ec3ae4e3adca370438eccebc676456449b145d533b240d055", size = 6760, upload-time = "2019-10-28T16:00:19.144Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/9e/51/17023c0f8f1869d8806b979a2bffa3f861f26a3f1a66b094288323fba52f/rfc3986_validator-0.1.1-py2.py3-none-any.whl", hash = "sha256:2f235c432ef459970b4306369336b9d5dbdda31b510ca1e327636e01f528bfa9", size = 4242, upload-time = "2019-10-28T16:00:13.976Z" }, +] + +[[package]] +name = "rfc3987-syntax" +version = "1.1.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "lark" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/2c/06/37c1a5557acf449e8e406a830a05bf885ac47d33270aec454ef78675008d/rfc3987_syntax-1.1.0.tar.gz", hash = "sha256:717a62cbf33cffdd16dfa3a497d81ce48a660ea691b1ddd7be710c22f00b4a0d", size = 14239, upload-time = "2025-07-18T01:05:05.015Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/7e/71/44ce230e1b7fadd372515a97e32a83011f906ddded8d03e3c6aafbdedbb7/rfc3987_syntax-1.1.0-py3-none-any.whl", hash = "sha256:6c3d97604e4c5ce9f714898e05401a0445a641cfa276432b0a648c80856f6a3f", size = 8046, upload-time = "2025-07-18T01:05:03.843Z" }, +] + +[[package]] +name = "rope" +version = "1.14.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "pytoolconfig", extra = ["global"] }, +] +sdist = { url = "https://files.pythonhosted.org/packages/74/3a/85e60d154f26ecdc1d47a63ac58bd9f32a5a9f3f771f6672197f02a00ade/rope-1.14.0.tar.gz", hash = "sha256:8803e3b667315044f6270b0c69a10c0679f9f322ed8efe6245a93ceb7658da69", size = 296801, upload-time = "2025-07-12T17:46:07.786Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/75/35/130469d1901da2b3a5a377539b4ffcd8a5c983f1c9e3ba5ffdd8d71ae314/rope-1.14.0-py3-none-any.whl", hash = "sha256:00a7ea8c0c376fc0b053b2f2f8ef3bfb8b50fecf1ebf3eb80e4f8bd7f1941918", size = 207143, upload-time = "2025-07-12T17:46:05.928Z" }, +] + +[[package]] +name = "rpds-py" +version = "0.27.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e9/dd/2c0cbe774744272b0ae725f44032c77bdcab6e8bcf544bffa3b6e70c8dba/rpds_py-0.27.1.tar.gz", hash = "sha256:26a1c73171d10b7acccbded82bf6a586ab8203601e565badc74bbbf8bc5a10f8", size = 27479, upload-time = "2025-08-27T12:16:36.024Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/cc/77/610aeee8d41e39080c7e14afa5387138e3c9fa9756ab893d09d99e7d8e98/rpds_py-0.27.1-cp313-cp313-macosx_10_12_x86_64.whl", hash = "sha256:e4b9fcfbc021633863a37e92571d6f91851fa656f0180246e84cbd8b3f6b329b", size = 361741, upload-time = "2025-08-27T12:13:31.039Z" }, + { url = "https://files.pythonhosted.org/packages/3a/fc/c43765f201c6a1c60be2043cbdb664013def52460a4c7adace89d6682bf4/rpds_py-0.27.1-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:1441811a96eadca93c517d08df75de45e5ffe68aa3089924f963c782c4b898cf", size = 345574, upload-time = "2025-08-27T12:13:32.902Z" }, + { url = "https://files.pythonhosted.org/packages/20/42/ee2b2ca114294cd9847d0ef9c26d2b0851b2e7e00bf14cc4c0b581df0fc3/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:55266dafa22e672f5a4f65019015f90336ed31c6383bd53f5e7826d21a0e0b83", size = 385051, upload-time = "2025-08-27T12:13:34.228Z" }, + { url = "https://files.pythonhosted.org/packages/fd/e8/1e430fe311e4799e02e2d1af7c765f024e95e17d651612425b226705f910/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:d78827d7ac08627ea2c8e02c9e5b41180ea5ea1f747e9db0915e3adf36b62dcf", size = 398395, upload-time = "2025-08-27T12:13:36.132Z" }, + { url = "https://files.pythonhosted.org/packages/82/95/9dc227d441ff2670651c27a739acb2535ccaf8b351a88d78c088965e5996/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ae92443798a40a92dc5f0b01d8a7c93adde0c4dc965310a29ae7c64d72b9fad2", size = 524334, upload-time = "2025-08-27T12:13:37.562Z" }, + { url = "https://files.pythonhosted.org/packages/87/01/a670c232f401d9ad461d9a332aa4080cd3cb1d1df18213dbd0d2a6a7ab51/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:c46c9dd2403b66a2a3b9720ec4b74d4ab49d4fabf9f03dfdce2d42af913fe8d0", size = 407691, upload-time = "2025-08-27T12:13:38.94Z" }, + { url = "https://files.pythonhosted.org/packages/03/36/0a14aebbaa26fe7fab4780c76f2239e76cc95a0090bdb25e31d95c492fcd/rpds_py-0.27.1-cp313-cp313-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:2efe4eb1d01b7f5f1939f4ef30ecea6c6b3521eec451fb93191bf84b2a522418", size = 386868, upload-time = "2025-08-27T12:13:40.192Z" }, + { url = "https://files.pythonhosted.org/packages/3b/03/8c897fb8b5347ff6c1cc31239b9611c5bf79d78c984430887a353e1409a1/rpds_py-0.27.1-cp313-cp313-manylinux_2_31_riscv64.whl", hash = "sha256:15d3b4d83582d10c601f481eca29c3f138d44c92187d197aff663a269197c02d", size = 405469, upload-time = "2025-08-27T12:13:41.496Z" }, + { url = "https://files.pythonhosted.org/packages/da/07/88c60edc2df74850d496d78a1fdcdc7b54360a7f610a4d50008309d41b94/rpds_py-0.27.1-cp313-cp313-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:4ed2e16abbc982a169d30d1a420274a709949e2cbdef119fe2ec9d870b42f274", size = 422125, upload-time = "2025-08-27T12:13:42.802Z" }, + { url = "https://files.pythonhosted.org/packages/6b/86/5f4c707603e41b05f191a749984f390dabcbc467cf833769b47bf14ba04f/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:a75f305c9b013289121ec0f1181931975df78738cdf650093e6b86d74aa7d8dd", size = 562341, upload-time = "2025-08-27T12:13:44.472Z" }, + { url = "https://files.pythonhosted.org/packages/b2/92/3c0cb2492094e3cd9baf9e49bbb7befeceb584ea0c1a8b5939dca4da12e5/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:67ce7620704745881a3d4b0ada80ab4d99df390838839921f99e63c474f82cf2", size = 592511, upload-time = "2025-08-27T12:13:45.898Z" }, + { url = "https://files.pythonhosted.org/packages/10/bb/82e64fbb0047c46a168faa28d0d45a7851cd0582f850b966811d30f67ad8/rpds_py-0.27.1-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:9d992ac10eb86d9b6f369647b6a3f412fc0075cfd5d799530e84d335e440a002", size = 557736, upload-time = "2025-08-27T12:13:47.408Z" }, + { url = "https://files.pythonhosted.org/packages/00/95/3c863973d409210da7fb41958172c6b7dbe7fc34e04d3cc1f10bb85e979f/rpds_py-0.27.1-cp313-cp313-win32.whl", hash = "sha256:4f75e4bd8ab8db624e02c8e2fc4063021b58becdbe6df793a8111d9343aec1e3", size = 221462, upload-time = "2025-08-27T12:13:48.742Z" }, + { url = "https://files.pythonhosted.org/packages/ce/2c/5867b14a81dc217b56d95a9f2a40fdbc56a1ab0181b80132beeecbd4b2d6/rpds_py-0.27.1-cp313-cp313-win_amd64.whl", hash = "sha256:f9025faafc62ed0b75a53e541895ca272815bec18abe2249ff6501c8f2e12b83", size = 232034, upload-time = "2025-08-27T12:13:50.11Z" }, + { url = "https://files.pythonhosted.org/packages/c7/78/3958f3f018c01923823f1e47f1cc338e398814b92d83cd278364446fac66/rpds_py-0.27.1-cp313-cp313-win_arm64.whl", hash = "sha256:ed10dc32829e7d222b7d3b93136d25a406ba9788f6a7ebf6809092da1f4d279d", size = 222392, upload-time = "2025-08-27T12:13:52.587Z" }, + { url = "https://files.pythonhosted.org/packages/01/76/1cdf1f91aed5c3a7bf2eba1f1c4e4d6f57832d73003919a20118870ea659/rpds_py-0.27.1-cp313-cp313t-macosx_10_12_x86_64.whl", hash = "sha256:92022bbbad0d4426e616815b16bc4127f83c9a74940e1ccf3cfe0b387aba0228", size = 358355, upload-time = "2025-08-27T12:13:54.012Z" }, + { url = "https://files.pythonhosted.org/packages/c3/6f/bf142541229374287604caf3bb2a4ae17f0a580798fd72d3b009b532db4e/rpds_py-0.27.1-cp313-cp313t-macosx_11_0_arm64.whl", hash = "sha256:47162fdab9407ec3f160805ac3e154df042e577dd53341745fc7fb3f625e6d92", size = 342138, upload-time = "2025-08-27T12:13:55.791Z" }, + { url = "https://files.pythonhosted.org/packages/1a/77/355b1c041d6be40886c44ff5e798b4e2769e497b790f0f7fd1e78d17e9a8/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fb89bec23fddc489e5d78b550a7b773557c9ab58b7946154a10a6f7a214a48b2", size = 380247, upload-time = "2025-08-27T12:13:57.683Z" }, + { url = "https://files.pythonhosted.org/packages/d6/a4/d9cef5c3946ea271ce2243c51481971cd6e34f21925af2783dd17b26e815/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:e48af21883ded2b3e9eb48cb7880ad8598b31ab752ff3be6457001d78f416723", size = 390699, upload-time = "2025-08-27T12:13:59.137Z" }, + { url = "https://files.pythonhosted.org/packages/3a/06/005106a7b8c6c1a7e91b73169e49870f4af5256119d34a361ae5240a0c1d/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:6f5b7bd8e219ed50299e58551a410b64daafb5017d54bbe822e003856f06a802", size = 521852, upload-time = "2025-08-27T12:14:00.583Z" }, + { url = "https://files.pythonhosted.org/packages/e5/3e/50fb1dac0948e17a02eb05c24510a8fe12d5ce8561c6b7b7d1339ab7ab9c/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:08f1e20bccf73b08d12d804d6e1c22ca5530e71659e6673bce31a6bb71c1e73f", size = 402582, upload-time = "2025-08-27T12:14:02.034Z" }, + { url = "https://files.pythonhosted.org/packages/cb/b0/f4e224090dc5b0ec15f31a02d746ab24101dd430847c4d99123798661bfc/rpds_py-0.27.1-cp313-cp313t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:0dc5dceeaefcc96dc192e3a80bbe1d6c410c469e97bdd47494a7d930987f18b2", size = 384126, upload-time = "2025-08-27T12:14:03.437Z" }, + { url = "https://files.pythonhosted.org/packages/54/77/ac339d5f82b6afff1df8f0fe0d2145cc827992cb5f8eeb90fc9f31ef7a63/rpds_py-0.27.1-cp313-cp313t-manylinux_2_31_riscv64.whl", hash = "sha256:d76f9cc8665acdc0c9177043746775aa7babbf479b5520b78ae4002d889f5c21", size = 399486, upload-time = "2025-08-27T12:14:05.443Z" }, + { url = "https://files.pythonhosted.org/packages/d6/29/3e1c255eee6ac358c056a57d6d6869baa00a62fa32eea5ee0632039c50a3/rpds_py-0.27.1-cp313-cp313t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:134fae0e36022edad8290a6661edf40c023562964efea0cc0ec7f5d392d2aaef", size = 414832, upload-time = "2025-08-27T12:14:06.902Z" }, + { url = "https://files.pythonhosted.org/packages/3f/db/6d498b844342deb3fa1d030598db93937a9964fcf5cb4da4feb5f17be34b/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_aarch64.whl", hash = "sha256:eb11a4f1b2b63337cfd3b4d110af778a59aae51c81d195768e353d8b52f88081", size = 557249, upload-time = "2025-08-27T12:14:08.37Z" }, + { url = "https://files.pythonhosted.org/packages/60/f3/690dd38e2310b6f68858a331399b4d6dbb9132c3e8ef8b4333b96caf403d/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_i686.whl", hash = "sha256:13e608ac9f50a0ed4faec0e90ece76ae33b34c0e8656e3dceb9a7db994c692cd", size = 587356, upload-time = "2025-08-27T12:14:10.034Z" }, + { url = "https://files.pythonhosted.org/packages/86/e3/84507781cccd0145f35b1dc32c72675200c5ce8d5b30f813e49424ef68fc/rpds_py-0.27.1-cp313-cp313t-musllinux_1_2_x86_64.whl", hash = "sha256:dd2135527aa40f061350c3f8f89da2644de26cd73e4de458e79606384f4f68e7", size = 555300, upload-time = "2025-08-27T12:14:11.783Z" }, + { url = "https://files.pythonhosted.org/packages/e5/ee/375469849e6b429b3516206b4580a79e9ef3eb12920ddbd4492b56eaacbe/rpds_py-0.27.1-cp313-cp313t-win32.whl", hash = "sha256:3020724ade63fe320a972e2ffd93b5623227e684315adce194941167fee02688", size = 216714, upload-time = "2025-08-27T12:14:13.629Z" }, + { url = "https://files.pythonhosted.org/packages/21/87/3fc94e47c9bd0742660e84706c311a860dcae4374cf4a03c477e23ce605a/rpds_py-0.27.1-cp313-cp313t-win_amd64.whl", hash = "sha256:8ee50c3e41739886606388ba3ab3ee2aae9f35fb23f833091833255a31740797", size = 228943, upload-time = "2025-08-27T12:14:14.937Z" }, + { url = "https://files.pythonhosted.org/packages/70/36/b6e6066520a07cf029d385de869729a895917b411e777ab1cde878100a1d/rpds_py-0.27.1-cp314-cp314-macosx_10_12_x86_64.whl", hash = "sha256:acb9aafccaae278f449d9c713b64a9e68662e7799dbd5859e2c6b3c67b56d334", size = 362472, upload-time = "2025-08-27T12:14:16.333Z" }, + { url = "https://files.pythonhosted.org/packages/af/07/b4646032e0dcec0df9c73a3bd52f63bc6c5f9cda992f06bd0e73fe3fbebd/rpds_py-0.27.1-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:b7fb801aa7f845ddf601c49630deeeccde7ce10065561d92729bfe81bd21fb33", size = 345676, upload-time = "2025-08-27T12:14:17.764Z" }, + { url = "https://files.pythonhosted.org/packages/b0/16/2f1003ee5d0af4bcb13c0cf894957984c32a6751ed7206db2aee7379a55e/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:fe0dd05afb46597b9a2e11c351e5e4283c741237e7f617ffb3252780cca9336a", size = 385313, upload-time = "2025-08-27T12:14:19.829Z" }, + { url = "https://files.pythonhosted.org/packages/05/cd/7eb6dd7b232e7f2654d03fa07f1414d7dfc980e82ba71e40a7c46fd95484/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:b6dfb0e058adb12d8b1d1b25f686e94ffa65d9995a5157afe99743bf7369d62b", size = 399080, upload-time = "2025-08-27T12:14:21.531Z" }, + { url = "https://files.pythonhosted.org/packages/20/51/5829afd5000ec1cb60f304711f02572d619040aa3ec033d8226817d1e571/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:ed090ccd235f6fa8bb5861684567f0a83e04f52dfc2e5c05f2e4b1309fcf85e7", size = 523868, upload-time = "2025-08-27T12:14:23.485Z" }, + { url = "https://files.pythonhosted.org/packages/05/2c/30eebca20d5db95720ab4d2faec1b5e4c1025c473f703738c371241476a2/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:bf876e79763eecf3e7356f157540d6a093cef395b65514f17a356f62af6cc136", size = 408750, upload-time = "2025-08-27T12:14:24.924Z" }, + { url = "https://files.pythonhosted.org/packages/90/1a/cdb5083f043597c4d4276eae4e4c70c55ab5accec078da8611f24575a367/rpds_py-0.27.1-cp314-cp314-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:12ed005216a51b1d6e2b02a7bd31885fe317e45897de81d86dcce7d74618ffff", size = 387688, upload-time = "2025-08-27T12:14:27.537Z" }, + { url = "https://files.pythonhosted.org/packages/7c/92/cf786a15320e173f945d205ab31585cc43969743bb1a48b6888f7a2b0a2d/rpds_py-0.27.1-cp314-cp314-manylinux_2_31_riscv64.whl", hash = "sha256:ee4308f409a40e50593c7e3bb8cbe0b4d4c66d1674a316324f0c2f5383b486f9", size = 407225, upload-time = "2025-08-27T12:14:28.981Z" }, + { url = "https://files.pythonhosted.org/packages/33/5c/85ee16df5b65063ef26017bef33096557a4c83fbe56218ac7cd8c235f16d/rpds_py-0.27.1-cp314-cp314-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:0b08d152555acf1f455154d498ca855618c1378ec810646fcd7c76416ac6dc60", size = 423361, upload-time = "2025-08-27T12:14:30.469Z" }, + { url = "https://files.pythonhosted.org/packages/4b/8e/1c2741307fcabd1a334ecf008e92c4f47bb6f848712cf15c923becfe82bb/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:dce51c828941973a5684d458214d3a36fcd28da3e1875d659388f4f9f12cc33e", size = 562493, upload-time = "2025-08-27T12:14:31.987Z" }, + { url = "https://files.pythonhosted.org/packages/04/03/5159321baae9b2222442a70c1f988cbbd66b9be0675dd3936461269be360/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:c1476d6f29eb81aa4151c9a31219b03f1f798dc43d8af1250a870735516a1212", size = 592623, upload-time = "2025-08-27T12:14:33.543Z" }, + { url = "https://files.pythonhosted.org/packages/ff/39/c09fd1ad28b85bc1d4554a8710233c9f4cefd03d7717a1b8fbfd171d1167/rpds_py-0.27.1-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:3ce0cac322b0d69b63c9cdb895ee1b65805ec9ffad37639f291dd79467bee675", size = 558800, upload-time = "2025-08-27T12:14:35.436Z" }, + { url = "https://files.pythonhosted.org/packages/c5/d6/99228e6bbcf4baa764b18258f519a9035131d91b538d4e0e294313462a98/rpds_py-0.27.1-cp314-cp314-win32.whl", hash = "sha256:dfbfac137d2a3d0725758cd141f878bf4329ba25e34979797c89474a89a8a3a3", size = 221943, upload-time = "2025-08-27T12:14:36.898Z" }, + { url = "https://files.pythonhosted.org/packages/be/07/c802bc6b8e95be83b79bdf23d1aa61d68324cb1006e245d6c58e959e314d/rpds_py-0.27.1-cp314-cp314-win_amd64.whl", hash = "sha256:a6e57b0abfe7cc513450fcf529eb486b6e4d3f8aee83e92eb5f1ef848218d456", size = 233739, upload-time = "2025-08-27T12:14:38.386Z" }, + { url = "https://files.pythonhosted.org/packages/c8/89/3e1b1c16d4c2d547c5717377a8df99aee8099ff050f87c45cb4d5fa70891/rpds_py-0.27.1-cp314-cp314-win_arm64.whl", hash = "sha256:faf8d146f3d476abfee026c4ae3bdd9ca14236ae4e4c310cbd1cf75ba33d24a3", size = 223120, upload-time = "2025-08-27T12:14:39.82Z" }, + { url = "https://files.pythonhosted.org/packages/62/7e/dc7931dc2fa4a6e46b2a4fa744a9fe5c548efd70e0ba74f40b39fa4a8c10/rpds_py-0.27.1-cp314-cp314t-macosx_10_12_x86_64.whl", hash = "sha256:ba81d2b56b6d4911ce735aad0a1d4495e808b8ee4dc58715998741a26874e7c2", size = 358944, upload-time = "2025-08-27T12:14:41.199Z" }, + { url = "https://files.pythonhosted.org/packages/e6/22/4af76ac4e9f336bfb1a5f240d18a33c6b2fcaadb7472ac7680576512b49a/rpds_py-0.27.1-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:84f7d509870098de0e864cad0102711c1e24e9b1a50ee713b65928adb22269e4", size = 342283, upload-time = "2025-08-27T12:14:42.699Z" }, + { url = "https://files.pythonhosted.org/packages/1c/15/2a7c619b3c2272ea9feb9ade67a45c40b3eeb500d503ad4c28c395dc51b4/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:a9e960fc78fecd1100539f14132425e1d5fe44ecb9239f8f27f079962021523e", size = 380320, upload-time = "2025-08-27T12:14:44.157Z" }, + { url = "https://files.pythonhosted.org/packages/a2/7d/4c6d243ba4a3057e994bb5bedd01b5c963c12fe38dde707a52acdb3849e7/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_armv7l.manylinux2014_armv7l.whl", hash = "sha256:62f85b665cedab1a503747617393573995dac4600ff51869d69ad2f39eb5e817", size = 391760, upload-time = "2025-08-27T12:14:45.845Z" }, + { url = "https://files.pythonhosted.org/packages/b4/71/b19401a909b83bcd67f90221330bc1ef11bc486fe4e04c24388d28a618ae/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl", hash = "sha256:fed467af29776f6556250c9ed85ea5a4dd121ab56a5f8b206e3e7a4c551e48ec", size = 522476, upload-time = "2025-08-27T12:14:47.364Z" }, + { url = "https://files.pythonhosted.org/packages/e4/44/1a3b9715c0455d2e2f0f6df5ee6d6f5afdc423d0773a8a682ed2b43c566c/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_s390x.manylinux2014_s390x.whl", hash = "sha256:f2729615f9d430af0ae6b36cf042cb55c0936408d543fb691e1a9e36648fd35a", size = 403418, upload-time = "2025-08-27T12:14:49.991Z" }, + { url = "https://files.pythonhosted.org/packages/1c/4b/fb6c4f14984eb56673bc868a66536f53417ddb13ed44b391998100a06a96/rpds_py-0.27.1-cp314-cp314t-manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:1b207d881a9aef7ba753d69c123a35d96ca7cb808056998f6b9e8747321f03b8", size = 384771, upload-time = "2025-08-27T12:14:52.159Z" }, + { url = "https://files.pythonhosted.org/packages/c0/56/d5265d2d28b7420d7b4d4d85cad8ef891760f5135102e60d5c970b976e41/rpds_py-0.27.1-cp314-cp314t-manylinux_2_31_riscv64.whl", hash = "sha256:639fd5efec029f99b79ae47e5d7e00ad8a773da899b6309f6786ecaf22948c48", size = 400022, upload-time = "2025-08-27T12:14:53.859Z" }, + { url = "https://files.pythonhosted.org/packages/8f/e9/9f5fc70164a569bdd6ed9046486c3568d6926e3a49bdefeeccfb18655875/rpds_py-0.27.1-cp314-cp314t-manylinux_2_5_i686.manylinux1_i686.whl", hash = "sha256:fecc80cb2a90e28af8a9b366edacf33d7a91cbfe4c2c4544ea1246e949cfebeb", size = 416787, upload-time = "2025-08-27T12:14:55.673Z" }, + { url = "https://files.pythonhosted.org/packages/d4/64/56dd03430ba491db943a81dcdef115a985aac5f44f565cd39a00c766d45c/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:42a89282d711711d0a62d6f57d81aa43a1368686c45bc1c46b7f079d55692734", size = 557538, upload-time = "2025-08-27T12:14:57.245Z" }, + { url = "https://files.pythonhosted.org/packages/3f/36/92cc885a3129993b1d963a2a42ecf64e6a8e129d2c7cc980dbeba84e55fb/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:cf9931f14223de59551ab9d38ed18d92f14f055a5f78c1d8ad6493f735021bbb", size = 588512, upload-time = "2025-08-27T12:14:58.728Z" }, + { url = "https://files.pythonhosted.org/packages/dd/10/6b283707780a81919f71625351182b4f98932ac89a09023cb61865136244/rpds_py-0.27.1-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:f39f58a27cc6e59f432b568ed8429c7e1641324fbe38131de852cd77b2d534b0", size = 555813, upload-time = "2025-08-27T12:15:00.334Z" }, + { url = "https://files.pythonhosted.org/packages/04/2e/30b5ea18c01379da6272a92825dd7e53dc9d15c88a19e97932d35d430ef7/rpds_py-0.27.1-cp314-cp314t-win32.whl", hash = "sha256:d5fa0ee122dc09e23607a28e6d7b150da16c662e66409bbe85230e4c85bb528a", size = 217385, upload-time = "2025-08-27T12:15:01.937Z" }, + { url = "https://files.pythonhosted.org/packages/32/7d/97119da51cb1dd3f2f3c0805f155a3aa4a95fa44fe7d78ae15e69edf4f34/rpds_py-0.27.1-cp314-cp314t-win_amd64.whl", hash = "sha256:6567d2bb951e21232c2f660c24cf3470bb96de56cdcb3f071a83feeaff8a2772", size = 230097, upload-time = "2025-08-27T12:15:03.961Z" }, +] + +[[package]] +name = "send2trash" +version = "1.8.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/fd/3a/aec9b02217bb79b87bbc1a21bc6abc51e3d5dcf65c30487ac96c0908c722/Send2Trash-1.8.3.tar.gz", hash = "sha256:b18e7a3966d99871aefeb00cfbcfdced55ce4871194810fc71f4aa484b953abf", size = 17394, upload-time = "2024-04-07T00:01:09.267Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/40/b0/4562db6223154aa4e22f939003cb92514c79f3d4dccca3444253fd17f902/Send2Trash-1.8.3-py3-none-any.whl", hash = "sha256:0c31227e0bd08961c7665474a3d1ef7193929fedda4233843689baa056be46c9", size = 18072, upload-time = "2024-04-07T00:01:07.438Z" }, +] + +[[package]] +name = "setuptools" +version = "80.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/18/5d/3bf57dcd21979b887f014ea83c24ae194cfcd12b9e0fda66b957c69d1fca/setuptools-80.9.0.tar.gz", hash = "sha256:f36b47402ecde768dbfafc46e8e4207b4360c654f1f3bb84475f0a28628fb19c", size = 1319958, upload-time = "2025-05-27T00:56:51.443Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a3/dc/17031897dae0efacfea57dfd3a82fdd2a2aeb58e0ff71b77b87e44edc772/setuptools-80.9.0-py3-none-any.whl", hash = "sha256:062d34222ad13e0cc312a4c02d73f059e86a4acbfbdea8f8f76b28c99f306922", size = 1201486, upload-time = "2025-05-27T00:56:49.664Z" }, +] + +[[package]] +name = "six" +version = "1.17.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/94/e7/b2c673351809dca68a0e064b6af791aa332cf192da575fd474ed7d6f16a2/six-1.17.0.tar.gz", hash = "sha256:ff70335d468e7eb6ec65b95b99d3a2836546063f63acc5171de367e834932a81", size = 34031, upload-time = "2024-12-04T17:35:28.174Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/b7/ce/149a00dd41f10bc29e5921b496af8b574d8413afcd5e30dfa0ed46c2cc5e/six-1.17.0-py2.py3-none-any.whl", hash = "sha256:4721f391ed90541fddacab5acf947aa0d3dc7d27b2e1e8eda2be8970586c3274", size = 11050, upload-time = "2024-12-04T17:35:26.475Z" }, +] + +[[package]] +name = "sniffio" +version = "1.3.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/a2/87/a6771e1546d97e7e041b6ae58d80074f81b7d5121207425c964ddf5cfdbd/sniffio-1.3.1.tar.gz", hash = "sha256:f4324edc670a0f49750a81b895f35c3adb843cca46f0530f79fc1babb23789dc", size = 20372, upload-time = "2024-02-25T23:20:04.057Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e9/44/75a9c9421471a6c4805dbf2356f7c181a29c1879239abab1ea2cc8f38b40/sniffio-1.3.1-py3-none-any.whl", hash = "sha256:2f6da418d1f1e0fddd844478f41680e794e6051915791a034ff65e5f100525a2", size = 10235, upload-time = "2024-02-25T23:20:01.196Z" }, +] + +[[package]] +name = "snowballstemmer" +version = "3.0.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/75/a7/9810d872919697c9d01295633f5d574fb416d47e535f258272ca1f01f447/snowballstemmer-3.0.1.tar.gz", hash = "sha256:6d5eeeec8e9f84d4d56b847692bacf79bc2c8e90c7f80ca4444ff8b6f2e52895", size = 105575, upload-time = "2025-05-09T16:34:51.843Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/c8/78/3565d011c61f5a43488987ee32b6f3f656e7f107ac2782dd57bdd7d91d9a/snowballstemmer-3.0.1-py3-none-any.whl", hash = "sha256:6cd7b3897da8d6c9ffb968a6781fa6532dce9c3618a4b127d920dab764a19064", size = 103274, upload-time = "2025-05-09T16:34:50.371Z" }, +] + +[[package]] +name = "soupsieve" +version = "2.8" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/6d/e6/21ccce3262dd4889aa3332e5a119a3491a95e8f60939870a3a035aabac0d/soupsieve-2.8.tar.gz", hash = "sha256:e2dd4a40a628cb5f28f6d4b0db8800b8f581b65bb380b97de22ba5ca8d72572f", size = 103472, upload-time = "2025-08-27T15:39:51.78Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/14/a0/bb38d3b76b8cae341dad93a2dd83ab7462e6dbcdd84d43f54ee60a8dc167/soupsieve-2.8-py3-none-any.whl", hash = "sha256:0cc76456a30e20f5d7f2e14a98a4ae2ee4e5abdc7c5ea0aafe795f344bc7984c", size = 36679, upload-time = "2025-08-27T15:39:50.179Z" }, +] + +[[package]] +name = "stack-data" +version = "0.6.3" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "asttokens" }, + { name = "executing" }, + { name = "pure-eval" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/28/e3/55dcc2cfbc3ca9c29519eb6884dd1415ecb53b0e934862d3559ddcb7e20b/stack_data-0.6.3.tar.gz", hash = "sha256:836a778de4fec4dcd1dcd89ed8abff8a221f58308462e1c4aa2a3cf30148f0b9", size = 44707, upload-time = "2023-09-30T13:58:05.479Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f1/7b/ce1eafaf1a76852e2ec9b22edecf1daa58175c090266e9f6c64afcd81d91/stack_data-0.6.3-py3-none-any.whl", hash = "sha256:d5558e0c25a4cb0853cddad3d77da9891a08cb85dd9f9f91b9f8cd66e511e695", size = 24521, upload-time = "2023-09-30T13:58:03.53Z" }, +] + +[[package]] +name = "terminado" +version = "0.18.1" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "ptyprocess", marker = "os_name != 'nt'" }, + { name = "pywinpty", marker = "os_name == 'nt'" }, + { name = "tornado" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/8a/11/965c6fd8e5cc254f1fe142d547387da17a8ebfd75a3455f637c663fb38a0/terminado-0.18.1.tar.gz", hash = "sha256:de09f2c4b85de4765f7714688fff57d3e75bad1f909b589fde880460c753fd2e", size = 32701, upload-time = "2024-03-12T14:34:39.026Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/6a/9e/2064975477fdc887e47ad42157e214526dcad8f317a948dee17e1659a62f/terminado-0.18.1-py3-none-any.whl", hash = "sha256:a4468e1b37bb318f8a86514f65814e1afc977cf29b3992a4500d9dd305dcceb0", size = 14154, upload-time = "2024-03-12T14:34:36.569Z" }, +] + +[[package]] +name = "tinycss2" +version = "1.4.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "webencodings" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/7a/fd/7a5ee21fd08ff70d3d33a5781c255cbe779659bd03278feb98b19ee550f4/tinycss2-1.4.0.tar.gz", hash = "sha256:10c0972f6fc0fbee87c3edb76549357415e94548c1ae10ebccdea16fb404a9b7", size = 87085, upload-time = "2024-10-24T14:58:29.895Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e6/34/ebdc18bae6aa14fbee1a08b63c015c72b64868ff7dae68808ab500c492e2/tinycss2-1.4.0-py3-none-any.whl", hash = "sha256:3a49cf47b7675da0b15d0c6e1df8df4ebd96e9394bb905a5775adb0d884c5289", size = 26610, upload-time = "2024-10-24T14:58:28.029Z" }, +] + +[[package]] +name = "tomlkit" +version = "0.13.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/cc/18/0bbf3884e9eaa38819ebe46a7bd25dcd56b67434402b66a58c4b8e552575/tomlkit-0.13.3.tar.gz", hash = "sha256:430cf247ee57df2b94ee3fbe588e71d362a941ebb545dec29b53961d61add2a1", size = 185207, upload-time = "2025-06-05T07:13:44.947Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/bd/75/8539d011f6be8e29f339c42e633aae3cb73bffa95dd0f9adec09b9c58e85/tomlkit-0.13.3-py3-none-any.whl", hash = "sha256:c89c649d79ee40629a9fda55f8ace8c6a1b42deb912b2a8fd8d942ddadb606b0", size = 38901, upload-time = "2025-06-05T07:13:43.546Z" }, +] + +[[package]] +name = "tornado" +version = "6.5.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/09/ce/1eb500eae19f4648281bb2186927bb062d2438c2e5093d1360391afd2f90/tornado-6.5.2.tar.gz", hash = "sha256:ab53c8f9a0fa351e2c0741284e06c7a45da86afb544133201c5cc8578eb076a0", size = 510821, upload-time = "2025-08-08T18:27:00.78Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f6/48/6a7529df2c9cc12efd2e8f5dd219516184d703b34c06786809670df5b3bd/tornado-6.5.2-cp39-abi3-macosx_10_9_universal2.whl", hash = "sha256:2436822940d37cde62771cff8774f4f00b3c8024fe482e16ca8387b8a2724db6", size = 442563, upload-time = "2025-08-08T18:26:42.945Z" }, + { url = "https://files.pythonhosted.org/packages/f2/b5/9b575a0ed3e50b00c40b08cbce82eb618229091d09f6d14bce80fc01cb0b/tornado-6.5.2-cp39-abi3-macosx_10_9_x86_64.whl", hash = "sha256:583a52c7aa94ee046854ba81d9ebb6c81ec0fd30386d96f7640c96dad45a03ef", size = 440729, upload-time = "2025-08-08T18:26:44.473Z" }, + { url = "https://files.pythonhosted.org/packages/1b/4e/619174f52b120efcf23633c817fd3fed867c30bff785e2cd5a53a70e483c/tornado-6.5.2-cp39-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl", hash = "sha256:b0fe179f28d597deab2842b86ed4060deec7388f1fd9c1b4a41adf8af058907e", size = 444295, upload-time = "2025-08-08T18:26:46.021Z" }, + { url = "https://files.pythonhosted.org/packages/95/fa/87b41709552bbd393c85dd18e4e3499dcd8983f66e7972926db8d96aa065/tornado-6.5.2-cp39-abi3-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl", hash = "sha256:b186e85d1e3536d69583d2298423744740986018e393d0321df7340e71898882", size = 443644, upload-time = "2025-08-08T18:26:47.625Z" }, + { url = "https://files.pythonhosted.org/packages/f9/41/fb15f06e33d7430ca89420283a8762a4e6b8025b800ea51796ab5e6d9559/tornado-6.5.2-cp39-abi3-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl", hash = "sha256:e792706668c87709709c18b353da1f7662317b563ff69f00bab83595940c7108", size = 443878, upload-time = "2025-08-08T18:26:50.599Z" }, + { url = "https://files.pythonhosted.org/packages/11/92/fe6d57da897776ad2e01e279170ea8ae726755b045fe5ac73b75357a5a3f/tornado-6.5.2-cp39-abi3-musllinux_1_2_aarch64.whl", hash = "sha256:06ceb1300fd70cb20e43b1ad8aaee0266e69e7ced38fa910ad2e03285009ce7c", size = 444549, upload-time = "2025-08-08T18:26:51.864Z" }, + { url = "https://files.pythonhosted.org/packages/9b/02/c8f4f6c9204526daf3d760f4aa555a7a33ad0e60843eac025ccfd6ff4a93/tornado-6.5.2-cp39-abi3-musllinux_1_2_i686.whl", hash = "sha256:74db443e0f5251be86cbf37929f84d8c20c27a355dd452a5cfa2aada0d001ec4", size = 443973, upload-time = "2025-08-08T18:26:53.625Z" }, + { url = "https://files.pythonhosted.org/packages/ae/2d/f5f5707b655ce2317190183868cd0f6822a1121b4baeae509ceb9590d0bd/tornado-6.5.2-cp39-abi3-musllinux_1_2_x86_64.whl", hash = "sha256:b5e735ab2889d7ed33b32a459cac490eda71a1ba6857b0118de476ab6c366c04", size = 443954, upload-time = "2025-08-08T18:26:55.072Z" }, + { url = "https://files.pythonhosted.org/packages/e8/59/593bd0f40f7355806bf6573b47b8c22f8e1374c9b6fd03114bd6b7a3dcfd/tornado-6.5.2-cp39-abi3-win32.whl", hash = "sha256:c6f29e94d9b37a95013bb669616352ddb82e3bfe8326fccee50583caebc8a5f0", size = 445023, upload-time = "2025-08-08T18:26:56.677Z" }, + { url = "https://files.pythonhosted.org/packages/c7/2a/f609b420c2f564a748a2d80ebfb2ee02a73ca80223af712fca591386cafb/tornado-6.5.2-cp39-abi3-win_amd64.whl", hash = "sha256:e56a5af51cc30dd2cae649429af65ca2f6571da29504a07995175df14c18f35f", size = 445427, upload-time = "2025-08-08T18:26:57.91Z" }, + { url = "https://files.pythonhosted.org/packages/5e/4f/e1f65e8f8c76d73658b33d33b81eed4322fb5085350e4328d5c956f0c8f9/tornado-6.5.2-cp39-abi3-win_arm64.whl", hash = "sha256:d6c33dc3672e3a1f3618eb63b7ef4683a7688e7b9e6e8f0d9aa5726360a004af", size = 444456, upload-time = "2025-08-08T18:26:59.207Z" }, +] + +[[package]] +name = "traitlets" +version = "5.14.3" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/eb/79/72064e6a701c2183016abbbfedaba506d81e30e232a68c9f0d6f6fcd1574/traitlets-5.14.3.tar.gz", hash = "sha256:9ed0579d3502c94b4b3732ac120375cda96f923114522847de4b3bb98b96b6b7", size = 161621, upload-time = "2024-04-19T11:11:49.746Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/00/c0/8f5d070730d7836adc9c9b6408dec68c6ced86b304a9b26a14df072a6e8c/traitlets-5.14.3-py3-none-any.whl", hash = "sha256:b74e89e397b1ed28cc831db7aea759ba6640cb3de13090ca145426688ff1ac4f", size = 85359, upload-time = "2024-04-19T11:11:46.763Z" }, +] + +[[package]] +name = "tufte" +version = "0.7.0" +source = { registry = ".local-libraries" } +wheels = [ + { path = "tufte-0.7.0-py3-none-any.whl" }, +] + +[[package]] +name = "typing-extensions" +version = "4.15.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/72/94/1a15dd82efb362ac84269196e94cf00f187f7ed21c242792a923cdb1c61f/typing_extensions-4.15.0.tar.gz", hash = "sha256:0cea48d173cc12fa28ecabc3b837ea3cf6f38c6d1136f85cbaaf598984861466", size = 109391, upload-time = "2025-08-25T13:49:26.313Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/18/67/36e9267722cc04a6b9f15c7f3441c2363321a3ea07da7ae0c0707beb2a9c/typing_extensions-4.15.0-py3-none-any.whl", hash = "sha256:f0fa19c6845758ab08074a0cfa8b7aecb71c999ca73d62883bc25cc018c4e548", size = 44614, upload-time = "2025-08-25T13:49:24.86Z" }, +] + +[[package]] +name = "tzdata" +version = "2025.2" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/95/32/1a225d6164441be760d75c2c42e2780dc0873fe382da3e98a2e1e48361e5/tzdata-2025.2.tar.gz", hash = "sha256:b60a638fcc0daffadf82fe0f57e53d06bdec2f36c4df66280ae79bce6bd6f2b9", size = 196380, upload-time = "2025-03-23T13:54:43.652Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/5c/23/c7abc0ca0a1526a0774eca151daeb8de62ec457e77262b66b359c3c7679e/tzdata-2025.2-py2.py3-none-any.whl", hash = "sha256:1a403fada01ff9221ca8044d701868fa132215d84beb92242d9acd2147f667a8", size = 347839, upload-time = "2025-03-23T13:54:41.845Z" }, +] + +[[package]] +name = "ujson" +version = "5.11.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/43/d9/3f17e3c5773fb4941c68d9a37a47b1a79c9649d6c56aefbed87cc409d18a/ujson-5.11.0.tar.gz", hash = "sha256:e204ae6f909f099ba6b6b942131cee359ddda2b6e4ea39c12eb8b991fe2010e0", size = 7156583, upload-time = "2025-08-20T11:57:02.452Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/1c/ec/2de9dd371d52c377abc05d2b725645326c4562fc87296a8907c7bcdf2db7/ujson-5.11.0-cp313-cp313-macosx_10_13_x86_64.whl", hash = "sha256:109f59885041b14ee9569bf0bb3f98579c3fa0652317b355669939e5fc5ede53", size = 55435, upload-time = "2025-08-20T11:55:50.243Z" }, + { url = "https://files.pythonhosted.org/packages/5b/a4/f611f816eac3a581d8a4372f6967c3ed41eddbae4008d1d77f223f1a4e0a/ujson-5.11.0-cp313-cp313-macosx_11_0_arm64.whl", hash = "sha256:a31c6b8004438e8c20fc55ac1c0e07dad42941db24176fe9acf2815971f8e752", size = 53193, upload-time = "2025-08-20T11:55:51.373Z" }, + { url = "https://files.pythonhosted.org/packages/e9/c5/c161940967184de96f5cbbbcce45b562a4bf851d60f4c677704b1770136d/ujson-5.11.0-cp313-cp313-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:78c684fb21255b9b90320ba7e199780f653e03f6c2528663768965f4126a5b50", size = 57603, upload-time = "2025-08-20T11:55:52.583Z" }, + { url = "https://files.pythonhosted.org/packages/2b/d6/c7b2444238f5b2e2d0e3dab300b9ddc3606e4b1f0e4bed5a48157cebc792/ujson-5.11.0-cp313-cp313-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:4c9f5d6a27d035dd90a146f7761c2272cf7103de5127c9ab9c4cd39ea61e878a", size = 59794, upload-time = "2025-08-20T11:55:53.69Z" }, + { url = "https://files.pythonhosted.org/packages/fe/a3/292551f936d3d02d9af148f53e1bc04306b00a7cf1fcbb86fa0d1c887242/ujson-5.11.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:837da4d27fed5fdc1b630bd18f519744b23a0b5ada1bbde1a36ba463f2900c03", size = 57363, upload-time = "2025-08-20T11:55:54.843Z" }, + { url = "https://files.pythonhosted.org/packages/90/a6/82cfa70448831b1a9e73f882225980b5c689bf539ec6400b31656a60ea46/ujson-5.11.0-cp313-cp313-musllinux_1_2_aarch64.whl", hash = "sha256:787aff4a84da301b7f3bac09bc696e2e5670df829c6f8ecf39916b4e7e24e701", size = 1036311, upload-time = "2025-08-20T11:55:56.197Z" }, + { url = "https://files.pythonhosted.org/packages/84/5c/96e2266be50f21e9b27acaee8ca8f23ea0b85cb998c33d4f53147687839b/ujson-5.11.0-cp313-cp313-musllinux_1_2_i686.whl", hash = "sha256:6dd703c3e86dc6f7044c5ac0b3ae079ed96bf297974598116aa5fb7f655c3a60", size = 1195783, upload-time = "2025-08-20T11:55:58.081Z" }, + { url = "https://files.pythonhosted.org/packages/8d/20/78abe3d808cf3bb3e76f71fca46cd208317bf461c905d79f0d26b9df20f1/ujson-5.11.0-cp313-cp313-musllinux_1_2_x86_64.whl", hash = "sha256:3772e4fe6b0c1e025ba3c50841a0ca4786825a4894c8411bf8d3afe3a8061328", size = 1088822, upload-time = "2025-08-20T11:55:59.469Z" }, + { url = "https://files.pythonhosted.org/packages/d8/50/8856e24bec5e2fc7f775d867aeb7a3f137359356200ac44658f1f2c834b2/ujson-5.11.0-cp313-cp313-win32.whl", hash = "sha256:8fa2af7c1459204b7a42e98263b069bd535ea0cd978b4d6982f35af5a04a4241", size = 39753, upload-time = "2025-08-20T11:56:01.345Z" }, + { url = "https://files.pythonhosted.org/packages/5b/d8/1baee0f4179a4d0f5ce086832147b6cc9b7731c24ca08e14a3fdb8d39c32/ujson-5.11.0-cp313-cp313-win_amd64.whl", hash = "sha256:34032aeca4510a7c7102bd5933f59a37f63891f30a0706fb46487ab6f0edf8f0", size = 43866, upload-time = "2025-08-20T11:56:02.552Z" }, + { url = "https://files.pythonhosted.org/packages/a9/8c/6d85ef5be82c6d66adced3ec5ef23353ed710a11f70b0b6a836878396334/ujson-5.11.0-cp313-cp313-win_arm64.whl", hash = "sha256:ce076f2df2e1aa62b685086fbad67f2b1d3048369664b4cdccc50707325401f9", size = 38363, upload-time = "2025-08-20T11:56:03.688Z" }, + { url = "https://files.pythonhosted.org/packages/28/08/4518146f4984d112764b1dfa6fb7bad691c44a401adadaa5e23ccd930053/ujson-5.11.0-cp314-cp314-macosx_10_13_x86_64.whl", hash = "sha256:65724738c73645db88f70ba1f2e6fb678f913281804d5da2fd02c8c5839af302", size = 55462, upload-time = "2025-08-20T11:56:04.873Z" }, + { url = "https://files.pythonhosted.org/packages/29/37/2107b9a62168867a692654d8766b81bd2fd1e1ba13e2ec90555861e02b0c/ujson-5.11.0-cp314-cp314-macosx_11_0_arm64.whl", hash = "sha256:29113c003ca33ab71b1b480bde952fbab2a0b6b03a4ee4c3d71687cdcbd1a29d", size = 53246, upload-time = "2025-08-20T11:56:06.054Z" }, + { url = "https://files.pythonhosted.org/packages/9b/f8/25583c70f83788edbe3ca62ce6c1b79eff465d78dec5eb2b2b56b3e98b33/ujson-5.11.0-cp314-cp314-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:c44c703842024d796b4c78542a6fcd5c3cb948b9fc2a73ee65b9c86a22ee3638", size = 57631, upload-time = "2025-08-20T11:56:07.374Z" }, + { url = "https://files.pythonhosted.org/packages/ed/ca/19b3a632933a09d696f10dc1b0dfa1d692e65ad507d12340116ce4f67967/ujson-5.11.0-cp314-cp314-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:e750c436fb90edf85585f5c62a35b35082502383840962c6983403d1bd96a02c", size = 59877, upload-time = "2025-08-20T11:56:08.534Z" }, + { url = "https://files.pythonhosted.org/packages/55/7a/4572af5324ad4b2bfdd2321e898a527050290147b4ea337a79a0e4e87ec7/ujson-5.11.0-cp314-cp314-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:f278b31a7c52eb0947b2db55a5133fbc46b6f0ef49972cd1a80843b72e135aba", size = 57363, upload-time = "2025-08-20T11:56:09.758Z" }, + { url = "https://files.pythonhosted.org/packages/7b/71/a2b8c19cf4e1efe53cf439cdf7198ac60ae15471d2f1040b490c1f0f831f/ujson-5.11.0-cp314-cp314-musllinux_1_2_aarch64.whl", hash = "sha256:ab2cb8351d976e788669c8281465d44d4e94413718af497b4e7342d7b2f78018", size = 1036394, upload-time = "2025-08-20T11:56:11.168Z" }, + { url = "https://files.pythonhosted.org/packages/7a/3e/7b98668cba3bb3735929c31b999b374ebc02c19dfa98dfebaeeb5c8597ca/ujson-5.11.0-cp314-cp314-musllinux_1_2_i686.whl", hash = "sha256:090b4d11b380ae25453100b722d0609d5051ffe98f80ec52853ccf8249dfd840", size = 1195837, upload-time = "2025-08-20T11:56:12.6Z" }, + { url = "https://files.pythonhosted.org/packages/a1/ea/8870f208c20b43571a5c409ebb2fe9b9dba5f494e9e60f9314ac01ea8f78/ujson-5.11.0-cp314-cp314-musllinux_1_2_x86_64.whl", hash = "sha256:80017e870d882d5517d28995b62e4e518a894f932f1e242cbc802a2fd64d365c", size = 1088837, upload-time = "2025-08-20T11:56:14.15Z" }, + { url = "https://files.pythonhosted.org/packages/63/b6/c0e6607e37fa47929920a685a968c6b990a802dec65e9c5181e97845985d/ujson-5.11.0-cp314-cp314-win32.whl", hash = "sha256:1d663b96eb34c93392e9caae19c099ec4133ba21654b081956613327f0e973ac", size = 41022, upload-time = "2025-08-20T11:56:15.509Z" }, + { url = "https://files.pythonhosted.org/packages/4e/56/f4fe86b4c9000affd63e9219e59b222dc48b01c534533093e798bf617a7e/ujson-5.11.0-cp314-cp314-win_amd64.whl", hash = "sha256:849e65b696f0d242833f1df4182096cedc50d414215d1371fca85c541fbff629", size = 45111, upload-time = "2025-08-20T11:56:16.597Z" }, + { url = "https://files.pythonhosted.org/packages/0a/f3/669437f0280308db4783b12a6d88c00730b394327d8334cc7a32ef218e64/ujson-5.11.0-cp314-cp314-win_arm64.whl", hash = "sha256:e73df8648c9470af2b6a6bf5250d4744ad2cf3d774dcf8c6e31f018bdd04d764", size = 39682, upload-time = "2025-08-20T11:56:17.763Z" }, + { url = "https://files.pythonhosted.org/packages/6e/cd/e9809b064a89fe5c4184649adeb13c1b98652db3f8518980b04227358574/ujson-5.11.0-cp314-cp314t-macosx_10_13_x86_64.whl", hash = "sha256:de6e88f62796372fba1de973c11138f197d3e0e1d80bcb2b8aae1e826096d433", size = 55759, upload-time = "2025-08-20T11:56:18.882Z" }, + { url = "https://files.pythonhosted.org/packages/1b/be/ae26a6321179ebbb3a2e2685b9007c71bcda41ad7a77bbbe164005e956fc/ujson-5.11.0-cp314-cp314t-macosx_11_0_arm64.whl", hash = "sha256:49e56ef8066f11b80d620985ae36869a3ff7e4b74c3b6129182ec5d1df0255f3", size = 53634, upload-time = "2025-08-20T11:56:20.012Z" }, + { url = "https://files.pythonhosted.org/packages/ae/e9/fb4a220ee6939db099f4cfeeae796ecb91e7584ad4d445d4ca7f994a9135/ujson-5.11.0-cp314-cp314t-manylinux_2_24_aarch64.manylinux_2_28_aarch64.whl", hash = "sha256:1a325fd2c3a056cf6c8e023f74a0c478dd282a93141356ae7f16d5309f5ff823", size = 58547, upload-time = "2025-08-20T11:56:21.175Z" }, + { url = "https://files.pythonhosted.org/packages/bd/f8/fc4b952b8f5fea09ea3397a0bd0ad019e474b204cabcb947cead5d4d1ffc/ujson-5.11.0-cp314-cp314t-manylinux_2_24_i686.manylinux_2_28_i686.whl", hash = "sha256:a0af6574fc1d9d53f4ff371f58c96673e6d988ed2b5bf666a6143c782fa007e9", size = 60489, upload-time = "2025-08-20T11:56:22.342Z" }, + { url = "https://files.pythonhosted.org/packages/2e/e5/af5491dfda4f8b77e24cf3da68ee0d1552f99a13e5c622f4cef1380925c3/ujson-5.11.0-cp314-cp314t-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl", hash = "sha256:10f29e71ecf4ecd93a6610bd8efa8e7b6467454a363c3d6416db65de883eb076", size = 58035, upload-time = "2025-08-20T11:56:23.92Z" }, + { url = "https://files.pythonhosted.org/packages/c4/09/0945349dd41f25cc8c38d78ace49f14c5052c5bbb7257d2f466fa7bdb533/ujson-5.11.0-cp314-cp314t-musllinux_1_2_aarch64.whl", hash = "sha256:1a0a9b76a89827a592656fe12e000cf4f12da9692f51a841a4a07aa4c7ecc41c", size = 1037212, upload-time = "2025-08-20T11:56:25.274Z" }, + { url = "https://files.pythonhosted.org/packages/49/44/8e04496acb3d5a1cbee3a54828d9652f67a37523efa3d3b18a347339680a/ujson-5.11.0-cp314-cp314t-musllinux_1_2_i686.whl", hash = "sha256:b16930f6a0753cdc7d637b33b4e8f10d5e351e1fb83872ba6375f1e87be39746", size = 1196500, upload-time = "2025-08-20T11:56:27.517Z" }, + { url = "https://files.pythonhosted.org/packages/64/ae/4bc825860d679a0f208a19af2f39206dfd804ace2403330fdc3170334a2f/ujson-5.11.0-cp314-cp314t-musllinux_1_2_x86_64.whl", hash = "sha256:04c41afc195fd477a59db3a84d5b83a871bd648ef371cf8c6f43072d89144eef", size = 1089487, upload-time = "2025-08-20T11:56:29.07Z" }, + { url = "https://files.pythonhosted.org/packages/30/ed/5a057199fb0a5deabe0957073a1c1c1c02a3e99476cd03daee98ea21fa57/ujson-5.11.0-cp314-cp314t-win32.whl", hash = "sha256:aa6d7a5e09217ff93234e050e3e380da62b084e26b9f2e277d2606406a2fc2e5", size = 41859, upload-time = "2025-08-20T11:56:30.495Z" }, + { url = "https://files.pythonhosted.org/packages/aa/03/b19c6176bdf1dc13ed84b886e99677a52764861b6cc023d5e7b6ebda249d/ujson-5.11.0-cp314-cp314t-win_amd64.whl", hash = "sha256:48055e1061c1bb1f79e75b4ac39e821f3f35a9b82de17fce92c3140149009bec", size = 46183, upload-time = "2025-08-20T11:56:31.574Z" }, + { url = "https://files.pythonhosted.org/packages/5d/ca/a0413a3874b2dc1708b8796ca895bf363292f9c70b2e8ca482b7dbc0259d/ujson-5.11.0-cp314-cp314t-win_arm64.whl", hash = "sha256:1194b943e951092db611011cb8dbdb6cf94a3b816ed07906e14d3bc6ce0e90ab", size = 40264, upload-time = "2025-08-20T11:56:32.773Z" }, +] + +[[package]] +name = "uri-template" +version = "1.3.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/31/c7/0336f2bd0bcbada6ccef7aaa25e443c118a704f828a0620c6fa0207c1b64/uri-template-1.3.0.tar.gz", hash = "sha256:0e00f8eb65e18c7de20d595a14336e9f337ead580c70934141624b6d1ffdacc7", size = 21678, upload-time = "2023-06-21T01:49:05.374Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/e7/00/3fca040d7cf8a32776d3d81a00c8ee7457e00f80c649f1e4a863c8321ae9/uri_template-1.3.0-py3-none-any.whl", hash = "sha256:a44a133ea12d44a0c0f06d7d42a52d71282e77e2f937d8abd5655b8d56fc1363", size = 11140, upload-time = "2023-06-21T01:49:03.467Z" }, +] + +[[package]] +name = "urllib3" +version = "2.5.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/15/22/9ee70a2574a4f4599c47dd506532914ce044817c7752a79b6a51286319bc/urllib3-2.5.0.tar.gz", hash = "sha256:3fc47733c7e419d4bc3f6b3dc2b4f890bb743906a30d56ba4a5bfa4bbff92760", size = 393185, upload-time = "2025-06-18T14:07:41.644Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/a7/c2/fe1e52489ae3122415c51f387e221dd0773709bad6c6cdaa599e8a2c5185/urllib3-2.5.0-py3-none-any.whl", hash = "sha256:e6b01673c0fa6a13e374b50871808eb3bf7046c4b125b216f6bf1cc604cff0dc", size = 129795, upload-time = "2025-06-18T14:07:40.39Z" }, +] + +[[package]] +name = "wcwidth" +version = "0.2.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/24/30/6b0809f4510673dc723187aeaf24c7f5459922d01e2f794277a3dfb90345/wcwidth-0.2.14.tar.gz", hash = "sha256:4d478375d31bc5395a3c55c40ccdf3354688364cd61c4f6adacaa9215d0b3605", size = 102293, upload-time = "2025-09-22T16:29:53.023Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/af/b5/123f13c975e9f27ab9c0770f514345bd406d0e8d3b7a0723af9d43f710af/wcwidth-0.2.14-py2.py3-none-any.whl", hash = "sha256:a7bb560c8aee30f9957e5f9895805edd20602f2d7f720186dfd906e82b4982e1", size = 37286, upload-time = "2025-09-22T16:29:51.641Z" }, +] + +[[package]] +name = "webcolors" +version = "24.11.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/7b/29/061ec845fb58521848f3739e466efd8250b4b7b98c1b6c5bf4d40b419b7e/webcolors-24.11.1.tar.gz", hash = "sha256:ecb3d768f32202af770477b8b65f318fa4f566c22948673a977b00d589dd80f6", size = 45064, upload-time = "2024-11-11T07:43:24.224Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/60/e8/c0e05e4684d13459f93d312077a9a2efbe04d59c393bc2b8802248c908d4/webcolors-24.11.1-py3-none-any.whl", hash = "sha256:515291393b4cdf0eb19c155749a096f779f7d909f7cceea072791cb9095b92e9", size = 14934, upload-time = "2024-11-11T07:43:22.529Z" }, +] + +[[package]] +name = "webencodings" +version = "0.5.1" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/0b/02/ae6ceac1baeda530866a85075641cec12989bd8d31af6d5ab4a3e8c92f47/webencodings-0.5.1.tar.gz", hash = "sha256:b36a1c245f2d304965eb4e0a82848379241dc04b865afcc4aab16748587e1923", size = 9721, upload-time = "2017-04-05T20:21:34.189Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/f4/24/2a3e3df732393fed8b3ebf2ec078f05546de641fe1b667ee316ec1dcf3b7/webencodings-0.5.1-py2.py3-none-any.whl", hash = "sha256:a0af1213f3c2226497a97e2b3aa01a7e4bee4f403f95be16fc9acd2947514a78", size = 11774, upload-time = "2017-04-05T20:21:32.581Z" }, +] + +[[package]] +name = "websocket-client" +version = "1.9.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/2c/41/aa4bf9664e4cda14c3b39865b12251e8e7d239f4cd0e3cc1b6c2ccde25c1/websocket_client-1.9.0.tar.gz", hash = "sha256:9e813624b6eb619999a97dc7958469217c3176312b3a16a4bd1bc7e08a46ec98", size = 70576, upload-time = "2025-10-07T21:16:36.495Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/34/db/b10e48aa8fff7407e67470363eac595018441cf32d5e1001567a7aeba5d2/websocket_client-1.9.0-py3-none-any.whl", hash = "sha256:af248a825037ef591efbf6ed20cc5faa03d3b47b9e5a2230a529eeee1c1fc3ef", size = 82616, upload-time = "2025-10-07T21:16:34.951Z" }, +] + +[[package]] +name = "whatthepatch" +version = "1.0.7" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/06/28/55bc3e107a56fdcf7d5022cb32b8c21d98a9cc2df5cd9f3b93e10419099e/whatthepatch-1.0.7.tar.gz", hash = "sha256:9eefb4ebea5200408e02d413d2b4bc28daea6b78bb4b4d53431af7245f7d7edf", size = 34612, upload-time = "2024-11-16T17:21:22.153Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/8e/93/af1d6ccb69ab6b5a00e03fa0cefa563f9862412667776ea15dd4eece3a90/whatthepatch-1.0.7-py3-none-any.whl", hash = "sha256:1b6f655fd31091c001c209529dfaabbabdbad438f5de14e3951266ea0fc6e7ed", size = 11964, upload-time = "2024-11-16T17:21:20.761Z" }, +] + +[[package]] +name = "widgetsnbextension" +version = "4.0.14" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/41/53/2e0253c5efd69c9656b1843892052a31c36d37ad42812b5da45c62191f7e/widgetsnbextension-4.0.14.tar.gz", hash = "sha256:a3629b04e3edb893212df862038c7232f62973373869db5084aed739b437b5af", size = 1097428, upload-time = "2025-04-10T13:01:25.628Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/ca/51/5447876806d1088a0f8f71e16542bf350918128d0a69437df26047c8e46f/widgetsnbextension-4.0.14-py3-none-any.whl", hash = "sha256:4875a9eaf72fbf5079dc372a51a9f268fc38d46f767cbf85c43a36da5cb9b575", size = 2196503, upload-time = "2025-04-10T13:01:23.086Z" }, +] + +[[package]] +name = "yapf" +version = "0.43.0" +source = { registry = "https://pypi.org/simple" } +dependencies = [ + { name = "platformdirs" }, +] +sdist = { url = "https://files.pythonhosted.org/packages/23/97/b6f296d1e9cc1ec25c7604178b48532fa5901f721bcf1b8d8148b13e5588/yapf-0.43.0.tar.gz", hash = "sha256:00d3aa24bfedff9420b2e0d5d9f5ab6d9d4268e72afbf59bb3fa542781d5218e", size = 254907, upload-time = "2024-11-14T00:11:41.584Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/37/81/6acd6601f61e31cfb8729d3da6d5df966f80f374b78eff83760714487338/yapf-0.43.0-py3-none-any.whl", hash = "sha256:224faffbc39c428cb095818cf6ef5511fdab6f7430a10783fdfb292ccf2852ca", size = 256158, upload-time = "2024-11-14T00:11:39.37Z" }, +] + +[[package]] +name = "zipp" +version = "3.23.0" +source = { registry = "https://pypi.org/simple" } +sdist = { url = "https://files.pythonhosted.org/packages/e3/02/0f2892c661036d50ede074e376733dca2ae7c6eb617489437771209d4180/zipp-3.23.0.tar.gz", hash = "sha256:a07157588a12518c9d4034df3fbbee09c814741a33ff63c05fa29d26a2404166", size = 25547, upload-time = "2025-06-08T17:06:39.4Z" } +wheels = [ + { url = "https://files.pythonhosted.org/packages/2e/54/647ade08bf0db230bfea292f893923872fd20be6ac6f53b2b936ba839d75/zipp-3.23.0-py3-none-any.whl", hash = "sha256:071652d6115ed432f5ce1d34c336c0adfd6a884660d1e9712a256d3d3bd4b14e", size = 10276, upload-time = "2025-06-08T17:06:38.034Z" }, +] diff --git a/uv.toml b/uv.toml new file mode 100644 index 0000000..be9e01f --- /dev/null +++ b/uv.toml @@ -0,0 +1,4 @@ +[[index]] +name = "local-libraries" +url = ".local-libraries" +format = "flat"