both platforms

This commit is contained in:
Paul Romer 2025-10-22 11:09:18 -04:00
parent a3735a0b99
commit a16503fae6
42 changed files with 40 additions and 463 deletions

4
.gitignore vendored
View file

@ -1,3 +1,5 @@
.ipynb_checkpoints .ipynb_checkpoints
.venv .venv
.jupyter/data
.virtual_documents
.jupyter/lab/workspaces

Binary file not shown.

View file

@ -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==

View file

@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="1;url=http://localhost:8888/lab?token=db740a5b7380edae73c8fc4a99018d78d9c6c0fd749f7005" />
<title>Opening Jupyter Application</title>
</head>
<body>
<p>
This page should redirect you to a Jupyter application. If it doesn't,
<a href="http://localhost:8888/lab?token=db740a5b7380edae73c8fc4a99018d78d9c6c0fd749f7005">click here to go to Jupyter</a>.
</p>
</body>
</html>

View file

@ -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"
}

View file

@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="1;url=http://localhost:8889/lab?token=45c8786ad184cdbdbe1bc59567a8260aab423f2a479f8910" />
<title>Opening Jupyter Application</title>
</head>
<body>
<p>
This page should redirect you to a Jupyter application. If it doesn't,
<a href="http://localhost:8889/lab?token=45c8786ad184cdbdbe1bc59567a8260aab423f2a479f8910">click here to go to Jupyter</a>.
</p>
</body>
</html>

View file

@ -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"
}

View file

@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="1;url=http://localhost:8890/lab?token=30b639d0719c655bdb593c39c6c8e3d96048d27b637b79a7" />
<title>Opening Jupyter Application</title>
</head>
<body>
<p>
This page should redirect you to a Jupyter application. If it doesn't,
<a href="http://localhost:8890/lab?token=30b639d0719c655bdb593c39c6c8e3d96048d27b637b79a7">click here to go to Jupyter</a>.
</p>
</body>
</html>

View file

@ -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"
}

View file

@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="1;url=http://localhost:8888/lab?token=0dbca0cc6e76593802ee2aa2997b2e06c7a2bca0fc5aa43d" />
<title>Opening Jupyter Application</title>
</head>
<body>
<p>
This page should redirect you to a Jupyter application. If it doesn't,
<a href="http://localhost:8888/lab?token=0dbca0cc6e76593802ee2aa2997b2e06c7a2bca0fc5aa43d">click here to go to Jupyter</a>.
</p>
</body>
</html>

View file

@ -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"
}

View file

@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="1;url=http://localhost:8888/lab?token=3a4abf914f825e9e9802859899352ae7ccde9e364f8eeffc" />
<title>Opening Jupyter Application</title>
</head>
<body>
<p>
This page should redirect you to a Jupyter application. If it doesn't,
<a href="http://localhost:8888/lab?token=3a4abf914f825e9e9802859899352ae7ccde9e364f8eeffc">click here to go to Jupyter</a>.
</p>
</body>
</html>

View file

@ -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"
}

View file

@ -1,17 +0,0 @@
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta http-equiv="refresh" content="1;url=http://localhost:8889/lab?token=9cf16d6e8f8848cca644fbeba759ffea7e04ecf65f2e9e89" />
<title>Opening Jupyter Application</title>
</head>
<body>
<p>
This page should redirect you to a Jupyter application. If it doesn't,
<a href="http://localhost:8889/lab?token=9cf16d6e8f8848cca644fbeba759ffea7e04ecf65f2e9e89">click here to go to Jupyter</a>.
</p>
</body>
</html>

View file

@ -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"
}

View file

@ -1 +0,0 @@
8xVEWJeV0g7xjQt5DxXy1g9ijzfnr78Y2SimZh5JJ/I=

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -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"
}

View file

@ -175,7 +175,10 @@
"pylsp.plugins.flake8.hangClosing": null, "pylsp.plugins.flake8.hangClosing": null,
"pylsp.plugins.flake8.ignore": [ "pylsp.plugins.flake8.ignore": [
"E203", "E203",
"E303" "E303",
"F405",
"F403",
"W503",
], ],
"pylsp.plugins.flake8.maxLineLength": 88, "pylsp.plugins.flake8.maxLineLength": 88,
"pylsp.plugins.flake8.indentSize": null, "pylsp.plugins.flake8.indentSize": null,

View file

@ -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"}}

View file

@ -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"}}

View file

@ -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"}}

View file

@ -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"}}

View file

@ -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"}}

View file

@ -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"}}

View file

@ -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"}}

View file

@ -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"}}

View file

@ -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"}}

View file

@ -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"}}

View file

@ -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")
)

View file

