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,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))))))" "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"
} }
], ],
"source": [ "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" "F"
] ]
}, },
@ -246,7 +246,7 @@
} }
], ],
"source": [ "source": [
"F0 = Lambda(t, limit(F(x,t), x, 0))\n", "F0 = Lambda(t, limit(F(x, t), x, 0))\n",
"F0" "F0"
] ]
}, },
@ -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": [],
@ -321,7 +321,7 @@
"\n", "\n",
"df = read_csv(\n", "df = read_csv(\n",
" \"data.csv\",\n", " \"data.csv\",\n",
" schema_overrides = dtypes\n", " schema_overrides=dtypes\n",
")\n" ")\n"
] ]
}, },
@ -354,10 +354,10 @@
], ],
"source": [ "source": [
"(\n", "(\n",
" ggplot(data=df, mapping = aes(x = \"x\", y = \"y\"))\n", " ggplot(data=df, mapping=aes(x=\"x\", y=\"y\"))\n",
" + geom_point() \n", " + geom_point()\n",
" + geom_smooth(method=\"lm\", color=\"blue\")\n", " + geom_smooth(method=\"lm\", color=\"blue\")\n",
") " ")"
] ]
}, },
{ {

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