matlab-proxy 0.5.3__py3-none-any.whl → 0.30.1__py3-none-any.whl
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- matlab_proxy/app.py +578 -205
- matlab_proxy/app_state.py +1061 -431
- matlab_proxy/constants.py +37 -0
- matlab_proxy/default_configuration.py +39 -4
- matlab_proxy/devel.py +18 -22
- matlab_proxy/gui/index.html +20 -1
- matlab_proxy/gui/static/css/index.BedVwcEg.css +10 -0
- matlab_proxy/gui/static/js/index.pQwV1obF.js +64 -0
- matlab_proxy/gui/static/media/MATLAB-env-blur.NupTbPv_.png +0 -0
- matlab_proxy/matlab/evaluateUserMatlabCode.m +51 -0
- matlab_proxy/matlab/startup.m +3 -28
- matlab_proxy/settings.py +543 -112
- matlab_proxy/util/__init__.py +187 -59
- matlab_proxy/util/cookie_jar.py +72 -0
- matlab_proxy/util/event_loop.py +28 -10
- matlab_proxy/util/list_servers.py +71 -26
- matlab_proxy/util/mw.py +16 -15
- matlab_proxy/util/mwi/download.py +136 -0
- matlab_proxy/util/mwi/embedded_connector/__init__.py +1 -1
- matlab_proxy/util/mwi/embedded_connector/helpers.py +12 -4
- matlab_proxy/util/mwi/embedded_connector/request.py +78 -12
- matlab_proxy/util/mwi/environment_variables.py +120 -27
- matlab_proxy/util/mwi/exceptions.py +63 -9
- matlab_proxy/util/mwi/logger.py +141 -27
- matlab_proxy/util/mwi/session_name.py +28 -0
- matlab_proxy/util/mwi/token_auth.py +264 -121
- matlab_proxy/util/mwi/validators.py +231 -88
- matlab_proxy/util/system.py +9 -0
- matlab_proxy/util/windows.py +32 -6
- {matlab_proxy-0.5.3.dist-info → matlab_proxy-0.30.1.dist-info}/METADATA +94 -49
- matlab_proxy-0.30.1.dist-info/RECORD +88 -0
- {matlab_proxy-0.5.3.dist-info → matlab_proxy-0.30.1.dist-info}/WHEEL +1 -2
- {matlab_proxy-0.5.3.dist-info → matlab_proxy-0.30.1.dist-info}/entry_points.txt +1 -1
- matlab_proxy_manager/README.md +85 -0
- matlab_proxy_manager/__init__.py +6 -0
- matlab_proxy_manager/lib/README.md +53 -0
- matlab_proxy_manager/lib/__init__.py +1 -0
- matlab_proxy_manager/lib/api.py +419 -0
- matlab_proxy_manager/storage/README.md +54 -0
- matlab_proxy_manager/storage/__init__.py +1 -0
- matlab_proxy_manager/storage/file_repository.py +144 -0
- matlab_proxy_manager/storage/interface.py +62 -0
- matlab_proxy_manager/storage/server.py +172 -0
- matlab_proxy_manager/utils/__init__.py +1 -0
- matlab_proxy_manager/utils/auth.py +77 -0
- matlab_proxy_manager/utils/constants.py +8 -0
- matlab_proxy_manager/utils/decorators.py +37 -0
- matlab_proxy_manager/utils/environment_variables.py +51 -0
- matlab_proxy_manager/utils/exceptions.py +45 -0
- matlab_proxy_manager/utils/helpers.py +314 -0
- matlab_proxy_manager/utils/logger.py +76 -0
- matlab_proxy_manager/web/README.md +37 -0
- matlab_proxy_manager/web/__init__.py +1 -0
- matlab_proxy_manager/web/app.py +536 -0
- matlab_proxy_manager/web/monitor.py +45 -0
- matlab_proxy_manager/web/watcher.py +65 -0
- matlab_proxy/gui/asset-manifest.json +0 -23
- matlab_proxy/gui/authorization.html +0 -115
- matlab_proxy/gui/bootstrap.3.4.1.min.css +0 -6
- matlab_proxy/gui/navbar.css +0 -8
- matlab_proxy/gui/signin.css +0 -42
- matlab_proxy/gui/static/css/main.d890078a.chunk.css +0 -13
- matlab_proxy/gui/static/css/main.d890078a.chunk.css.map +0 -1
- matlab_proxy/gui/static/js/2.13be6544.chunk.js +0 -3
- matlab_proxy/gui/static/js/2.13be6544.chunk.js.LICENSE.txt +0 -59
- matlab_proxy/gui/static/js/2.13be6544.chunk.js.map +0 -1
- matlab_proxy/gui/static/js/main.c311d854.chunk.js +0 -2
- matlab_proxy/gui/static/js/main.c311d854.chunk.js.map +0 -1
- matlab_proxy/gui/static/js/runtime-main.f70e4d5f.js +0 -2
- matlab_proxy/gui/static/js/runtime-main.f70e4d5f.js.map +0 -1
- matlab_proxy/gui/static/media/arrow.0c2968b9.svg +0 -4
- matlab_proxy/gui/static/media/feedback.6e8d50eb.svg +0 -1
- matlab_proxy/gui/static/media/gripper.9defbc5e.svg +0 -1
- matlab_proxy/gui/static/media/help.15e5bfab.svg +0 -1
- matlab_proxy/gui/static/media/ico-header-contact-hover.0958c442.svg +0 -17
- matlab_proxy/gui/static/media/ico-header-contact.ae9169c8.svg +0 -17
- matlab_proxy/gui/static/media/restart.7987508a.svg +0 -1
- matlab_proxy/gui/static/media/sign-out.08356b67.svg +0 -1
- matlab_proxy/gui/static/media/start.50c4596f.svg +0 -1
- matlab_proxy/gui/static/media/stop.30c9a9ab.svg +0 -1
- matlab_proxy/gui/static/media/terminate.7ea1363e.svg +0 -1
- matlab_proxy/gui/token.html +0 -123
- matlab_proxy-0.5.3.dist-info/RECORD +0 -84
- matlab_proxy-0.5.3.dist-info/top_level.txt +0 -1
- /matlab_proxy/gui/static/media/{glyphicons-halflings-regular.82b1212e.woff → glyphicons-halflings-regular.BKjkU69z.woff} +0 -0
- /matlab_proxy/gui/static/media/{glyphicons-halflings-regular.5be1347c.eot → glyphicons-halflings-regular.BUJKDMgK.eot} +0 -0
- /matlab_proxy/gui/static/media/{glyphicons-halflings-regular.060b2710.svg → glyphicons-halflings-regular.CSehLiBc.svg} +0 -0
- /matlab_proxy/gui/static/media/{glyphicons-halflings-regular.4692b9ec.ttf → glyphicons-halflings-regular.DrwTMapi.ttf} +0 -0
- /matlab_proxy/gui/static/media/{glyphicons-halflings-regular.be810be3.woff2 → glyphicons-halflings-regular.DzqM6ju8.woff2} +0 -0
- /matlab_proxy/gui/static/media/{ico-header-account-hover.89438e91.svg → ico-header-account-hover.-jQHo6Wx.svg} +0 -0
- /matlab_proxy/gui/static/media/{ico-header-account.86b10d7b.svg → ico-header-account.CJCFoo5a.svg} +0 -0
- /matlab_proxy/gui/static/media/{ico-sprite.cbdb66c0.png → ico-sprite.DXGLgzq9.png} +0 -0
- /matlab_proxy/gui/static/media/{mathworks-eps.4d20e0ee.ttf → mathworks-eps.CGNQALa9.ttf} +0 -0
- /matlab_proxy/gui/static/media/{mathworks-eps.df1428df.svg → mathworks-eps.DrkCtQtG.svg} +0 -0
- /matlab_proxy/gui/static/media/{mathworks-eps.e5c41e84.woff → mathworks-eps.Ds7lQbql.woff} +0 -0
- /matlab_proxy/gui/static/media/{mathworks-pictograms.3fc6513a.woff → mathworks-pictograms.BdqxEfBR.woff} +0 -0
- /matlab_proxy/gui/static/media/{mathworks-pictograms.f6f087b0.svg → mathworks-pictograms.CCLweoD4.svg} +0 -0
- /matlab_proxy/gui/static/media/{mathworks-pictograms.6e128c0e.ttf → mathworks-pictograms.DZhFdRSm.ttf} +0 -0
- /matlab_proxy/gui/static/media/{mathworks.80a3218e.svg → mathworks.C-qsbhDy.svg} +0 -0
- /matlab_proxy/gui/static/media/{mathworks.c422935b.ttf → mathworks.Ceplx86V.ttf} +0 -0
- /matlab_proxy/gui/static/media/{mathworks.37a563ef.woff → mathworks.D08X1Vp8.woff} +0 -0
- /matlab_proxy/gui/static/media/{trigger-error.3f1c4ef2.svg → trigger-error.QEdsGL-m.svg} +0 -0
- /matlab_proxy/gui/static/media/{trigger-ok.7b9c238b.svg → trigger-ok.Dzg8OIrk.svg} +0 -0
- {matlab_proxy-0.5.3.dist-info → matlab_proxy-0.30.1.dist-info/licenses}/LICENSE.md +0 -0
|
@@ -1,48 +1,65 @@
|
|
|
1
|
-
Metadata-Version: 2.
|
|
1
|
+
Metadata-Version: 2.4
|
|
2
2
|
Name: matlab-proxy
|
|
3
|
-
Version: 0.
|
|
4
|
-
Summary:
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
3
|
+
Version: 0.30.1
|
|
4
|
+
Summary: Python® package enables you to launch MATLAB® and access it from a web browser.
|
|
5
|
+
Project-URL: Homepage, https://github.com/mathworks/matlab-proxy/
|
|
6
|
+
Project-URL: Documentation, https://github.com/mathworks/matlab-proxy/blob/main/README.md
|
|
7
|
+
Project-URL: Issues, https://github.com/mathworks/matlab-proxy/issues
|
|
8
|
+
Author-email: "The MathWorks Inc." <cloud@mathworks.com>
|
|
9
|
+
License-Expression: LicenseRef-MATHWORKS-CLOUD-REFERENCE-ARCHITECTURE-LICENSE
|
|
10
|
+
License-File: LICENSE.md
|
|
11
|
+
Keywords: MATLAB,MATLAB Javascript Desktop,MATLAB Proxy,MATLAB Web Desktop,Proxy,Remote MATLAB Web Access
|
|
11
12
|
Classifier: Intended Audience :: Developers
|
|
12
13
|
Classifier: Natural Language :: English
|
|
13
14
|
Classifier: Programming Language :: Python
|
|
14
|
-
Classifier: Programming Language :: Python :: 3.7
|
|
15
|
-
Classifier: Programming Language :: Python :: 3.8
|
|
16
|
-
Classifier: Programming Language :: Python :: 3.9
|
|
17
15
|
Classifier: Programming Language :: Python :: 3.10
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
Requires-
|
|
16
|
+
Classifier: Programming Language :: Python :: 3.11
|
|
17
|
+
Classifier: Programming Language :: Python :: 3.12
|
|
18
|
+
Classifier: Programming Language :: Python :: 3.13
|
|
19
|
+
Requires-Python: <3.14,>=3.10
|
|
22
20
|
Requires-Dist: aiohttp-session[secure]
|
|
21
|
+
Requires-Dist: aiohttp>=3.7.4
|
|
22
|
+
Requires-Dist: psutil
|
|
23
|
+
Requires-Dist: requests
|
|
24
|
+
Requires-Dist: rich
|
|
25
|
+
Requires-Dist: watchdog
|
|
23
26
|
Provides-Extra: dev
|
|
24
|
-
Requires-Dist: aiohttp-devtools
|
|
25
|
-
Requires-Dist: black
|
|
26
|
-
Requires-Dist:
|
|
27
|
-
Requires-Dist: pytest
|
|
28
|
-
Requires-Dist: pytest-
|
|
29
|
-
Requires-Dist: pytest-
|
|
30
|
-
Requires-Dist: pytest-
|
|
31
|
-
Requires-Dist: pytest-
|
|
32
|
-
Requires-Dist:
|
|
27
|
+
Requires-Dist: aiohttp-devtools; extra == 'dev'
|
|
28
|
+
Requires-Dist: black; extra == 'dev'
|
|
29
|
+
Requires-Dist: psutil; extra == 'dev'
|
|
30
|
+
Requires-Dist: pytest; extra == 'dev'
|
|
31
|
+
Requires-Dist: pytest-aiohttp; extra == 'dev'
|
|
32
|
+
Requires-Dist: pytest-asyncio; extra == 'dev'
|
|
33
|
+
Requires-Dist: pytest-cov; extra == 'dev'
|
|
34
|
+
Requires-Dist: pytest-env; extra == 'dev'
|
|
35
|
+
Requires-Dist: pytest-mock; extra == 'dev'
|
|
36
|
+
Requires-Dist: pytest-playwright; extra == 'dev'
|
|
37
|
+
Requires-Dist: pytest-timeout; extra == 'dev'
|
|
38
|
+
Requires-Dist: ruff; extra == 'dev'
|
|
39
|
+
Requires-Dist: urllib3; extra == 'dev'
|
|
40
|
+
Provides-Extra: test
|
|
41
|
+
Requires-Dist: psutil; extra == 'test'
|
|
42
|
+
Requires-Dist: pytest; extra == 'test'
|
|
43
|
+
Requires-Dist: pytest-aiohttp; extra == 'test'
|
|
44
|
+
Requires-Dist: pytest-asyncio; extra == 'test'
|
|
45
|
+
Requires-Dist: pytest-cov; extra == 'test'
|
|
46
|
+
Requires-Dist: pytest-env; extra == 'test'
|
|
47
|
+
Requires-Dist: pytest-mock; extra == 'test'
|
|
48
|
+
Requires-Dist: pytest-playwright; extra == 'test'
|
|
49
|
+
Requires-Dist: pytest-timeout; extra == 'test'
|
|
50
|
+
Requires-Dist: urllib3; extra == 'test'
|
|
51
|
+
Description-Content-Type: text/markdown
|
|
33
52
|
|
|
34
53
|
# MATLAB Proxy
|
|
35
|
-
[ 2020-2022 The MathWorks, Inc. All rights reserved.
|
|
54
|
+
[](https://github.com/mathworks/matlab-proxy/actions) [](https://pypi.python.org/pypi/matlab-proxy) [](https://codecov.io/gh/mathworks/matlab-proxy) [](https://pepy.tech/project/matlab-proxy)
|
|
38
55
|
|
|
39
56
|
----
|
|
40
57
|
|
|
41
|
-
|
|
58
|
+
Use this Python® package `matlab-proxy` to start MATLAB® and access it from a web browser.
|
|
42
59
|
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
60
|
+
Install this package to create an executable `matlab-proxy-app`, which starts MATLAB and provides you a URL to access it.
|
|
61
|
+
|
|
62
|
+
MATLAB Proxy is under active development. For support or to report issues, see [Feedback](#feedback).
|
|
46
63
|
|
|
47
64
|
----
|
|
48
65
|
|
|
@@ -58,17 +75,19 @@ The MATLAB Proxy is under active development. For support or to report issues, s
|
|
|
58
75
|
- [Feedback](#feedback)
|
|
59
76
|
|
|
60
77
|
## Requirements
|
|
61
|
-
* MATLAB® R2020b or later
|
|
78
|
+
* MATLAB® R2020b or later, installed and added to the system PATH.
|
|
62
79
|
```bash
|
|
63
80
|
# Confirm MATLAB is on the PATH
|
|
64
81
|
which matlab
|
|
65
82
|
```
|
|
66
83
|
* The dependencies required to run MATLAB.
|
|
67
|
-
|
|
84
|
+
For details, refer to the Dockerfiles in the [matlab-deps](https://github.com/mathworks-ref-arch/container-images/tree/master/matlab-deps) repository for your desired version of MATLAB.
|
|
85
|
+
|
|
86
|
+
* X Virtual Frame Buffer (Xvfb) (only for Linux® based systems):
|
|
68
87
|
|
|
69
|
-
|
|
88
|
+
Installing Xvfb is optional (starting v0.11.0 of matlab-proxy) but highly recommended. Xvfb enables graphical abilities like plots and figures in the MATLAB desktop.
|
|
89
|
+
To install Xvfb on your Linux machine, use:
|
|
70
90
|
|
|
71
|
-
Install it on your linux machine using:
|
|
72
91
|
```bash
|
|
73
92
|
# On a Debian/Ubuntu based system:
|
|
74
93
|
$ sudo apt install xvfb
|
|
@@ -80,9 +99,20 @@ The MATLAB Proxy is under active development. For support or to report issues, s
|
|
|
80
99
|
|
|
81
100
|
$ sudo yum install xorg-x11-server-Xvfb
|
|
82
101
|
```
|
|
83
|
-
|
|
84
|
-
|
|
102
|
+
|
|
103
|
+
|
|
104
|
+
* Fluxbox Window Manager (only for Linux® based systems):
|
|
105
|
+
|
|
106
|
+
Installing fluxbox is optional but required to use Simulink Online.
|
|
107
|
+
|
|
108
|
+
Install fluxbox using:
|
|
109
|
+
```bash
|
|
110
|
+
# On a Debian/Ubuntu based system:
|
|
111
|
+
$ sudo apt install fluxbox
|
|
112
|
+
```
|
|
85
113
|
|
|
114
|
+
* Python versions: 3.10 | 3.11 | 3.12 | 3.13
|
|
115
|
+
* [Browser Requirements](https://www.mathworks.com/support/requirements/browser-requirements.html)
|
|
86
116
|
* Supported Operating Systems:
|
|
87
117
|
* Linux®
|
|
88
118
|
* Windows® Operating System ( starting v0.4.0 of matlab-proxy )
|
|
@@ -98,7 +128,7 @@ python -m pip install matlab-proxy
|
|
|
98
128
|
```
|
|
99
129
|
|
|
100
130
|
### Building From Sources
|
|
101
|
-
Building from sources requires Node.js® version
|
|
131
|
+
Building from sources requires Node.js® version 24 or higher — [install it from the official site](https://nodejs.org/en/).
|
|
102
132
|
|
|
103
133
|
```bash
|
|
104
134
|
git clone https://github.com/mathworks/matlab-proxy.git
|
|
@@ -118,7 +148,7 @@ which matlab-proxy-app
|
|
|
118
148
|
|
|
119
149
|
Once the `matlab-proxy` package is installed.
|
|
120
150
|
|
|
121
|
-
* Open a
|
|
151
|
+
* Open a terminal and start `matlab-proxy-app`. On Linux, the command would be
|
|
122
152
|
```bash
|
|
123
153
|
env MWI_BASE_URL="/matlab" matlab-proxy-app
|
|
124
154
|
```
|
|
@@ -127,7 +157,7 @@ Once the `matlab-proxy` package is installed.
|
|
|
127
157
|
|
|
128
158
|
Running the above command will print text out on your terminal, which will contain the URL to access MATLAB. For example:
|
|
129
159
|
```
|
|
130
|
-
MATLAB
|
|
160
|
+
Access MATLAB at
|
|
131
161
|
http://localhost:44549/matlab/index.html
|
|
132
162
|
```
|
|
133
163
|
|
|
@@ -155,17 +185,18 @@ The following options are available in the status panel (some options are only a
|
|
|
155
185
|
|
|
156
186
|
| Option | Description |
|
|
157
187
|
| ---- | ---- |
|
|
158
|
-
| Start MATLAB
|
|
159
|
-
| Restart MATLAB
|
|
160
|
-
| Stop MATLAB
|
|
161
|
-
| Sign Out | Sign out of MATLAB. Use this to stop MATLAB and sign in with an alternative account. Available if using online licensing.|
|
|
188
|
+
| Start MATLAB | Start your MATLAB session. Available if MATLAB is stopped.|
|
|
189
|
+
| Restart MATLAB | Restart your MATLAB session. Available if MATLAB is running or starting.|
|
|
190
|
+
| Stop MATLAB | Stop your MATLAB session. Use this option if you want to free up RAM and CPU resources. Available if MATLAB is running or starting.|
|
|
191
|
+
| Sign Out | Sign out of MATLAB session. Use this to stop MATLAB and sign in with an alternative account. Available if using online licensing.|
|
|
162
192
|
| Unset License Server Address | Unset network license manager server address. Use this to stop MATLAB and enter new licensing information. Available if using network license manager.|
|
|
163
|
-
|
|
|
193
|
+
| Shut Down | Stop your MATLAB session and the `matlab-proxy` server.|
|
|
194
|
+
| Feedback | Provide feedback. Opens a new tab to create an issue on GitHub.|
|
|
164
195
|
| Help | Open a help pop-up for a detailed description of the options.|
|
|
165
196
|
|
|
166
197
|
## Examples
|
|
167
198
|
* For installing/usage in a Docker container, see this [Dockerfile](./examples/Dockerfile) and its [README](./examples/README.md).
|
|
168
|
-
* For upgrading **matlab-proxy** in an existing Docker image, see this [Dockerfile.upgrade.matlab-proxy](./examples/Dockerfile.upgrade.matlab-proxy) and its [README](./examples/README.md#upgrading-matlab-proxy-package-in-a-docker-image)
|
|
199
|
+
* For upgrading **matlab-proxy** in an existing Docker image, see this [Dockerfile.upgrade.matlab-proxy](./examples/Dockerfile.upgrade.matlab-proxy) and its [README](./examples/README.md#upgrading-matlab-proxy-package-in-a-docker-image).
|
|
169
200
|
* For usage in a Jupyter environment, see [jupyter-matlab-proxy](https://github.com/mathworks/jupyter-matlab-proxy).
|
|
170
201
|
|
|
171
202
|
## Platform Support
|
|
@@ -195,9 +226,18 @@ Install the version >=0.5.0 to use the package on MacOS.
|
|
|
195
226
|
$ pip install --upgrade matlab-proxy>=0.5.0
|
|
196
227
|
```
|
|
197
228
|
|
|
229
|
+
### Windows Subsystem for Linux (WSL 2)
|
|
230
|
+
|
|
231
|
+
To install `matlab-proxy` in WSL 2, follow the steps mentioned in the [Installation Guide for WSL 2](./install_guides/wsl2/README.md).
|
|
232
|
+
|
|
233
|
+
## Using an already activated MATLAB with matlab-proxy
|
|
234
|
+
`matlab-proxy` version `v0.7.0` introduces support for using an existing MATLAB license. Use the Existing License option only if you have an activated MATLAB. This allows you to start MATLAB without authenticating every time.
|
|
235
|
+
|
|
198
236
|
## Limitations
|
|
199
|
-
This package supports the same
|
|
200
|
-
[
|
|
237
|
+
This package supports the same set of MATLAB features and commands as MATLAB® Online. For the full list, see
|
|
238
|
+
[Specifications and Limitations for MATLAB Online](https://www.mathworks.com/products/matlab-online/limitations.html).
|
|
239
|
+
|
|
240
|
+
Simulink Online is supported exclusively on Linux platforms starting from MATLAB R2024b.
|
|
201
241
|
|
|
202
242
|
## Security
|
|
203
243
|
We take your security concerns seriously, and will attempt to address all concerns.
|
|
@@ -212,3 +252,8 @@ Using the latest version will provide the latest available security updates or p
|
|
|
212
252
|
We encourage you to try this repository with your environment and provide feedback.
|
|
213
253
|
If you encounter a technical issue or have an enhancement request, create an issue [here](https://github.com/mathworks/matlab-proxy/issues)
|
|
214
254
|
|
|
255
|
+
---
|
|
256
|
+
|
|
257
|
+
Copyright 2020-2025 The MathWorks, Inc.
|
|
258
|
+
|
|
259
|
+
---
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
matlab_proxy/__init__.py,sha256=6cwi8buKCMtw9OeWaOYUHEoqwl5MyJ_s6GxgNuqPuNg,1673
|
|
2
|
+
matlab_proxy/app.py,sha256=B8BQY5gQPJNJB2ruwj_tjsrCs1BF4MGe0hn0YxUi8n4,39059
|
|
3
|
+
matlab_proxy/app_state.py,sha256=9MqzQiSyDtAactKT-SRSpUop7GxKqzSVxcOrB47VYeU,74161
|
|
4
|
+
matlab_proxy/constants.py,sha256=sWMuaQg8IOxWI3Ya7udbm2D-rOwZahCTwdWIz4k2lqs,1271
|
|
5
|
+
matlab_proxy/default_configuration.py,sha256=7xjsCzma4c6u0rEzio8xhHaDRy0wY2xtGXuARY2v0hc,1881
|
|
6
|
+
matlab_proxy/devel.py,sha256=nR6XPVBUEdQ-RZGtYvX1YHTp8gj9cuw5Hp8ahasMBc8,14310
|
|
7
|
+
matlab_proxy/settings.py,sha256=gsOLRLrIs4trAzElCijphi62rZR5NKSaHU-4Q47YsF8,29534
|
|
8
|
+
matlab_proxy/gui/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
9
|
+
matlab_proxy/gui/favicon.ico,sha256=7w7Ki1uQP2Rgwc64dOV4-NrTu97I3WsZw8OvRSoY1A0,130876
|
|
10
|
+
matlab_proxy/gui/index.html,sha256=1bD1MSwUqBupJLFaS_vjRb07qnObUTowPjiVytPcIhs,720
|
|
11
|
+
matlab_proxy/gui/manifest.json,sha256=NwDbrALM5auYyj2bbEf4aGwAUDqNl1FzMFQpPiG2Ty4,286
|
|
12
|
+
matlab_proxy/gui/robots.txt,sha256=kNJLw79pisHhc3OVAimMzKcq3x9WT6sF9IS4xI0crdI,67
|
|
13
|
+
matlab_proxy/gui/static/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
14
|
+
matlab_proxy/gui/static/css/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
15
|
+
matlab_proxy/gui/static/css/index.BedVwcEg.css,sha256=A_qnwiZquUWPG5TmFu7Trfyu4alrxX1a3UthcIaqObw,296218
|
|
16
|
+
matlab_proxy/gui/static/js/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
17
|
+
matlab_proxy/gui/static/js/index.pQwV1obF.js,sha256=8qU9kldsqg9L4F-n2Np9-E0BbSZjRf0t_no0CS1pUKk,281291
|
|
18
|
+
matlab_proxy/gui/static/media/MATLAB-env-blur.NupTbPv_.png,sha256=QpmQTLDvBu2-b7ev83Rvpt0Q72R6wdQGkuJMPPpjv7M,220290
|
|
19
|
+
matlab_proxy/gui/static/media/__init__.py,sha256=47DEQpj8HBSa-_TImW-5JCeuQeRkm5NMpJWZG3hSuFU,0
|
|
20
|
+
matlab_proxy/gui/static/media/glyphicons-halflings-regular.BKjkU69z.woff,sha256=omOU9-3hAMoRjv8u2ghZYnWpg5uVnCJuFUOVV6WoB0I,23424
|
|
21
|
+
matlab_proxy/gui/static/media/glyphicons-halflings-regular.BUJKDMgK.eot,sha256=E2NNqH2eI_jD7ZEIzhck0YOjmtBy5z4bPYy_ZG0tBAc,20127
|
|
22
|
+
matlab_proxy/gui/static/media/glyphicons-halflings-regular.CSehLiBc.svg,sha256=QvYGWdJlwaPDD5-kKry7Vr1KU69Ng9MW1t16NpA8Q-U,108738
|
|
23
|
+
matlab_proxy/gui/static/media/glyphicons-halflings-regular.DrwTMapi.ttf,sha256=45UEQJN1fYKvyxOJV9BqHqk2G9zwtELQahioBRr1dFY,45404
|
|
24
|
+
matlab_proxy/gui/static/media/glyphicons-halflings-regular.DzqM6ju8.woff2,sha256=_hhdEaSWdokNR7t4MxKgzaWkTEA5IUCU55V7TAQO8Rw,18028
|
|
25
|
+
matlab_proxy/gui/static/media/ico-header-account-hover.-jQHo6Wx.svg,sha256=SOFeac2wYLE7Q1JXVx99TJ4XWlsBU_IJ36EaMiWCDEo,4774
|
|
26
|
+
matlab_proxy/gui/static/media/ico-header-account.CJCFoo5a.svg,sha256=QBTrSvJ1PuqFdr4RdFO1-3TPBhjztEvF37YYMm4vJYc,4774
|
|
27
|
+
matlab_proxy/gui/static/media/ico-sprite.DXGLgzq9.png,sha256=2gk_PEau5Friw5q0K5tjVf1cvkZ9PA1MznGgShQgsg4,11438
|
|
28
|
+
matlab_proxy/gui/static/media/mathworks-eps.CGNQALa9.ttf,sha256=1kBy6J9LTaAtVnE7hnQGkxk4jzFhEXB_Q2vxWoxEkVA,6448
|
|
29
|
+
matlab_proxy/gui/static/media/mathworks-eps.DrkCtQtG.svg,sha256=vCnXHeXq43vl4ZapcF5kWDf95Hthuv2xFjftt8sDsY8,16377
|
|
30
|
+
matlab_proxy/gui/static/media/mathworks-eps.Ds7lQbql.woff,sha256=e6k22TjtuLMkqCYnQt_yA6UlEa1ETjaZyMg1SRHbFP8,6528
|
|
31
|
+
matlab_proxy/gui/static/media/mathworks-pictograms.BdqxEfBR.woff,sha256=rJckfPFgMSriJQ-UWH4acc60LXLUelh7YCJazNm2fOo,70288
|
|
32
|
+
matlab_proxy/gui/static/media/mathworks-pictograms.CCLweoD4.svg,sha256=VAHOeLtlzJKPcF6ue6ygCceljdflnBxNMrU8QaG9aSU,289658
|
|
33
|
+
matlab_proxy/gui/static/media/mathworks-pictograms.DZhFdRSm.ttf,sha256=c0YyfXeIMwTXPp27qf1hJyFsqBX_jk7RxhAQ8l8-FHQ,70212
|
|
34
|
+
matlab_proxy/gui/static/media/mathworks.C-qsbhDy.svg,sha256=RRmK93Ob-yNiqq8_eoNERc5fWUQUnYwhfts0339SdHc,138707
|
|
35
|
+
matlab_proxy/gui/static/media/mathworks.Ceplx86V.ttf,sha256=HTmIvVEDta9_tU2RMitYA_skj5RLXrAqXgN1w_GO88U,38656
|
|
36
|
+
matlab_proxy/gui/static/media/mathworks.D08X1Vp8.woff,sha256=IDXclqMxIqQK8ddT-mwCAZZgyPBo9Gi9rwavy6Zgv98,38732
|
|
37
|
+
matlab_proxy/gui/static/media/trigger-error.QEdsGL-m.svg,sha256=3zzT0uTrl4M_HlAjjVy_9F6fJDY9TifdQCFYX36LCOY,5017
|
|
38
|
+
matlab_proxy/gui/static/media/trigger-ok.Dzg8OIrk.svg,sha256=mD-7N9cc4ARdMBFcplnogJv6nA4Yh3jQuYbZDUi18LU,4997
|
|
39
|
+
matlab_proxy/icons/matlab.svg,sha256=xh5uYebQd8I-ISvenjU9A-PkClzW_lU9wvm3doXOFKM,13366
|
|
40
|
+
matlab_proxy/matlab/evaluateUserMatlabCode.m,sha256=R8w6nPdGtadR4UUFJaspcrGQL7cJwUItdrfc531w3bM,2420
|
|
41
|
+
matlab_proxy/matlab/startup.m,sha256=UcA4i2lAMytwBsO783uPIQoP5Pzw1R0xrUywbBBtTjw,533
|
|
42
|
+
matlab_proxy/util/__init__.py,sha256=XsY1uN29XsC0Jov8vHBlpZh39qmmpXYpQG0MT3zqqKw,11154
|
|
43
|
+
matlab_proxy/util/cookie_jar.py,sha256=GceKyB53lTX5r2wp9myvf0JDWDfvSamvjb4zmjkoOtY,2401
|
|
44
|
+
matlab_proxy/util/event_loop.py,sha256=sX_0tKlirCY5ImLxkss_XO4Ksj65u6JHtwMj25oGL94,1816
|
|
45
|
+
matlab_proxy/util/list_servers.py,sha256=so6nj32xGNGLrua4qu5FA5jiDsocVDP-RehthtLwctk,3004
|
|
46
|
+
matlab_proxy/util/mw.py,sha256=dLGSdfcTZiwKR1MMZA-39o-8na13IEPZOGBqcaHmKVI,11086
|
|
47
|
+
matlab_proxy/util/system.py,sha256=XoT3Rv5MwPkdfhk2oMvUwxxlzZmADMlxzi9IRQyGgbA,1692
|
|
48
|
+
matlab_proxy/util/windows.py,sha256=oXtcDUViyDVxE1yzu0bsMLWqnFv-9g2ZsgasG8RX6XM,3784
|
|
49
|
+
matlab_proxy/util/mwi/__init__.py,sha256=zI-X1lafr8H3j17PyA0oSZ0q5nINfK-WDA7VmJKmSAQ,158
|
|
50
|
+
matlab_proxy/util/mwi/custom_http_headers.py,sha256=kfDjSnEXEVzoF2pZuEn76LKayeD2WKoQEDu2Y9EMOAo,7154
|
|
51
|
+
matlab_proxy/util/mwi/download.py,sha256=9DoDAQc5I2tEQ5r3Gz5hp0m_jPmwXpWrgfwPFQ0tY20,4556
|
|
52
|
+
matlab_proxy/util/mwi/environment_variables.py,sha256=GN1abKPjr8j-pSPfUmWgSYbxsWrUWIj_E97oACzcWXY,7647
|
|
53
|
+
matlab_proxy/util/mwi/exceptions.py,sha256=8o4PZmira_ZonnOROzu8ERIiSn9y-456JO89gqjCags,5446
|
|
54
|
+
matlab_proxy/util/mwi/logger.py,sha256=7TSSkSP-kNif1wosK4jI_QptORH7DUbSDkjLvoLGcnE,6872
|
|
55
|
+
matlab_proxy/util/mwi/session_name.py,sha256=HQAGMlJo6KMb2f9MBcavni48nw9H-cHWMeJKmXxpeys,915
|
|
56
|
+
matlab_proxy/util/mwi/token_auth.py,sha256=CEmWcz8LCBnt4Z73CTLhz2-awZaJgw8oi4eqaHN0MRU,10000
|
|
57
|
+
matlab_proxy/util/mwi/validators.py,sha256=MtnftriZZU6ueOAV5AO7C8TIZJB6_lf-U4xMIpL0kJI,13239
|
|
58
|
+
matlab_proxy/util/mwi/embedded_connector/__init__.py,sha256=Vfl2hNC7V1IwoK9_wrwfENs4BC8P-Mvvqh4BNGi2n48,119
|
|
59
|
+
matlab_proxy/util/mwi/embedded_connector/helpers.py,sha256=Pav6B2P5jA0qxQVzxvWoSCw2q7bwM3XpLcnvcT1JwH4,3653
|
|
60
|
+
matlab_proxy/util/mwi/embedded_connector/request.py,sha256=RXoVvrm5fibVb2A6EZnkMWwAQkYX3J5kqDTGQDZo9p0,4316
|
|
61
|
+
matlab_proxy_manager/README.md,sha256=6I0XksB7mOqvk33zRLaAUdimR-56GTR0sWV1MLJAkSI,3436
|
|
62
|
+
matlab_proxy_manager/__init__.py,sha256=CMqm2aSYUWo5sxV3vyqWudrQU31muouSqZRDesJNJSA,178
|
|
63
|
+
matlab_proxy_manager/lib/README.md,sha256=233q4O0NzLzeOTWsCrHIboU-i-NAMb-SBq5SBMDwyhk,2193
|
|
64
|
+
matlab_proxy_manager/lib/__init__.py,sha256=KfwQxxM5a1kMRtNbhz8tb7YfHp8e2d0tNLB55wYvDS8,37
|
|
65
|
+
matlab_proxy_manager/lib/api.py,sha256=NsEGdPFoKki3tHz4wj7qsbVNhyN3qDbsCMSPvgjUryo,16220
|
|
66
|
+
matlab_proxy_manager/storage/README.md,sha256=OmToUE1lD7evUtmg0yCc9oHlqg5mN4rzmePfHwuXYC0,2106
|
|
67
|
+
matlab_proxy_manager/storage/__init__.py,sha256=KfwQxxM5a1kMRtNbhz8tb7YfHp8e2d0tNLB55wYvDS8,37
|
|
68
|
+
matlab_proxy_manager/storage/file_repository.py,sha256=U4FAw0zFN9z7YNlaMsYZXWm5ccs3rp3bzZL-W2BNhxA,5187
|
|
69
|
+
matlab_proxy_manager/storage/interface.py,sha256=pnRRD0Ku3gzbruAOM3J3NI2Kk8do3-_yRw9Pag1IqnE,1883
|
|
70
|
+
matlab_proxy_manager/storage/server.py,sha256=DuYl9Q-gYA71WElBHcKMd1N5LW5k_Ey0PGABuLAQrgM,6150
|
|
71
|
+
matlab_proxy_manager/utils/__init__.py,sha256=KfwQxxM5a1kMRtNbhz8tb7YfHp8e2d0tNLB55wYvDS8,37
|
|
72
|
+
matlab_proxy_manager/utils/auth.py,sha256=60vi16eQ7LWp3I4CNv2easTjObw50irEm518fiMA5YI,2526
|
|
73
|
+
matlab_proxy_manager/utils/constants.py,sha256=7cItcaVTRnYpSfhfuGAFr3vbCY2J9iE1V7rMs-tuVos,304
|
|
74
|
+
matlab_proxy_manager/utils/decorators.py,sha256=MUCIA0vRxOSRCj8VF6Z662sIX6xLzAMJ_cuAU7p2OIw,1172
|
|
75
|
+
matlab_proxy_manager/utils/environment_variables.py,sha256=A1E4RfSR21vWlWuoFy0JrRXbNsDtmlXI2tRqJT8jzcc,1612
|
|
76
|
+
matlab_proxy_manager/utils/exceptions.py,sha256=t_LykVJx7A4M-G6vg43PgzK7u7zE8i1c6aMhLSpqQOQ,1217
|
|
77
|
+
matlab_proxy_manager/utils/helpers.py,sha256=pmlfHgo1xYBZECFjN6ih4TWWQ7xBLWRPFxGA9zKD9mE,10398
|
|
78
|
+
matlab_proxy_manager/utils/logger.py,sha256=HCQNjF0rHbDBvKhMBxGWs-FVH_GLTUDKIyXDqzLMAzc,1986
|
|
79
|
+
matlab_proxy_manager/web/README.md,sha256=_RADHyuBhVZiZmHV7vKXkKkxyh9c-z-rzxr67pssxQI,2578
|
|
80
|
+
matlab_proxy_manager/web/__init__.py,sha256=KfwQxxM5a1kMRtNbhz8tb7YfHp8e2d0tNLB55wYvDS8,37
|
|
81
|
+
matlab_proxy_manager/web/app.py,sha256=1pnuRwtMwxfnScn443hEJHpTPZ-ANfI6EfOshzxeIGA,20361
|
|
82
|
+
matlab_proxy_manager/web/monitor.py,sha256=I9SfKLTAmWF9ufNB8nsBzTEVQ004wGt6TeNWs0NdTXE,1619
|
|
83
|
+
matlab_proxy_manager/web/watcher.py,sha256=89JHjBAQtOrllstaJFxqrjHwckpRmu3qfUqeqPLmH2Q,2130
|
|
84
|
+
matlab_proxy-0.30.1.dist-info/METADATA,sha256=SgBFdZKdfBdPeZxR-gsOq6BQoWEIRhdb3ydNUgpSg9U,11260
|
|
85
|
+
matlab_proxy-0.30.1.dist-info/WHEEL,sha256=WLgqFyCfm_KASv4WHyYy0P3pM_m7J5L9k2skdKLirC8,87
|
|
86
|
+
matlab_proxy-0.30.1.dist-info/entry_points.txt,sha256=3wztwXpt6wdGfTwscc4qHbCeWzi0E2XhyJbMDndyQKc,304
|
|
87
|
+
matlab_proxy-0.30.1.dist-info/licenses/LICENSE.md,sha256=oF0h3UdSF-rlUiMGYwi086ZHqelzz7yOOk9HFDv9ELo,2344
|
|
88
|
+
matlab_proxy-0.30.1.dist-info/RECORD,,
|
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
[console_scripts]
|
|
2
2
|
matlab-proxy-app = matlab_proxy.app:main
|
|
3
3
|
matlab-proxy-app-list-servers = matlab_proxy.util.list_servers:print_server_info
|
|
4
|
+
matlab-proxy-manager-app = matlab_proxy_manager.web.app:main
|
|
4
5
|
|
|
5
6
|
[matlab_proxy_configs]
|
|
6
7
|
default_configuration_matlab_proxy = matlab_proxy.default_configuration:config
|
|
7
|
-
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
# MATLAB Proxy Manager
|
|
2
|
+
|
|
3
|
+
----
|
|
4
|
+
This README is intended for MathWorks® developers only.
|
|
5
|
+
`matlab-proxy-manager` is part of the `matlab-proxy` package and it helps in managing the lifecycle and proxying of MATLAB proxy processes.
|
|
6
|
+
|
|
7
|
+
It provides a seamless integration with Jupyter environments, allowing MATLAB to be accessed and controlled via a proxy.
|
|
8
|
+
|
|
9
|
+
Upon installation, this package introduces an executable `matlab-proxy-manager-app`, which is utilized by the Jupyter Server Proxy to initiate `matlab-proxy-manager`.
|
|
10
|
+
|
|
11
|
+
----
|
|
12
|
+
|
|
13
|
+
**Table of Contents**
|
|
14
|
+
- [Project Structure](#structure)
|
|
15
|
+
- [Installation](#installation)
|
|
16
|
+
- [PyPI](#pypi)
|
|
17
|
+
- [Building From Sources](#building-from-sources)
|
|
18
|
+
- [Usage](#usage)
|
|
19
|
+
- [Security](#security)
|
|
20
|
+
|
|
21
|
+
## Structure
|
|
22
|
+
`matlab-proxy-manager` is organized into several key sub-folders:
|
|
23
|
+
|
|
24
|
+
1. lib:
|
|
25
|
+
|
|
26
|
+
* This directory contains the library APIs that facilitate the invocation of MATLAB proxy processes. It supports API calls, enabling the MATLAB Kernel to manage proxy instances effectively. For detailed information, refer to the README within the lib folder.
|
|
27
|
+
|
|
28
|
+
2. storage:
|
|
29
|
+
* The file system serves as the source of truth for `matlab-proxy-manager`, storing metadata about each MATLAB proxy server in dedicated files. A new file is generated whenever a proxy instance is launched and is removed upon termination of the instance or deletion of the Kernel that initiated it.
|
|
30
|
+
|
|
31
|
+
3. web:
|
|
32
|
+
* This component handles proxy workflows through HTTP/WebSocket requests, which are part of the executable process spawned by clients using the `matlab-proxy-manager-app`. For specific requirements and constraints, consult the README located in the web folder.
|
|
33
|
+
|
|
34
|
+
4. utils:
|
|
35
|
+
* A collection of helper functions utilized across various parts of the project, ensuring modularity and code reuse.
|
|
36
|
+
|
|
37
|
+
## Installation
|
|
38
|
+
|
|
39
|
+
### PyPI
|
|
40
|
+
`matlab-proxy-manager` is included in the `matlab-proxy` repository and can be easily installed from the Python Package Index:
|
|
41
|
+
|
|
42
|
+
```bash
|
|
43
|
+
python -m pip install matlab-proxy
|
|
44
|
+
```
|
|
45
|
+
|
|
46
|
+
### Building From Sources
|
|
47
|
+
Building from sources requires Node.js® version 24 or higher. [Click here to install Node.js](https://nodejs.org/en/)
|
|
48
|
+
|
|
49
|
+
```bash
|
|
50
|
+
git clone https://github.com/mathworks/matlab-proxy.git
|
|
51
|
+
|
|
52
|
+
cd matlab-proxy
|
|
53
|
+
|
|
54
|
+
python -m pip install .
|
|
55
|
+
```
|
|
56
|
+
|
|
57
|
+
Installing the package creates an executable called `matlab-proxy-app`, which is placed onto your system PATH by `pip`, usually in: `$HOME/.local/bin/`
|
|
58
|
+
```bash
|
|
59
|
+
# Verify its presence on the PATH
|
|
60
|
+
which matlab-proxy-manager-app
|
|
61
|
+
```
|
|
62
|
+
|
|
63
|
+
## Usage
|
|
64
|
+
`matlab-proxy-manager` can be deployed in two modes:
|
|
65
|
+
|
|
66
|
+
1. Library Mode: Import the relevant module within your client code to invoke public APIs directly.
|
|
67
|
+
|
|
68
|
+
Example:
|
|
69
|
+
|
|
70
|
+
```python
|
|
71
|
+
import matlab_proxy_manager.lib.api as mpm_lib
|
|
72
|
+
response = await mpm_lib.start_matlab_proxy_for_kernel(...)
|
|
73
|
+
await mpm_lib.shutdown(...)
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
2. Process Mode: This mode is primarily managed by Jupyter-Server-Proxy for proxy workflows involving web-based MATLAB desktop access.
|
|
77
|
+
|
|
78
|
+
## Security
|
|
79
|
+
Security is paramount in matlab-proxy-manager. Communication between the Kernel, proxy manager, and Jupyter Server Proxy is secured using authentication tokens. These tokens are mandatory for API invocations and proxy workflows. They are passed via environment variables when the proxy manager is initiated by the Jupyter Server Proxy and are included in the arguments during Kernel API calls.
|
|
80
|
+
|
|
81
|
+
---
|
|
82
|
+
|
|
83
|
+
Copyright 2024-2025 The MathWorks, Inc.
|
|
84
|
+
|
|
85
|
+
---
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
# MATLAB Proxy Manager - Library
|
|
2
|
+
|
|
3
|
+
This README is intended for MathWorks® developers only.
|
|
4
|
+
`matlab-proxy-manager` module is designed to be flexible and robust, supporting both direct library calls and process-based workflows. The lib folder contains the code blocks providing the core library APIs that facilitate the management of MATLAB proxy instances.
|
|
5
|
+
|
|
6
|
+
# Key Features
|
|
7
|
+
## API Invocation:
|
|
8
|
+
|
|
9
|
+
The lib module allows for the invocation of MATLAB proxy processes through a well-defined set of APIs. These APIs are designed to be intuitive and easy to integrate into existing workflows, enabling developers to start, stop, and manage MATLAB proxy instances programmatically.
|
|
10
|
+
|
|
11
|
+
## Integration with MATLAB Kernel:
|
|
12
|
+
|
|
13
|
+
The APIs in the lib directory are used by the MATLAB Kernel to manage the lifecycle of MATLAB proxy instances. This includes starting new instances and shutting them down when they are no longer needed.
|
|
14
|
+
|
|
15
|
+
## Error Handling and Logging:
|
|
16
|
+
|
|
17
|
+
Comprehensive error handling mechanisms are in place to ensure that any issues encountered during the management of proxy instances are logged and reported. This aids in troubleshooting and ensures the reliability of the system.
|
|
18
|
+
|
|
19
|
+
Users are required to set `MWI_MPM_LOG_LEVEL` environment variable to their desired log level (`INFO`, `DEBUG` etc.) to enable logging in `matlab-proxy-manager`.
|
|
20
|
+
|
|
21
|
+
# Usage
|
|
22
|
+
To use the lib APIs, you can import the relevant module in your Python code and invoke the provided functions. Here’s a basic example of how you might start and stop a MATLAB proxy instance:
|
|
23
|
+
|
|
24
|
+
```python
|
|
25
|
+
|
|
26
|
+
import matlab_proxy_manager.lib.api as mpm_lib
|
|
27
|
+
|
|
28
|
+
# Start a MATLAB proxy instance
|
|
29
|
+
response = await mpm_lib.start_matlab_proxy_for_kernel(
|
|
30
|
+
caller_id=self.kernel_id,
|
|
31
|
+
parent_id=self.parent_pid,
|
|
32
|
+
is_shared_matlab=True,
|
|
33
|
+
)
|
|
34
|
+
return (
|
|
35
|
+
response.get("absolute_url"),
|
|
36
|
+
response.get("mwi_base_url"),
|
|
37
|
+
response.get("headers"),
|
|
38
|
+
response.get("mpm_auth_token"),
|
|
39
|
+
)
|
|
40
|
+
|
|
41
|
+
# Perform operations with the MATLAB instance...
|
|
42
|
+
|
|
43
|
+
# Shut down the MATLAB proxy instance
|
|
44
|
+
await mpm_lib.shutdown(
|
|
45
|
+
self.parent_pid, self.kernel_id, self.mpm_auth_token
|
|
46
|
+
)
|
|
47
|
+
```
|
|
48
|
+
|
|
49
|
+
---
|
|
50
|
+
|
|
51
|
+
Copyright 2024 The MathWorks, Inc.
|
|
52
|
+
|
|
53
|
+
---
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
# Copyright 2024 The MathWorks, Inc.
|