@ -1,5 +1,15 @@
{ {
"cells": [ "cells": [
{
"cell_type": "code",
"execution_count": 1,
"id": "49493b25-32ca-4f4e-a0cf-948e3d957505",
"metadata": {},
"outputs": [],
"source": [
"from symbolic_math import *"
]
},
{ {
"cell_type": "markdown", "cell_type": "markdown",
"id": "e78aac2a-9ecf-4384-8ca8-ad6926f91908", "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:" "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", "cell_type": "code",
"execution_count": 2, "execution_count": 2,
@ -194,7 +194,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 5, "execution_count": 12,
"id": "03daf02c-7bb5-4119-8f47-56ec7891fe48", "id": "03daf02c-7bb5-4119-8f47-56ec7891fe48",
"metadata": {}, "metadata": {},
"outputs": [ "outputs": [
@ -207,7 +207,7 @@
"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))))))" "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": {}, "metadata": {},
"output_type": "execute_result" "output_type": "execute_result"
} }
@ -289,7 +289,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from plotnine import ggplot, aes, geom_point, geom_smooth" "# from plotnine import ggplot, aes, geom_point, geom_smooth"
] ]
}, },
{ {
@ -299,7 +299,7 @@
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],
"source": [ "source": [
"from polars import read_csv" "# from polars import read_csv"
] ]
}, },
{ {
@ -312,7 +312,7 @@
}, },
{ {
"cell_type": "code", "cell_type": "code",
"execution_count": 10, "execution_count": 13,
"id": "27d3e23e-f5dc-41d7-aba2-60d6aa791a63", "id": "27d3e23e-f5dc-41d7-aba2-60d6aa791a63",
"metadata": {}, "metadata": {},
"outputs": [], "outputs": [],

View file

@ -1,4 +1,7 @@
from plotnine import ggplot, aes, geom_point, geom_smooth
from polars import read_csv
import mpmath import mpmath
from sympy import symbols, Function, Lambda, lambdify, exp, diff, limit, oo from sympy import symbols, Function, Lambda, lambdify, exp, diff, limit, oo
a, b, x, z, t = symbols('alpha beta x z t') a, b, x, z, t = symbols('alpha beta x z t')

View file

@ -10,7 +10,7 @@ dependencies = [
"tomlkit", "tomlkit",
"jupyterlab-lsp", "jupyterlab-lsp",
"python-lsp-server[all]>=1.13.1", "python-lsp-server[all]>=1.13.1",
"jupyterlab-spellchecker", # "jupyterlab-spellchecker",
"jupyterlab-code-formatter", "jupyterlab-code-formatter",
"black", "black",
"isort", "isort",
@ -19,7 +19,7 @@ dependencies = [
"tufte", "tufte",
"clear_run_to_selected", "clear_run_to_selected",
"plotnine", "plotnine",
"sympy",
"polars", "polars",
"pyarrow", "pyarrow",
"sympy",
] ]

4
t.sh
View file

@ -1,4 +1,8 @@
#!/bin/bash #!/bin/bash
#
uv lock
uv sync
export JUPYTERLAB_SETTINGS_DIR="${PWD}/.jupyter/lab/user-settings" export JUPYTERLAB_SETTINGS_DIR="${PWD}/.jupyter/lab/user-settings"
export JUPYTER_DATA_DIR="${PWD}/.jupyter/data" export JUPYTER_DATA_DIR="${PWD}/.jupyter/data"
export JUPYTER_CONFIG_DIR="${PWD}/.jupyter" export JUPYTER_CONFIG_DIR="${PWD}/.jupyter"

17
uv.lock
View file

@ -1,5 +1,5 @@
version = 1 version = 1
revision = 2 revision = 3
requires-python = ">=3.13.2" requires-python = ">=3.13.2"
resolution-markers = [ resolution-markers = [
"python_full_version >= '3.14'", "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" }, { 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]] [[package]]
name = "jupyterlab-widgets" name = "jupyterlab-widgets"
version = "3.0.15" version = "3.0.15"
@ -1048,7 +1035,6 @@ dependencies = [
{ name = "jupyterlab-code-formatter" }, { name = "jupyterlab-code-formatter" },
{ name = "jupyterlab-lsp" }, { name = "jupyterlab-lsp" },
{ name = "jupyterlab-quickopen" }, { name = "jupyterlab-quickopen" },
{ name = "jupyterlab-spellchecker" },
{ name = "plotnine" }, { name = "plotnine" },
{ name = "polars" }, { name = "polars" },
{ name = "pyarrow" }, { name = "pyarrow" },
@ -1069,7 +1055,6 @@ requires-dist = [
{ name = "jupyterlab-code-formatter" }, { name = "jupyterlab-code-formatter" },
{ name = "jupyterlab-lsp" }, { name = "jupyterlab-lsp" },
{ name = "jupyterlab-quickopen" }, { name = "jupyterlab-quickopen" },
{ name = "jupyterlab-spellchecker" },
{ name = "plotnine" }, { name = "plotnine" },
{ name = "polars" }, { name = "polars" },
{ name = "pyarrow" }, { name = "pyarrow" },