diff --git a/.gitignore b/.gitignore index 560b5fe..8ebfaa7 100644 --- a/.gitignore +++ b/.gitignore @@ -1,3 +1,5 @@ .ipynb_checkpoints .venv - +.jupyter/data +.virtual_documents +.jupyter/lab/workspaces diff --git a/.jupyter/data/nbsignatures.db b/.jupyter/data/nbsignatures.db deleted file mode 100644 index 746aee8..0000000 Binary files a/.jupyter/data/nbsignatures.db and /dev/null differ diff --git a/.jupyter/data/notebook_secret b/.jupyter/data/notebook_secret deleted file mode 100644 index 5a8acff..0000000 --- a/.jupyter/data/notebook_secret +++ /dev/null @@ -1,18 +0,0 @@ -puGiSq4/3cj4jw2hb1S6Ge4oJp9lBk5lnn2cHNOnUdGVViaMF4nRgjHaaraD+MS2lF0a/m3BUZKJ -lqknHXby2sxCrx/3o656zLNLunYEd0KPV8fe1i+RncbwhZsK/Z6AM956Gl0m5CIY47B/XwSPGFhX -vE4L37GxJH1Eks7hR/obEx6Os8tt+Kfpj87ULTj/t5n5bNt97JbZCUxa5CzgTy0m8sQhKjZYGT0g -FellhZoZHj1Qk18CmW5sE0CFkESNFYNh5+OvUaZUQRXvMi/+H+kAnQ7C6oz+tCoMLOiHpQAFjBap -LknpzBi3lMDPZY4D4OYGpME/2ldNRmD410Gd7may3MjvnRH6Ntyg0xAf6F1gOty4XeaybkaktE13 -8srSMxxK+0oAx8iciRJDCxJja/8iiRoDCPgbnder/lTkFHF1zHXWK6YH5+1n3DgP8ouVqHVJOryP -OQo9ExfHGQVBd7nbuxIQGESIqxQyiblfpJcJT4rQPJg9jrSJKtg/lFfHNMlQPCjzcUKjZhn6/Fpe -y6vK33l8/F4TpZhGpjHvjUyHYLKHh25/nwibN4y92dyjY8krfHIVpwrP1MH2dhvDmAiekJ7IpV/R -5qqU70EMxPZistIK/OoJ3C3XEuB0QMRwKb4cVAHifvFD/LwfGUz/5bOu+0mlapdDM0kQYPs5AlIr -9Xy6A4bByJVhCJggrbbLQ8KaZYBTxCPXW9lotqd6zMczNdnSa4F+pMIKm2s9jijjL1dri00siyWY -w8v2ghp33dNK+klevSpiiId4/HfZN7+DpaqS0VTGlYPnETyRCtt+4t3qoYdZi4KpXImD/onhGlN4 -em5iH4ZmIRBMUOo+fj6b43vxKR0WsBdSUXV6zqYGz/Gkr2b0E8Ry7INV5oOjZzTxaz2YgyF/b/CB -epqMzl1uTd8n3OthMPbzvRO8eUqCXObHKhLyPsw4XqUwHTJKh42n128Su6JOUyuXMyzwmjrfSaqk -ixOM6bdaz4A+HGX5E2QR8cgEtQeZdfwDI+MI5WkhZJki2pi+3TEN83kZYgrTcYGzETznv7InTN/u -6Yp/+3Tulw1LvENJVERe4qI2IEhdeIYZ3lGAWzkX7fBavbCve5RZHMOn+tgcrRApV4c8vPy1N9CQ -ZLbCcPGDWw9IiezmgThbZ+KIyUe4h8hGvpbKbs27VRL7TgPrnvhqke7q1iK2ZnpTspt2ANQOLkd4 -CA75UfKx50DwAJqYFKJbZwu9AzmHHiKD0cfXX3gzUbryhZsY0hTqUigCi6zV4VlXSUmKkf86Xpel -3pg8TuNu6GsCXRlbebRZnjszMjfQ/cN4Nb8s8LAZkpIug8JOCWb/72A1i9rr3WNpTQvzk3M5eg== diff --git a/.jupyter/data/runtime/jpserver-37079-open.html b/.jupyter/data/runtime/jpserver-37079-open.html deleted file mode 100644 index 9451352..0000000 --- a/.jupyter/data/runtime/jpserver-37079-open.html +++ /dev/null @@ -1,17 +0,0 @@ - - - -
- - -- 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 deleted file mode 100644 index a210e34..0000000 --- a/.jupyter/data/runtime/jpserver-37079.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "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 deleted file mode 100644 index cc90648..0000000 --- a/.jupyter/data/runtime/jpserver-38875-open.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - -- 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 deleted file mode 100644 index d5db941..0000000 --- a/.jupyter/data/runtime/jpserver-38875.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "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 deleted file mode 100644 index 38f43e4..0000000 --- a/.jupyter/data/runtime/jpserver-41785-open.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - -- 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 deleted file mode 100644 index 6e73214..0000000 --- a/.jupyter/data/runtime/jpserver-41785.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "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 deleted file mode 100644 index f5f7fbd..0000000 --- a/.jupyter/data/runtime/jpserver-44403-open.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - -- 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 deleted file mode 100644 index 4eabbd1..0000000 --- a/.jupyter/data/runtime/jpserver-44403.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "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 deleted file mode 100644 index e85cbd4..0000000 --- a/.jupyter/data/runtime/jpserver-46241-open.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - -- 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 deleted file mode 100644 index ea35d67..0000000 --- a/.jupyter/data/runtime/jpserver-46241.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "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/jpserver-50575-open.html b/.jupyter/data/runtime/jpserver-50575-open.html deleted file mode 100644 index 72cf816..0000000 --- a/.jupyter/data/runtime/jpserver-50575-open.html +++ /dev/null @@ -1,17 +0,0 @@ - - - - - - -- 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-50575.json b/.jupyter/data/runtime/jpserver-50575.json deleted file mode 100644 index 88a3eb5..0000000 --- a/.jupyter/data/runtime/jpserver-50575.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "base_url": "/", - "hostname": "localhost", - "password": false, - "pid": 50575, - "port": 8889, - "root_dir": "/Users/pr/using_uv", - "secure": false, - "sock": "", - "token": "9cf16d6e8f8848cca644fbeba759ffea7e04ecf65f2e9e89", - "url": "http://localhost:8889/", - "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 deleted file mode 100644 index 74af05b..0000000 --- a/.jupyter/data/runtime/jupyter_cookie_secret +++ /dev/null @@ -1 +0,0 @@ -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 deleted file mode 100644 index 0e3e7ba..0000000 --- a/.jupyter/data/runtime/kernel-02560f24-cc0f-4e38-b0a9-fb2de73d52f5.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "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 deleted file mode 100644 index a9946a3..0000000 --- a/.jupyter/data/runtime/kernel-2a236137-6e38-44de-bf2a-24513fdb8b72.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "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 deleted file mode 100644 index db77071..0000000 --- a/.jupyter/data/runtime/kernel-2aae1916-b65b-4d93-b976-a673691cc587.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "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 deleted file mode 100644 index 08b98e4..0000000 --- a/.jupyter/data/runtime/kernel-3a7cd087-e045-49cd-ae4e-e8acc1f97e71.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "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 deleted file mode 100644 index 2d54054..0000000 --- a/.jupyter/data/runtime/kernel-50661378-9e2d-4de3-8809-b9d935629f55.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "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-594af5d9-c160-4648-be09-d77009267580.json b/.jupyter/data/runtime/kernel-594af5d9-c160-4648-be09-d77009267580.json deleted file mode 100644 index 3278c76..0000000 --- a/.jupyter/data/runtime/kernel-594af5d9-c160-4648-be09-d77009267580.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "shell_port": 57791, - "iopub_port": 57792, - "stdin_port": 57793, - "control_port": 57795, - "hb_port": 57794, - "ip": "127.0.0.1", - "key": "8c40ef9b-d657f829b5649f10e9d4ef11", - "transport": "tcp", - "signature_scheme": "hmac-sha256", - "kernel_name": "python3", - "jupyter_session": "/Users/pr/using_uv/Files/intro_to_gennaker.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 deleted file mode 100644 index b1ca485..0000000 --- a/.jupyter/data/runtime/kernel-8132e889-2013-453d-80f0-249d9eacb7eb.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "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 deleted file mode 100644 index 44b6431..0000000 --- a/.jupyter/data/runtime/kernel-99d2c070-c94e-4c27-a5e8-cc7a423d8a5e.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "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 deleted file mode 100644 index 700e149..0000000 --- a/.jupyter/data/runtime/kernel-b4590abf-6e7a-4bdf-94b8-c0398a7da25c.json +++ /dev/null @@ -1,13 +0,0 @@ -{ - "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/lab/user-settings/@jupyter-lsp/jupyterlab-lsp/plugin.jupyterlab-settings b/.jupyter/lab/user-settings/@jupyter-lsp/jupyterlab-lsp/plugin.jupyterlab-settings index 15e8e66..9ee29df 100644 --- a/.jupyter/lab/user-settings/@jupyter-lsp/jupyterlab-lsp/plugin.jupyterlab-settings +++ b/.jupyter/lab/user-settings/@jupyter-lsp/jupyterlab-lsp/plugin.jupyterlab-settings @@ -175,7 +175,10 @@ "pylsp.plugins.flake8.hangClosing": null, "pylsp.plugins.flake8.ignore": [ "E203", - "E303" + "E303", + "F405", + "F403", + "W503", ], "pylsp.plugins.flake8.maxLineLength": 88, "pylsp.plugins.flake8.indentSize": null, @@ -279,4 +282,4 @@ "loggingLevel": "warn", "logAllCommunication": false, "setTrace": null -} \ 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 deleted file mode 100644 index b1d5dac..0000000 --- a/.jupyter/lab/workspaces/auto-0-1753.jupyterlab-workspace +++ /dev/null @@ -1 +0,0 @@ -{"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-a-ce05.jupyterlab-workspace b/.jupyter/lab/workspaces/auto-a-ce05.jupyterlab-workspace deleted file mode 100644 index ff317ed..0000000 --- a/.jupyter/lab/workspaces/auto-a-ce05.jupyterlab-workspace +++ /dev/null @@ -1 +0,0 @@ -{"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":["notebook:Files/intro_to_gennaker.ipynb"]},"current":"notebook:Files/intro_to_gennaker.ipynb"},"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":[{"path":"Files","contentType":"directory","root":"~/using_uv"},{"path":"Files/intro_to_gennaker.ipynb","contentType":"notebook","factory":"Notebook","root":"~/using_uv"}],"closed":[]},"notebook:Files/intro_to_gennaker.ipynb":{"data":{"path":"Files/intro_to_gennaker.ipynb","factory":"Notebook"}}},"metadata":{"id":"auto-a"}} \ 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 deleted file mode 100644 index 3aa6002..0000000 --- a/.jupyter/lab/workspaces/auto-d-ab05.jupyterlab-workspace +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 14978db..0000000 --- a/.jupyter/lab/workspaces/auto-e-23e3.jupyterlab-workspace +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 080915f..0000000 --- a/.jupyter/lab/workspaces/auto-f-4f86.jupyterlab-workspace +++ /dev/null @@ -1 +0,0 @@ -{"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":["notebook:Files/intro_to_gennaker.ipynb"]},"current":"notebook:Files/intro_to_gennaker.ipynb"},"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":[{"path":"Files","contentType":"directory","root":"~/using_uv"},{"path":"Files/symbolic_math.py","contentType":"file","factory":"Editor","root":"~/using_uv"},{"path":"Files/intro_to_gennaker.ipynb","contentType":"notebook","factory":"Notebook","root":"~/using_uv"}],"closed":[{"path":"Files/symbolic_math.py","contentType":"file","factory":"Editor","root":"~/using_uv"}]},"notebook:Files/intro_to_gennaker.ipynb":{"data":{"path":"Files/intro_to_gennaker.ipynb","factory":"Notebook"}}},"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 deleted file mode 100644 index 21f4344..0000000 --- a/.jupyter/lab/workspaces/auto-i-81a0.jupyterlab-workspace +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 1bfeec5..0000000 --- a/.jupyter/lab/workspaces/auto-l-8fe7.jupyterlab-workspace +++ /dev/null @@ -1 +0,0 @@ -{"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 deleted file mode 100644 index 838ac39..0000000 --- a/.jupyter/lab/workspaces/auto-q-549e.jupyterlab-workspace +++ /dev/null @@ -1 +0,0 @@ -{"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/auto-u-97ed.jupyterlab-workspace b/.jupyter/lab/workspaces/auto-u-97ed.jupyterlab-workspace deleted file mode 100644 index bd94f25..0000000 --- a/.jupyter/lab/workspaces/auto-u-97ed.jupyterlab-workspace +++ /dev/null @@ -1 +0,0 @@ -{"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":["notebook:Files/intro_to_gennaker.ipynb"]},"current":"notebook:Files/intro_to_gennaker.ipynb"},"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":[{"path":"Files","contentType":"directory","root":"~/using_uv"},{"path":"Files/intro_to_gennaker.ipynb","contentType":"notebook","factory":"Notebook","root":"~/using_uv"}],"closed":[]},"notebook:Files/intro_to_gennaker.ipynb":{"data":{"path":"Files/intro_to_gennaker.ipynb","factory":"Notebook"}}},"metadata":{"id":"auto-U"}} \ No newline at end of file diff --git a/.jupyter/lab/workspaces/default-37a8.jupyterlab-workspace b/.jupyter/lab/workspaces/default-37a8.jupyterlab-workspace deleted file mode 100644 index 5b662a9..0000000 --- a/.jupyter/lab/workspaces/default-37a8.jupyterlab-workspace +++ /dev/null @@ -1 +0,0 @@ -{"data":{"file-browser-filebrowser:columns":{"sizes":{"name":155.61328125,"file_size":null,"is_selected":18,"last_modified":91.87109375}},"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":"~/using_uv"},{"path":"Files/intro_to_gennaker.ipynb","contentType":"notebook","factory":"Notebook","root":"~/using_uv"},{"path":"Files/requirements.txt","contentType":"file","factory":"Editor","root":"~/using_uv"},{"path":"Files/test_imports.ipynb","contentType":"notebook","factory":"Notebook","root":"~/using_uv"},{"path":"","contentType":"directory","root":"~/using_uv"},{"path":"pyproject.toml","contentType":"file","factory":"Editor","root":"~/using_uv"},{"path":"s.sh","contentType":"file","factory":"Editor","root":"~/jl_0"}],"closed":[{"path":"Files/intro_to_gennaker.ipynb","contentType":"notebook","factory":"Notebook","root":"~/using_uv"},{"path":"Files/requirements.txt","contentType":"file","factory":"Editor","root":"~/using_uv"},{"path":"Files/test_imports.ipynb","contentType":"notebook","factory":"Notebook","root":"~/using_uv"},{"path":"pyproject.toml","contentType":"file","factory":"Editor","root":"~/using_uv"},{"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/.virtual_documents/Files/intro_to_gennaker.ipynb b/.virtual_documents/Files/intro_to_gennaker.ipynb deleted file mode 100644 index 5cbce3d..0000000 --- a/.virtual_documents/Files/intro_to_gennaker.ipynb +++ /dev/null @@ -1,94 +0,0 @@ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -from symbolic_math import * - - -g = Lambda(x, exp(-x**(-2))) -g - - -h = Lambda(x, a + b*(1-g(x))) -h - - -r = Lambda(x, (a / h(x))) -r - - -F = Lambda((x,t), (exp(h(x)*t)*(1-r(x))+r(x))**(-1)) -F - - - - - -F0 = Lambda(t, limit(F(x,t), x, 0)) -F0 - - - - - - - - -# !uv pip install plotnine polars - - -from plotnine import ggplot, aes, geom_point, geom_smooth - - -from polars import read_csv - - - - - -dtypes = {"x": float, "y": float} - -df = read_csv( - "data.csv", - schema_overrides = dtypes -) - - - - - - -( - ggplot(data=df, mapping = aes(x = "x", y = "y")) - + geom_point() - + geom_smooth(method="lm", color="blue") -) - - - diff --git a/Files/intro_to_gennaker.ipynb b/Files/intro_to_gennaker.ipynb index 17a53b7..85a2e9f 100644 --- a/Files/intro_to_gennaker.ipynb +++ b/Files/intro_to_gennaker.ipynb @@ -1,5 +1,15 @@ { "cells": [ + { + "cell_type": "code", + "execution_count": 1, + "id": "49493b25-32ca-4f4e-a0cf-948e3d957505", + "metadata": {}, + "outputs": [], + "source": [ + "from symbolic_math import *" + ] + }, { "cell_type": "markdown", "id": "e78aac2a-9ecf-4384-8ca8-ad6926f91908", @@ -107,16 +117,6 @@ "You sometimes it is easier to build up complex Latex expressions by composing functions. For example, to specify a time dependent desity function you can define some functions and compose them:" ] }, - { - "cell_type": "code", - "execution_count": 1, - "id": "c024b99c-2c7e-483b-8ff5-026911ae0b01", - "metadata": {}, - "outputs": [], - "source": [ - "from symbolic_math import *" - ] - }, { "cell_type": "code", "execution_count": 2, @@ -194,7 +194,7 @@ }, { "cell_type": "code", - "execution_count": 5, + "execution_count": 12, "id": "03daf02c-7bb5-4119-8f47-56ec7891fe48", "metadata": {}, "outputs": [ @@ -207,13 +207,13 @@ "Lambda((x, t), 1/(alpha/(alpha + beta*(1 - exp(-1/x**2))) + (-alpha/(alpha + beta*(1 - exp(-1/x**2))) + 1)*exp(t*(alpha + beta*(1 - exp(-1/x**2))))))" ] }, - "execution_count": 5, + "execution_count": 12, "metadata": {}, "output_type": "execute_result" } ], "source": [ - "F = Lambda((x,t), (exp(h(x)*t)*(1-r(x))+r(x))**(-1))\n", + "F = Lambda((x, t), (exp(h(x) * t) * (1 - r(x)) + r(x))**(-1))\n", "F" ] }, @@ -246,7 +246,7 @@ } ], "source": [ - "F0 = Lambda(t, limit(F(x,t), x, 0))\n", + "F0 = Lambda(t, limit(F(x, t), x, 0))\n", "F0" ] }, @@ -289,7 +289,7 @@ "metadata": {}, "outputs": [], "source": [ - "from plotnine import ggplot, aes, geom_point, geom_smooth" + "# from plotnine import ggplot, aes, geom_point, geom_smooth" ] }, { @@ -299,7 +299,7 @@ "metadata": {}, "outputs": [], "source": [ - "from polars import read_csv" + "# from polars import read_csv" ] }, { @@ -312,16 +312,16 @@ }, { "cell_type": "code", - "execution_count": 10, + "execution_count": 13, "id": "27d3e23e-f5dc-41d7-aba2-60d6aa791a63", "metadata": {}, "outputs": [], "source": [ - "dtypes = {\"x\": float, \"y\": float}\n", + "dtypes = {\"x\": float, \"y\": float}\n", "\n", "df = read_csv(\n", " \"data.csv\",\n", - " schema_overrides = dtypes\n", + " schema_overrides=dtypes\n", ")\n" ] }, @@ -354,10 +354,10 @@ ], "source": [ "(\n", - " ggplot(data=df, mapping = aes(x = \"x\", y = \"y\"))\n", - " + geom_point() \n", + " ggplot(data=df, mapping=aes(x=\"x\", y=\"y\"))\n", + " + geom_point()\n", " + geom_smooth(method=\"lm\", color=\"blue\")\n", - ") " + ")" ] }, { diff --git a/Files/symbolic_math.py b/Files/symbolic_math.py index 9a240af..f1f78fd 100644 --- a/Files/symbolic_math.py +++ b/Files/symbolic_math.py @@ -1,4 +1,7 @@ +from plotnine import ggplot, aes, geom_point, geom_smooth +from polars import read_csv import mpmath + from sympy import symbols, Function, Lambda, lambdify, exp, diff, limit, oo a, b, x, z, t = symbols('alpha beta x z t') diff --git a/pyproject.toml b/pyproject.toml index 0b261f4..67c82ab 100644 --- a/pyproject.toml +++ b/pyproject.toml @@ -10,7 +10,7 @@ dependencies = [ "tomlkit", "jupyterlab-lsp", "python-lsp-server[all]>=1.13.1", - "jupyterlab-spellchecker", + # "jupyterlab-spellchecker", "jupyterlab-code-formatter", "black", "isort", @@ -19,7 +19,7 @@ dependencies = [ "tufte", "clear_run_to_selected", "plotnine", - "sympy", "polars", "pyarrow", + "sympy", ] diff --git a/t.sh b/t.sh index ce89df6..8600493 100755 --- a/t.sh +++ b/t.sh @@ -1,4 +1,8 @@ #!/bin/bash +# +uv lock +uv sync + export JUPYTERLAB_SETTINGS_DIR="${PWD}/.jupyter/lab/user-settings" export JUPYTER_DATA_DIR="${PWD}/.jupyter/data" export JUPYTER_CONFIG_DIR="${PWD}/.jupyter" diff --git a/uv.lock b/uv.lock index b99ae86..dc5bdf4 100644 --- a/uv.lock +++ b/uv.lock @@ -1,5 +1,5 @@ version = 1 -revision = 2 +revision = 3 requires-python = ">=3.13.2" resolution-markers = [ "python_full_version >= '3.14'", @@ -945,19 +945,6 @@ 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" @@ -1048,7 +1035,6 @@ dependencies = [ { name = "jupyterlab-code-formatter" }, { name = "jupyterlab-lsp" }, { name = "jupyterlab-quickopen" }, - { name = "jupyterlab-spellchecker" }, { name = "plotnine" }, { name = "polars" }, { name = "pyarrow" }, @@ -1069,7 +1055,6 @@ requires-dist = [ { name = "jupyterlab-code-formatter" }, { name = "jupyterlab-lsp" }, { name = "jupyterlab-quickopen" }, - { name = "jupyterlab-spellchecker" }, { name = "plotnine" }, { name = "polars" }, { name = "pyarrow" },