matlab-proxy 0.8.1__tar.gz → 0.30.1__tar.gz

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.
Files changed (255) hide show
  1. matlab_proxy-0.30.1/.gitignore +17 -0
  2. matlab_proxy-0.30.1/PKG-INFO +259 -0
  3. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/README.md +47 -23
  4. matlab_proxy-0.30.1/gui/.eslintrc.json +50 -0
  5. matlab_proxy-0.30.1/gui/README.md +43 -0
  6. matlab_proxy-0.30.1/gui/eslint.config.js +57 -0
  7. matlab_proxy-0.30.1/gui/index.css +23 -0
  8. matlab_proxy-0.30.1/gui/index.html +20 -0
  9. matlab_proxy-0.30.1/gui/package-lock.json +10358 -0
  10. matlab_proxy-0.30.1/gui/package.json +54 -0
  11. matlab_proxy-0.30.1/gui/src/actionCreators/actionCreators.spec.js +455 -0
  12. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/actionCreators/index.js +171 -109
  13. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/actions/index.js +9 -3
  14. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/css/bootstrap.min.css +3 -2
  15. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/css/site7.min.css +3 -1
  16. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/App.css +1 -1
  17. matlab_proxy-0.30.1/gui/src/components/App/App.spec.jsx +260 -0
  18. matlab_proxy-0.30.1/gui/src/components/App/IdleBufferTimeouts.spec.jsx +122 -0
  19. matlab_proxy-0.30.1/gui/src/components/App/index.jsx +418 -0
  20. matlab_proxy-0.30.1/gui/src/components/Confirmation/Confirmation.spec.jsx +114 -0
  21. matlab-proxy-0.8.1/gui/src/components/Confirmation/index.js → matlab_proxy-0.30.1/gui/src/components/Confirmation/index.jsx +10 -6
  22. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/Controls.css +3 -3
  23. matlab_proxy-0.30.1/gui/src/components/Controls/Controls.spec.jsx +149 -0
  24. matlab-proxy-0.8.1/gui/src/components/Controls/index.js → matlab_proxy-0.30.1/gui/src/components/Controls/index.jsx +94 -73
  25. matlab_proxy-0.30.1/gui/src/components/EntitlementSelector/EntitlementSelector.spec.jsx +107 -0
  26. matlab_proxy-0.30.1/gui/src/components/EntitlementSelector/index.jsx +78 -0
  27. matlab_proxy-0.30.1/gui/src/components/Error/Error.spec.jsx +48 -0
  28. matlab-proxy-0.8.1/gui/src/components/Error/index.js → matlab_proxy-0.30.1/gui/src/components/Error/index.jsx +4 -5
  29. matlab_proxy-0.30.1/gui/src/components/Help/Help.spec.jsx +99 -0
  30. matlab-proxy-0.8.1/gui/src/components/Help/index.js → matlab_proxy-0.30.1/gui/src/components/Help/index.jsx +17 -15
  31. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Information/Information.css +11 -9
  32. matlab_proxy-0.30.1/gui/src/components/Information/Information.spec.jsx +179 -0
  33. matlab_proxy-0.30.1/gui/src/components/Information/index.jsx +272 -0
  34. matlab-proxy-0.8.1/gui/src/components/LicensingGatherer/ExistingLicense.js → matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/ExistingLicense.jsx +11 -11
  35. matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/LicenseGatherer.spec.jsx +144 -0
  36. matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/MHLM.css +7 -0
  37. matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/MHLM.jsx +202 -0
  38. matlab-proxy-0.8.1/gui/src/components/LicensingGatherer/NLM.js → matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/NLM.jsx +24 -21
  39. matlab-proxy-0.8.1/gui/src/components/LicensingGatherer/index.js → matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/index.jsx +25 -14
  40. matlab_proxy-0.30.1/gui/src/components/MatlabJsd/MatlabJsd.spec.jsx +94 -0
  41. matlab_proxy-0.30.1/gui/src/components/MatlabJsd/index.jsx +54 -0
  42. matlab_proxy-0.30.1/gui/src/components/Overlay/Overlay.spec.jsx +24 -0
  43. matlab-proxy-0.8.1/gui/src/components/Overlay/index.js → matlab_proxy-0.30.1/gui/src/components/Overlay/index.jsx +7 -5
  44. matlab_proxy-0.30.1/gui/src/components/OverlayTrigger/OverlayTrigger.spec.jsx +80 -0
  45. matlab_proxy-0.30.1/gui/src/components/OverlayTrigger/ResizeOverlayTrigger.spec.jsx +85 -0
  46. matlab-proxy-0.8.1/gui/src/components/OverlayTrigger/index.js → matlab_proxy-0.30.1/gui/src/components/OverlayTrigger/index.jsx +34 -29
  47. matlab_proxy-0.30.1/gui/src/components/ShutdownWarning/ShutdownWarning.css +46 -0
  48. matlab_proxy-0.30.1/gui/src/components/ShutdownWarning/index.jsx +72 -0
  49. matlab_proxy-0.30.1/gui/src/constants.js +11 -0
  50. matlab_proxy-0.30.1/gui/src/main.jsx +26 -0
  51. matlab_proxy-0.30.1/gui/src/reducers/index.js +428 -0
  52. matlab_proxy-0.30.1/gui/src/reducers/reducers.spec.js +415 -0
  53. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/selectors/index.js +114 -28
  54. matlab_proxy-0.30.1/gui/src/selectors/selectors.spec.js +413 -0
  55. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/setupTests.js +6 -2
  56. matlab_proxy-0.30.1/gui/src/test/utils/react-test.jsx +31 -0
  57. matlab_proxy-0.30.1/gui/src/test/utils/responses.js +37 -0
  58. matlab_proxy-0.30.1/gui/src/test/utils/state.js +60 -0
  59. matlab_proxy-0.30.1/gui/vite.config.js +59 -0
  60. matlab_proxy-0.30.1/hatch_build.py +96 -0
  61. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/app.py +385 -118
  62. matlab_proxy-0.30.1/matlab_proxy/app_state.py +1696 -0
  63. matlab_proxy-0.30.1/matlab_proxy/constants.py +37 -0
  64. matlab_proxy-0.30.1/matlab_proxy/default_configuration.py +53 -0
  65. matlab_proxy-0.30.1/matlab_proxy/matlab/evaluateUserMatlabCode.m +51 -0
  66. matlab_proxy-0.30.1/matlab_proxy/matlab/startup.m +14 -0
  67. matlab_proxy-0.30.1/matlab_proxy/settings.py +727 -0
  68. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/__init__.py +154 -48
  69. matlab_proxy-0.30.1/matlab_proxy/util/cookie_jar.py +72 -0
  70. matlab_proxy-0.30.1/matlab_proxy/util/event_loop.py +63 -0
  71. matlab_proxy-0.30.1/matlab_proxy/util/list_servers.py +89 -0
  72. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mw.py +10 -6
  73. matlab_proxy-0.30.1/matlab_proxy/util/mwi/download.py +136 -0
  74. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/embedded_connector/__init__.py +1 -1
  75. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/embedded_connector/helpers.py +12 -4
  76. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/embedded_connector/request.py +53 -23
  77. matlab_proxy-0.30.1/matlab_proxy/util/mwi/environment_variables.py +230 -0
  78. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/exceptions.py +29 -1
  79. matlab_proxy-0.30.1/matlab_proxy/util/mwi/logger.py +218 -0
  80. matlab_proxy-0.30.1/matlab_proxy/util/mwi/session_name.py +28 -0
  81. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/token_auth.py +45 -42
  82. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/validators.py +115 -80
  83. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/windows.py +10 -4
  84. matlab_proxy-0.30.1/matlab_proxy_manager/README.md +85 -0
  85. matlab_proxy-0.30.1/matlab_proxy_manager/__init__.py +6 -0
  86. matlab_proxy-0.30.1/matlab_proxy_manager/lib/README.md +53 -0
  87. matlab_proxy-0.30.1/matlab_proxy_manager/lib/__init__.py +1 -0
  88. matlab_proxy-0.30.1/matlab_proxy_manager/lib/api.py +419 -0
  89. matlab_proxy-0.30.1/matlab_proxy_manager/storage/README.md +54 -0
  90. matlab_proxy-0.30.1/matlab_proxy_manager/storage/__init__.py +1 -0
  91. matlab_proxy-0.30.1/matlab_proxy_manager/storage/file_repository.py +144 -0
  92. matlab_proxy-0.30.1/matlab_proxy_manager/storage/interface.py +62 -0
  93. matlab_proxy-0.30.1/matlab_proxy_manager/storage/server.py +172 -0
  94. matlab_proxy-0.30.1/matlab_proxy_manager/utils/__init__.py +1 -0
  95. matlab_proxy-0.30.1/matlab_proxy_manager/utils/auth.py +77 -0
  96. matlab_proxy-0.30.1/matlab_proxy_manager/utils/constants.py +8 -0
  97. matlab_proxy-0.30.1/matlab_proxy_manager/utils/decorators.py +37 -0
  98. matlab_proxy-0.30.1/matlab_proxy_manager/utils/environment_variables.py +51 -0
  99. matlab_proxy-0.30.1/matlab_proxy_manager/utils/exceptions.py +45 -0
  100. matlab_proxy-0.30.1/matlab_proxy_manager/utils/helpers.py +314 -0
  101. matlab_proxy-0.30.1/matlab_proxy_manager/utils/logger.py +76 -0
  102. matlab_proxy-0.30.1/matlab_proxy_manager/web/README.md +37 -0
  103. matlab_proxy-0.30.1/matlab_proxy_manager/web/__init__.py +1 -0
  104. matlab_proxy-0.30.1/matlab_proxy_manager/web/app.py +536 -0
  105. matlab_proxy-0.30.1/matlab_proxy_manager/web/monitor.py +45 -0
  106. matlab_proxy-0.30.1/matlab_proxy_manager/web/watcher.py +65 -0
  107. matlab_proxy-0.30.1/pyproject.toml +105 -0
  108. matlab_proxy-0.30.1/tests/README.md +83 -0
  109. matlab_proxy-0.30.1/tests/__init__.py +1 -0
  110. matlab_proxy-0.30.1/tests/integration/__init__.py +1 -0
  111. matlab_proxy-0.30.1/tests/integration/integration_tests_with_license/__init__.py +1 -0
  112. matlab_proxy-0.30.1/tests/integration/integration_tests_with_license/conftest.py +46 -0
  113. matlab_proxy-0.30.1/tests/integration/integration_tests_with_license/test_http_end_points.py +492 -0
  114. matlab_proxy-0.30.1/tests/integration/integration_tests_without_license/__init__.py +1 -0
  115. matlab_proxy-0.30.1/tests/integration/integration_tests_without_license/conftest.py +116 -0
  116. matlab_proxy-0.30.1/tests/integration/integration_tests_without_license/test_matlab_is_down_if_unlicensed.py +49 -0
  117. matlab_proxy-0.30.1/tests/integration/pytest.ini +16 -0
  118. matlab_proxy-0.30.1/tests/integration/utils/__init__.py +1 -0
  119. matlab_proxy-0.30.1/tests/integration/utils/integration_tests_utils.py +352 -0
  120. matlab_proxy-0.30.1/tests/integration/utils/licensing.py +152 -0
  121. matlab_proxy-0.30.1/tests/matlab-tests/TestEvaluateUserMatlabCodeScript.m +96 -0
  122. matlab_proxy-0.30.1/tests/unit/__init__.py +1 -0
  123. matlab_proxy-0.30.1/tests/unit/conftest.py +66 -0
  124. matlab_proxy-0.30.1/tests/unit/fixtures/fixture_auth.py +19 -0
  125. matlab_proxy-0.30.1/tests/unit/mocks/mock_client.py +42 -0
  126. matlab_proxy-0.30.1/tests/unit/proxy-manager/lib/test_api.py +311 -0
  127. matlab_proxy-0.30.1/tests/unit/proxy-manager/storage/test_file_repository.py +152 -0
  128. matlab_proxy-0.30.1/tests/unit/proxy-manager/storage/test_server.py +237 -0
  129. matlab_proxy-0.30.1/tests/unit/proxy-manager/web/test_app.py +682 -0
  130. matlab_proxy-0.30.1/tests/unit/proxy-manager/web/test_monitor.py +121 -0
  131. matlab_proxy-0.30.1/tests/unit/proxy-manager/web/test_watcher.py +69 -0
  132. matlab_proxy-0.30.1/tests/unit/pytest.ini +16 -0
  133. matlab_proxy-0.30.1/tests/unit/test_app.py +1366 -0
  134. matlab_proxy-0.30.1/tests/unit/test_app_state.py +1184 -0
  135. matlab_proxy-0.30.1/tests/unit/test_constants.py +7 -0
  136. matlab_proxy-0.30.1/tests/unit/test_ddux.py +22 -0
  137. matlab_proxy-0.30.1/tests/unit/test_devel.py +246 -0
  138. matlab_proxy-0.30.1/tests/unit/test_non_dev_mode.py +167 -0
  139. matlab_proxy-0.30.1/tests/unit/test_settings.py +708 -0
  140. matlab_proxy-0.30.1/tests/unit/util/__init__.py +3 -0
  141. matlab_proxy-0.30.1/tests/unit/util/mwi/__init__.py +1 -0
  142. matlab_proxy-0.30.1/tests/unit/util/mwi/embedded_connector/__init__.py +1 -0
  143. matlab_proxy-0.30.1/tests/unit/util/mwi/embedded_connector/test_helpers.py +29 -0
  144. matlab_proxy-0.30.1/tests/unit/util/mwi/embedded_connector/test_request.py +64 -0
  145. matlab_proxy-0.30.1/tests/unit/util/mwi/test_custom_http_headers.py +281 -0
  146. matlab_proxy-0.30.1/tests/unit/util/mwi/test_download.py +145 -0
  147. matlab_proxy-0.30.1/tests/unit/util/mwi/test_logger.py +91 -0
  148. matlab_proxy-0.30.1/tests/unit/util/mwi/test_token_auth.py +303 -0
  149. matlab_proxy-0.30.1/tests/unit/util/mwi/test_validators.py +364 -0
  150. matlab_proxy-0.30.1/tests/unit/util/test_cookie_jar.py +252 -0
  151. matlab_proxy-0.30.1/tests/unit/util/test_mw.py +550 -0
  152. matlab_proxy-0.30.1/tests/unit/util/test_util.py +212 -0
  153. matlab_proxy-0.30.1/tests/utils/__init__.py +1 -0
  154. matlab_proxy-0.30.1/tests/utils/logging_util.py +81 -0
  155. matlab-proxy-0.8.1/MANIFEST.in +0 -6
  156. matlab-proxy-0.8.1/PKG-INFO +0 -203
  157. matlab-proxy-0.8.1/gui/README.md +0 -68
  158. matlab-proxy-0.8.1/gui/package-lock.json +0 -31405
  159. matlab-proxy-0.8.1/gui/package.json +0 -55
  160. matlab-proxy-0.8.1/gui/public/index.html +0 -21
  161. matlab-proxy-0.8.1/gui/src/actionCreators/actionCreators.spec.js +0 -393
  162. matlab-proxy-0.8.1/gui/src/components/App/App.spec.js +0 -273
  163. matlab-proxy-0.8.1/gui/src/components/App/index.js +0 -221
  164. matlab-proxy-0.8.1/gui/src/components/Confirmation/Confirmation.spec.js +0 -120
  165. matlab-proxy-0.8.1/gui/src/components/Controls/Controls.spec.js +0 -123
  166. matlab-proxy-0.8.1/gui/src/components/EntitlementSelector/EntitlementSelector.spec.js +0 -124
  167. matlab-proxy-0.8.1/gui/src/components/EntitlementSelector/index.js +0 -75
  168. matlab-proxy-0.8.1/gui/src/components/Error/Error.spec.js +0 -48
  169. matlab-proxy-0.8.1/gui/src/components/Help/Help.spec.js +0 -105
  170. matlab-proxy-0.8.1/gui/src/components/Information/Information.spec.js +0 -193
  171. matlab-proxy-0.8.1/gui/src/components/Information/index.js +0 -214
  172. matlab-proxy-0.8.1/gui/src/components/LicensingGatherer/LicenseGatherer.spec.js +0 -150
  173. matlab-proxy-0.8.1/gui/src/components/LicensingGatherer/MHLM.js +0 -150
  174. matlab-proxy-0.8.1/gui/src/components/MatlabJsd/MatlabJsd.spec.js +0 -42
  175. matlab-proxy-0.8.1/gui/src/components/MatlabJsd/index.js +0 -23
  176. matlab-proxy-0.8.1/gui/src/components/Overlay/Overlay.spec.js +0 -24
  177. matlab-proxy-0.8.1/gui/src/components/OverlayTrigger/OverlayTrigger.spec.js +0 -85
  178. matlab-proxy-0.8.1/gui/src/components/OverlayTrigger/ResizeOverlayTrigger.spec.js +0 -77
  179. matlab-proxy-0.8.1/gui/src/index.css +0 -23
  180. matlab-proxy-0.8.1/gui/src/index.js +0 -32
  181. matlab-proxy-0.8.1/gui/src/jest.config.json +0 -16
  182. matlab-proxy-0.8.1/gui/src/logo.svg +0 -7
  183. matlab-proxy-0.8.1/gui/src/reducers/index.js +0 -300
  184. matlab-proxy-0.8.1/gui/src/reducers/reducers.spec.js +0 -452
  185. matlab-proxy-0.8.1/gui/src/selectors/selectors.spec.js +0 -401
  186. matlab-proxy-0.8.1/gui/src/serviceWorker.js +0 -143
  187. matlab-proxy-0.8.1/gui/src/test/utils/react-test.js +0 -29
  188. matlab-proxy-0.8.1/matlab_proxy/app_state.py +0 -1194
  189. matlab-proxy-0.8.1/matlab_proxy/constants.py +0 -6
  190. matlab-proxy-0.8.1/matlab_proxy/default_configuration.py +0 -18
  191. matlab-proxy-0.8.1/matlab_proxy/matlab/startup.m +0 -37
  192. matlab-proxy-0.8.1/matlab_proxy/settings.py +0 -427
  193. matlab-proxy-0.8.1/matlab_proxy/util/event_loop.py +0 -45
  194. matlab-proxy-0.8.1/matlab_proxy/util/list_servers.py +0 -44
  195. matlab-proxy-0.8.1/matlab_proxy/util/mwi/environment_variables.py +0 -152
  196. matlab-proxy-0.8.1/matlab_proxy/util/mwi/logger.py +0 -106
  197. matlab-proxy-0.8.1/matlab_proxy.egg-info/PKG-INFO +0 -203
  198. matlab-proxy-0.8.1/matlab_proxy.egg-info/SOURCES.txt +0 -129
  199. matlab-proxy-0.8.1/matlab_proxy.egg-info/dependency_links.txt +0 -1
  200. matlab-proxy-0.8.1/matlab_proxy.egg-info/entry_points.txt +0 -7
  201. matlab-proxy-0.8.1/matlab_proxy.egg-info/not-zip-safe +0 -1
  202. matlab-proxy-0.8.1/matlab_proxy.egg-info/requires.txt +0 -13
  203. matlab-proxy-0.8.1/matlab_proxy.egg-info/top_level.txt +0 -1
  204. matlab-proxy-0.8.1/setup.cfg +0 -10
  205. matlab-proxy-0.8.1/setup.py +0 -112
  206. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/LICENSE.md +0 -0
  207. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/.gitignore +0 -0
  208. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/public/favicon.ico +0 -0
  209. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/public/manifest.json +0 -0
  210. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/public/robots.txt +0 -0
  211. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.eot +0 -0
  212. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.svg +0 -0
  213. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.ttf +0 -0
  214. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.woff +0 -0
  215. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.woff2 +0 -0
  216. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-eps.svg +0 -0
  217. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-eps.ttf +0 -0
  218. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-eps.woff +0 -0
  219. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-pictograms.svg +0 -0
  220. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-pictograms.ttf +0 -0
  221. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-pictograms.woff +0 -0
  222. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks.svg +0 -0
  223. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks.ttf +0 -0
  224. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks.woff +0 -0
  225. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/bug_reports/workaround.gif +0 -0
  226. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/responsive/global/ico-header-account-hover.svg +0 -0
  227. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/responsive/global/ico-header-account.svg +0 -0
  228. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/responsive/global/ico-header-contact-hover.svg +0 -0
  229. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/responsive/global/ico-header-contact.svg +0 -0
  230. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/responsive/global/ico-sprite.png +0 -0
  231. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/MATLAB-env-blur.png +0 -0
  232. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/feedback.svg +0 -0
  233. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/help.svg +0 -0
  234. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/restart.svg +0 -0
  235. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/sign-out.svg +0 -0
  236. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/start.svg +0 -0
  237. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/stop.svg +0 -0
  238. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/terminate.svg +0 -0
  239. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Error/Error.css +0 -0
  240. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Help/Help.css +0 -0
  241. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/LicensingGatherer/ExistingLicense.css +0 -0
  242. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/LicensingGatherer/LicensingGatherer.css +0 -0
  243. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/MatlabJsd/MatlabJsd.css +0 -0
  244. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Overlay/Overlay.css +0 -0
  245. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/OverlayTrigger.css +0 -0
  246. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/arrow.svg +0 -0
  247. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/gripper.svg +0 -0
  248. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/trigger-error.svg +0 -0
  249. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/trigger-ok.svg +0 -0
  250. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/__init__.py +0 -0
  251. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/devel.py +0 -0
  252. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/icons/matlab.svg +0 -0
  253. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/__init__.py +0 -0
  254. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/custom_http_headers.py +0 -0
  255. {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/system.py +0 -0
@@ -0,0 +1,17 @@
1
+ *.egg-info/
2
+ .eggs/
3
+ __pycache__/
4
+ __uvcache__/
5
+ build/
6
+ dist/
7
+ .venv*/
8
+ htmlcov/
9
+ .coverage
10
+ *.key
11
+ *.pem
12
+ .python-version
13
+ coverage.xml
14
+ .ipynb_checkpoints/
15
+ *.ipynb
16
+ .env
17
+ matlab_proxy/gui
@@ -0,0 +1,259 @@
1
+ Metadata-Version: 2.4
2
+ Name: matlab-proxy
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
12
+ Classifier: Intended Audience :: Developers
13
+ Classifier: Natural Language :: English
14
+ Classifier: Programming Language :: Python
15
+ Classifier: Programming Language :: Python :: 3.10
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
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
26
+ Provides-Extra: dev
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
52
+
53
+ # MATLAB Proxy
54
+ [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/mathworks/matlab-proxy/run-tests.yml?branch=main&logo=github)](https://github.com/mathworks/matlab-proxy/actions) &nbsp; [![PyPI badge](https://img.shields.io/pypi/v/matlab-proxy.svg?logo=pypi)](https://pypi.python.org/pypi/matlab-proxy) &nbsp; [![codecov](https://codecov.io/gh/mathworks/matlab-proxy/branch/main/graph/badge.svg?token=ZW3SESKCSS)](https://codecov.io/gh/mathworks/matlab-proxy) &nbsp; [![Downloads](https://static.pepy.tech/personalized-badge/matlab-proxy?period=month&units=international_system&left_color=grey&right_color=blue&left_text=PyPI%20downloads/month)](https://pepy.tech/project/matlab-proxy)
55
+
56
+ ----
57
+
58
+ Use this Python® package `matlab-proxy` to start MATLAB® and access it from a web browser.
59
+
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).
63
+
64
+ ----
65
+
66
+ **Table of Contents**
67
+ - [Requirements](#requirements)
68
+ - [Installation](#installation)
69
+ - [PyPI](#pypi)
70
+ - [Building From Sources](#building-from-sources)
71
+ - [Usage](#usage)
72
+ - [Examples](#examples)
73
+ - [Limitations](#limitations)
74
+ - [Security](#security)
75
+ - [Feedback](#feedback)
76
+
77
+ ## Requirements
78
+ * MATLAB® R2020b or later, installed and added to the system PATH.
79
+ ```bash
80
+ # Confirm MATLAB is on the PATH
81
+ which matlab
82
+ ```
83
+ * The dependencies required to run MATLAB.
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):
87
+
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:
90
+
91
+ ```bash
92
+ # On a Debian/Ubuntu based system:
93
+ $ sudo apt install xvfb
94
+ ```
95
+ ```bash
96
+ # On a RHEL based system:
97
+ $ yum search Xvfb
98
+ xorg-x11-server-Xvfb.x86_64 : A X Windows System virtual framebuffer X server.
99
+
100
+ $ sudo yum install xorg-x11-server-Xvfb
101
+ ```
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
+ ```
113
+
114
+ * Python versions: 3.10 | 3.11 | 3.12 | 3.13
115
+ * [Browser Requirements](https://www.mathworks.com/support/requirements/browser-requirements.html)
116
+ * Supported Operating Systems:
117
+ * Linux®
118
+ * Windows® Operating System ( starting v0.4.0 of matlab-proxy )
119
+ * MacOS (starting v0.5.0 of matlab-proxy )
120
+ See [Platform Support](#platform-support) for more information
121
+
122
+ ## Installation
123
+
124
+ ### PyPI
125
+ This repository can be installed directly from the Python Package Index.
126
+ ```bash
127
+ python -m pip install matlab-proxy
128
+ ```
129
+
130
+ ### Building From Sources
131
+ Building from sources requires Node.js® version 24 or higher — [install it from the official site](https://nodejs.org/en/).
132
+
133
+ ```bash
134
+ git clone https://github.com/mathworks/matlab-proxy.git
135
+
136
+ cd matlab-proxy
137
+
138
+ python -m pip install .
139
+ ```
140
+
141
+ Installing the package creates an executable called `matlab-proxy-app`, which is placed onto your system PATH by `pip`, usually in: `$HOME/.local/bin/`
142
+ ```bash
143
+ # Confirm it is on the PATH
144
+ which matlab-proxy-app
145
+ ```
146
+
147
+ ## Usage
148
+
149
+ Once the `matlab-proxy` package is installed.
150
+
151
+ * Open a terminal and start `matlab-proxy-app`. On Linux, the command would be
152
+ ```bash
153
+ env MWI_BASE_URL="/matlab" matlab-proxy-app
154
+ ```
155
+ `MWI_BASE_URL` is an environment variable which controls the link on which MATLAB can be accessed.
156
+ For a detailed listing of all environment variables. See [Advanced-Usage.md](./Advanced-Usage.md)
157
+
158
+ Running the above command will print text out on your terminal, which will contain the URL to access MATLAB. For example:
159
+ ```
160
+ Access MATLAB at
161
+ http://localhost:44549/matlab/index.html
162
+ ```
163
+
164
+ * Open the the link above in a web browser. If prompted to do so, enter credentials for a MathWorks account associated with a MATLAB license. If you are using a network license manager, then change to the _Network License Manager_ tab and enter the license server address instead. To determine the appropriate method for your license type, consult [MATLAB Licensing Info](./MATLAB-Licensing-Info.md).
165
+ <p align="center">
166
+ <img width="400" src="https://github.com/mathworks/matlab-proxy/raw/main/img/licensing_GUI.png">
167
+ </p>
168
+
169
+ * Wait for the MATLAB session to start. *This can take several minutes*.
170
+ <p align="center">
171
+ <img width="800" src="https://github.com/mathworks/matlab-proxy/raw/main/img/MATLAB_Desktop.png">
172
+ </p>
173
+
174
+ * To manage the MATLAB session, click the tools icon shown below.
175
+ <p align="center">
176
+ <img width="100" src="https://github.com/mathworks/matlab-proxy/raw/main/img/tools_icon.png">
177
+ </p>
178
+
179
+ * Clicking the tools icon opens a status panel with buttons like the ones below:
180
+ <p align="center">
181
+ <img width="800" src="https://github.com/mathworks/matlab-proxy/raw/main/img/status_panel.png">
182
+ </p>
183
+
184
+ The following options are available in the status panel (some options are only available in a specific context):
185
+
186
+ | Option | Description |
187
+ | ---- | ---- |
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.|
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.|
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.|
195
+ | Help | Open a help pop-up for a detailed description of the options.|
196
+
197
+ ## Examples
198
+ * For installing/usage in a Docker container, see this [Dockerfile](./examples/Dockerfile) and its [README](./examples/README.md).
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).
200
+ * For usage in a Jupyter environment, see [jupyter-matlab-proxy](https://github.com/mathworks/jupyter-matlab-proxy).
201
+
202
+ ## Platform Support
203
+
204
+ ### Linux
205
+ This package is fully supported for the Linux Operating System.
206
+
207
+ ### Windows
208
+
209
+ Windows® Operating System support was introduced in package version `v0.4.0`.
210
+ Install the version >=0.4.0 to use the package on Windows.
211
+ ```bash
212
+ # To upgrade an existing installation of matlab-proxy package:
213
+ $ pip install --upgrade matlab-proxy>=0.4.0
214
+ ```
215
+
216
+ ### MacOS
217
+
218
+ MacOS support was introduced in package version `v0.5.0`.
219
+ It works best for MATLAB versions newer than R2022b.
220
+ Note: Figures *also* open in a separate windows on versions of MATLAB older than R2022b.
221
+
222
+ Install the version >=0.5.0 to use the package on MacOS.
223
+
224
+ ```bash
225
+ # To upgrade an existing installation of matlab-proxy package:
226
+ $ pip install --upgrade matlab-proxy>=0.5.0
227
+ ```
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
+
236
+ ## Limitations
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.
241
+
242
+ ## Security
243
+ We take your security concerns seriously, and will attempt to address all concerns.
244
+ `matlab-proxy` uses several other python packages, and depend on them to fix their own vulnerabilities.
245
+
246
+ All security patches will be released as a new version of the package.
247
+ Patches are never backported to older versions or releases of the package.
248
+ Using the latest version will provide the latest available security updates or patches.
249
+
250
+ ## Feedback
251
+
252
+ We encourage you to try this repository with your environment and provide feedback.
253
+ If you encounter a technical issue or have an enhancement request, create an issue [here](https://github.com/mathworks/matlab-proxy/issues)
254
+
255
+ ---
256
+
257
+ Copyright 2020-2025 The MathWorks, Inc.
258
+
259
+ ---
@@ -1,15 +1,13 @@
1
1
  # MATLAB Proxy
2
2
  [![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/mathworks/matlab-proxy/run-tests.yml?branch=main&logo=github)](https://github.com/mathworks/matlab-proxy/actions) &nbsp; [![PyPI badge](https://img.shields.io/pypi/v/matlab-proxy.svg?logo=pypi)](https://pypi.python.org/pypi/matlab-proxy) &nbsp; [![codecov](https://codecov.io/gh/mathworks/matlab-proxy/branch/main/graph/badge.svg?token=ZW3SESKCSS)](https://codecov.io/gh/mathworks/matlab-proxy) &nbsp; [![Downloads](https://static.pepy.tech/personalized-badge/matlab-proxy?period=month&units=international_system&left_color=grey&right_color=blue&left_text=PyPI%20downloads/month)](https://pepy.tech/project/matlab-proxy)
3
3
 
4
- Copyright (c) 2020-2023 The MathWorks, Inc. All rights reserved.
5
-
6
4
  ----
7
5
 
8
- `matlab-proxy` is a Python® package which enables you to launch MATLAB® and access it from a web browser.
6
+ Use this Python® package `matlab-proxy` to start MATLAB® and access it from a web browser.
9
7
 
10
- Installation of this package creates an executable `matlab-proxy-app`, which launches MATLAB and provides a URL to access it.
8
+ Install this package to create an executable `matlab-proxy-app`, which starts MATLAB and provides you a URL to access it.
11
9
 
12
- The MATLAB Proxy is under active development. For support or to report issues, see the [Feedback](#feedback) section.
10
+ MATLAB Proxy is under active development. For support or to report issues, see [Feedback](#feedback).
13
11
 
14
12
  ----
15
13
 
@@ -25,17 +23,19 @@ The MATLAB Proxy is under active development. For support or to report issues, s
25
23
  - [Feedback](#feedback)
26
24
 
27
25
  ## Requirements
28
- * MATLAB® R2020b or later is installed and on the system PATH.
26
+ * MATLAB® R2020b or later, installed and added to the system PATH.
29
27
  ```bash
30
28
  # Confirm MATLAB is on the PATH
31
29
  which matlab
32
30
  ```
33
31
  * The dependencies required to run MATLAB.
34
- Refer to the Dockerfiles in the [matlab-deps](https://github.com/mathworks-ref-arch/container-images/tree/master/matlab-deps) repository for the desired version of MATLAB.
32
+ 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.
35
33
 
36
- * X Virtual Frame Buffer (Xvfb) : (only for Linux® based systems)
34
+ * X Virtual Frame Buffer (Xvfb) (only for Linux® based systems):
35
+
36
+ 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.
37
+ To install Xvfb on your Linux machine, use:
37
38
 
38
- Install it on your linux machine using:
39
39
  ```bash
40
40
  # On a Debian/Ubuntu based system:
41
41
  $ sudo apt install xvfb
@@ -47,9 +47,20 @@ The MATLAB Proxy is under active development. For support or to report issues, s
47
47
 
48
48
  $ sudo yum install xorg-x11-server-Xvfb
49
49
  ```
50
- * Python versions: **3.8** | **3.9** | **3.10** | **3.11**
51
- * [Browser Requirements](https://www.mathworks.com/support/requirements/browser-requirements.html)
50
+
51
+
52
+ * Fluxbox Window Manager (only for Linux® based systems):
52
53
 
54
+ Installing fluxbox is optional but required to use Simulink Online.
55
+
56
+ Install fluxbox using:
57
+ ```bash
58
+ # On a Debian/Ubuntu based system:
59
+ $ sudo apt install fluxbox
60
+ ```
61
+
62
+ * Python versions: 3.10 | 3.11 | 3.12 | 3.13
63
+ * [Browser Requirements](https://www.mathworks.com/support/requirements/browser-requirements.html)
53
64
  * Supported Operating Systems:
54
65
  * Linux®
55
66
  * Windows® Operating System ( starting v0.4.0 of matlab-proxy )
@@ -65,7 +76,7 @@ python -m pip install matlab-proxy
65
76
  ```
66
77
 
67
78
  ### Building From Sources
68
- Building from sources requires Node.js® version 16 or higher. [Click here to install Node.js](https://nodejs.org/en/)
79
+ Building from sources requires Node.js® version 24 or higher [install it from the official site](https://nodejs.org/en/).
69
80
 
70
81
  ```bash
71
82
  git clone https://github.com/mathworks/matlab-proxy.git
@@ -85,7 +96,7 @@ which matlab-proxy-app
85
96
 
86
97
  Once the `matlab-proxy` package is installed.
87
98
 
88
- * Open a Linux terminal and launch the application with
99
+ * Open a terminal and start `matlab-proxy-app`. On Linux, the command would be
89
100
  ```bash
90
101
  env MWI_BASE_URL="/matlab" matlab-proxy-app
91
102
  ```
@@ -94,7 +105,7 @@ Once the `matlab-proxy` package is installed.
94
105
 
95
106
  Running the above command will print text out on your terminal, which will contain the URL to access MATLAB. For example:
96
107
  ```
97
- MATLAB can be accessed on
108
+ Access MATLAB at
98
109
  http://localhost:44549/matlab/index.html
99
110
  ```
100
111
 
@@ -122,17 +133,18 @@ The following options are available in the status panel (some options are only a
122
133
 
123
134
  | Option | Description |
124
135
  | ---- | ---- |
125
- | Start MATLAB Session | Start your MATLAB session. Available if MATLAB is stopped.|
126
- | Restart MATLAB Session | Restart your MATLAB session. Available if MATLAB is running or starting.|
127
- | Stop MATLAB Session | Stop your MATLAB session. Use this option if you want to free up RAM and CPU resources. Available if MATLAB is running or starting.|
128
- | Sign Out | Sign out of MATLAB. Use this to stop MATLAB and sign in with an alternative account. Available if using online licensing.|
136
+ | Start MATLAB | Start your MATLAB session. Available if MATLAB is stopped.|
137
+ | Restart MATLAB | Restart your MATLAB session. Available if MATLAB is running or starting.|
138
+ | 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.|
139
+ | Sign Out | Sign out of MATLAB session. Use this to stop MATLAB and sign in with an alternative account. Available if using online licensing.|
129
140
  | 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.|
130
- | Feedback | Send feedback about the MATLAB Proxy. This action opens your default email application.|
141
+ | Shut Down | Stop your MATLAB session and the `matlab-proxy` server.|
142
+ | Feedback | Provide feedback. Opens a new tab to create an issue on GitHub.|
131
143
  | Help | Open a help pop-up for a detailed description of the options.|
132
144
 
133
145
  ## Examples
134
146
  * For installing/usage in a Docker container, see this [Dockerfile](./examples/Dockerfile) and its [README](./examples/README.md).
135
- * 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).*
147
+ * 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).
136
148
  * For usage in a Jupyter environment, see [jupyter-matlab-proxy](https://github.com/mathworks/jupyter-matlab-proxy).
137
149
 
138
150
  ## Platform Support
@@ -162,12 +174,18 @@ Install the version >=0.5.0 to use the package on MacOS.
162
174
  $ pip install --upgrade matlab-proxy>=0.5.0
163
175
  ```
164
176
 
177
+ ### Windows Subsystem for Linux (WSL 2)
178
+
179
+ To install `matlab-proxy` in WSL 2, follow the steps mentioned in the [Installation Guide for WSL 2](./install_guides/wsl2/README.md).
180
+
165
181
  ## Using an already activated MATLAB with matlab-proxy
166
182
  `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.
167
183
 
168
184
  ## Limitations
169
- This package supports the same subset of MATLAB features and commands as MATLAB® Online, except there is no support for Simulink® Online.
170
- [Click here for a full list of Specifications and Limitations for MATLAB Online](https://www.mathworks.com/products/matlab-online/limitations.html).
185
+ This package supports the same set of MATLAB features and commands as MATLAB® Online. For the full list, see
186
+ [Specifications and Limitations for MATLAB Online](https://www.mathworks.com/products/matlab-online/limitations.html).
187
+
188
+ Simulink Online is supported exclusively on Linux platforms starting from MATLAB R2024b.
171
189
 
172
190
  ## Security
173
191
  We take your security concerns seriously, and will attempt to address all concerns.
@@ -180,4 +198,10 @@ Using the latest version will provide the latest available security updates or p
180
198
  ## Feedback
181
199
 
182
200
  We encourage you to try this repository with your environment and provide feedback.
183
- If you encounter a technical issue or have an enhancement request, create an issue [here](https://github.com/mathworks/matlab-proxy/issues)
201
+ If you encounter a technical issue or have an enhancement request, create an issue [here](https://github.com/mathworks/matlab-proxy/issues)
202
+
203
+ ---
204
+
205
+ Copyright 2020-2025 The MathWorks, Inc.
206
+
207
+ ---
@@ -0,0 +1,50 @@
1
+ {
2
+ "extends": [
3
+ "standard",
4
+ "plugin:react/recommended"
5
+ ],
6
+ "plugins": [
7
+ "react",
8
+ "testing-library",
9
+ "node"
10
+ ],
11
+ "env": {
12
+ "vitest/globals": true,
13
+ "browser": true
14
+ },
15
+ "rules": {
16
+ "indent": ["error", 4, {"SwitchCase": 1}],
17
+ "semi": ["error", "always"],
18
+ "no-extra-semi": "error",
19
+ "quote-props": ["error", "as-needed"],
20
+ "dot-notation": "warn",
21
+ "object-curly-newline": "warn",
22
+ "multiline-ternary": "warn",
23
+ "prefer-const": "warn",
24
+ "no-prototype-builtins": "warn",
25
+ "array-callback-return": "warn",
26
+ "array-bracket-spacing": "warn",
27
+ "quotes": ["warn", "single"],
28
+ "lines-between-class-members": "warn",
29
+ "no-empty": "warn",
30
+ "prefer-regex-literals": "warn",
31
+ "node/no-callback-literal": "warn",
32
+ "no-useless-catch": "warn",
33
+ "node/handle-callback-err": "warn",
34
+ "no-case-declarations": "warn",
35
+ "computed-property-spacing": "warn",
36
+ "no-async-promise-executor": "warn",
37
+ "node/no-deprecated-api": "warn",
38
+ "no-unreachable-loop": "warn",
39
+ "no-void": "warn",
40
+ "no-unused-vars": ["error", { "varsIgnorePattern": "React" }]
41
+ },
42
+ "ignorePatterns": ["build/**"],
43
+ "settings": {
44
+ "react": {
45
+ "version": "detect"
46
+ }
47
+ }
48
+ }
49
+
50
+
@@ -0,0 +1,43 @@
1
+ This project contains the source code for the react app served by `matlab-proxy`
2
+
3
+ ## Available Scripts
4
+
5
+ In the project directory, you can run:
6
+
7
+ ### `npm run dev`
8
+
9
+ Runs the app in the development mode.<br />
10
+ Open [http://localhost:5173](http://localhost:5173) to view it in the browser.
11
+
12
+ The page will reload if you make edits.<br />
13
+ You will also see any lint errors in the console.
14
+
15
+ ### `npm test`
16
+
17
+ Launches the test runner in the interactive watch mode.<br />
18
+
19
+ ### `npm run test:coverage`
20
+
21
+ Launches the test runner and generates code coverage based on configuration specified in `vite.config.js`.
22
+
23
+ ### `npm run build`
24
+
25
+ Builds the app for production to the `build` folder.<br />
26
+ It correctly bundles React in production mode and optimizes the build for the best performance.
27
+
28
+ The build is minified and the filenames include the hashes.<br />
29
+ Your app is ready to be deployed!
30
+
31
+ ### `npm run eslint`
32
+
33
+ Runs lint checks on the source code based on `eslint.config.js` file
34
+
35
+ ### `npm run eslint:fix`
36
+
37
+ Attempts to automatically correct problems in the source code according to the rules specified in `eslint.config.js`.
38
+
39
+ ---
40
+
41
+ Copyright 2020-2025 The MathWorks, Inc.
42
+
43
+ ---
@@ -0,0 +1,57 @@
1
+ // Copyright 2025 The MathWorks, Inc.
2
+
3
+ import globals from 'globals';
4
+ import react from 'eslint-plugin-react';
5
+ import reactHooks from 'eslint-plugin-react-hooks';
6
+ import reactRefresh from 'eslint-plugin-react-refresh';
7
+ import nodePlugin from 'eslint-plugin-node';
8
+ import vitestPlugin from 'eslint-plugin-vitest';
9
+ import fs from 'fs';
10
+
11
+ const eslintrcJson = JSON.parse(fs.readFileSync('./.eslintrc.json', 'utf8'));
12
+
13
+
14
+ function cleanGlobals(globalsObject) {
15
+ return Object.fromEntries(
16
+ Object.entries(globalsObject).map(([key, value]) => [key.trim(), value])
17
+ );
18
+ }
19
+
20
+ export default [
21
+ { ignores: ['build'] },
22
+ {
23
+ files: ['**/*.{js,jsx}'],
24
+ languageOptions: {
25
+ ecmaVersion: 2020,
26
+ globals: {
27
+ ...cleanGlobals(globals.browser),
28
+ ...eslintrcJson.env
29
+ },
30
+ parserOptions: {
31
+ ecmaVersion: 'latest',
32
+ ecmaFeatures: { jsx: true },
33
+ sourceType: 'module',
34
+ },
35
+ },
36
+ settings: eslintrcJson.settings,
37
+ plugins: {
38
+ ...Object.fromEntries(eslintrcJson.plugins.map(plugin => [plugin, import(`eslint-plugin-${plugin}`)])),
39
+ react,
40
+ node: nodePlugin,
41
+ vitest: vitestPlugin,
42
+ 'react-hooks': reactHooks,
43
+ 'react-refresh': reactRefresh,
44
+ },
45
+ rules: {
46
+ ...react.configs.recommended.rules,
47
+ ...react.configs['jsx-runtime'].rules,
48
+ ...reactHooks.configs.recommended.rules,
49
+ 'react/jsx-no-target-blank': 'off',
50
+ 'react-refresh/only-export-components': [
51
+ 'warn',
52
+ { allowConstantExport: true },
53
+ ],
54
+ ...eslintrcJson.rules,
55
+ },
56
+ },
57
+ ];
@@ -0,0 +1,23 @@
1
+ /* Copyright 2020-2025 The MathWorks, Inc. */
2
+
3
+ html {
4
+ height: 100%;
5
+ }
6
+
7
+ #root {
8
+ height: 100%;
9
+ }
10
+
11
+ body {
12
+ margin: 0;
13
+ font-family: -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Roboto', 'Oxygen',
14
+ 'Ubuntu', 'Cantarell', 'Fira Sans', 'Droid Sans', 'Helvetica Neue',
15
+ sans-serif;
16
+ -webkit-font-smoothing: antialiased;
17
+ -moz-osx-font-smoothing: grayscale;
18
+ }
19
+
20
+ code {
21
+ font-family: source-code-pro, Menlo, Monaco, Consolas, 'Courier New',
22
+ monospace;
23
+ }
@@ -0,0 +1,20 @@
1
+ <!-- Copyright 2025 The MathWorks, Inc. -->
2
+
3
+ <!doctype html>
4
+ <html lang="en">
5
+ <head>
6
+ <meta charset="UTF-8" />
7
+ <link rel="icon" href="./favicon.ico" />
8
+ <meta name="viewport" content="width=device-width, initial-scale=1" />
9
+ <meta name="theme-color" content="#000000" />
10
+ <meta name="description" content="MATLAB" />
11
+ <meta name="internal_mw_identifier" content="MWI_MATLAB_PROXY_IDENTIFIER" />
12
+ <link rel="manifest" href="./manifest.json" />
13
+ <link rel="stylesheet" href="./index.css">
14
+ <title>MATLAB</title>
15
+ </head>
16
+ <body>
17
+ <div id="root"></div>
18
+ <script type="module" src="./src/main.jsx"></script>
19
+ </body>
20
+ </html>