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.
- matlab_proxy-0.30.1/.gitignore +17 -0
- matlab_proxy-0.30.1/PKG-INFO +259 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/README.md +47 -23
- matlab_proxy-0.30.1/gui/.eslintrc.json +50 -0
- matlab_proxy-0.30.1/gui/README.md +43 -0
- matlab_proxy-0.30.1/gui/eslint.config.js +57 -0
- matlab_proxy-0.30.1/gui/index.css +23 -0
- matlab_proxy-0.30.1/gui/index.html +20 -0
- matlab_proxy-0.30.1/gui/package-lock.json +10358 -0
- matlab_proxy-0.30.1/gui/package.json +54 -0
- matlab_proxy-0.30.1/gui/src/actionCreators/actionCreators.spec.js +455 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/actionCreators/index.js +171 -109
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/actions/index.js +9 -3
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/css/bootstrap.min.css +3 -2
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/css/site7.min.css +3 -1
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/App.css +1 -1
- matlab_proxy-0.30.1/gui/src/components/App/App.spec.jsx +260 -0
- matlab_proxy-0.30.1/gui/src/components/App/IdleBufferTimeouts.spec.jsx +122 -0
- matlab_proxy-0.30.1/gui/src/components/App/index.jsx +418 -0
- matlab_proxy-0.30.1/gui/src/components/Confirmation/Confirmation.spec.jsx +114 -0
- matlab-proxy-0.8.1/gui/src/components/Confirmation/index.js → matlab_proxy-0.30.1/gui/src/components/Confirmation/index.jsx +10 -6
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/Controls.css +3 -3
- matlab_proxy-0.30.1/gui/src/components/Controls/Controls.spec.jsx +149 -0
- matlab-proxy-0.8.1/gui/src/components/Controls/index.js → matlab_proxy-0.30.1/gui/src/components/Controls/index.jsx +94 -73
- matlab_proxy-0.30.1/gui/src/components/EntitlementSelector/EntitlementSelector.spec.jsx +107 -0
- matlab_proxy-0.30.1/gui/src/components/EntitlementSelector/index.jsx +78 -0
- matlab_proxy-0.30.1/gui/src/components/Error/Error.spec.jsx +48 -0
- matlab-proxy-0.8.1/gui/src/components/Error/index.js → matlab_proxy-0.30.1/gui/src/components/Error/index.jsx +4 -5
- matlab_proxy-0.30.1/gui/src/components/Help/Help.spec.jsx +99 -0
- matlab-proxy-0.8.1/gui/src/components/Help/index.js → matlab_proxy-0.30.1/gui/src/components/Help/index.jsx +17 -15
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Information/Information.css +11 -9
- matlab_proxy-0.30.1/gui/src/components/Information/Information.spec.jsx +179 -0
- matlab_proxy-0.30.1/gui/src/components/Information/index.jsx +272 -0
- matlab-proxy-0.8.1/gui/src/components/LicensingGatherer/ExistingLicense.js → matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/ExistingLicense.jsx +11 -11
- matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/LicenseGatherer.spec.jsx +144 -0
- matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/MHLM.css +7 -0
- matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/MHLM.jsx +202 -0
- matlab-proxy-0.8.1/gui/src/components/LicensingGatherer/NLM.js → matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/NLM.jsx +24 -21
- matlab-proxy-0.8.1/gui/src/components/LicensingGatherer/index.js → matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/index.jsx +25 -14
- matlab_proxy-0.30.1/gui/src/components/MatlabJsd/MatlabJsd.spec.jsx +94 -0
- matlab_proxy-0.30.1/gui/src/components/MatlabJsd/index.jsx +54 -0
- matlab_proxy-0.30.1/gui/src/components/Overlay/Overlay.spec.jsx +24 -0
- matlab-proxy-0.8.1/gui/src/components/Overlay/index.js → matlab_proxy-0.30.1/gui/src/components/Overlay/index.jsx +7 -5
- matlab_proxy-0.30.1/gui/src/components/OverlayTrigger/OverlayTrigger.spec.jsx +80 -0
- matlab_proxy-0.30.1/gui/src/components/OverlayTrigger/ResizeOverlayTrigger.spec.jsx +85 -0
- matlab-proxy-0.8.1/gui/src/components/OverlayTrigger/index.js → matlab_proxy-0.30.1/gui/src/components/OverlayTrigger/index.jsx +34 -29
- matlab_proxy-0.30.1/gui/src/components/ShutdownWarning/ShutdownWarning.css +46 -0
- matlab_proxy-0.30.1/gui/src/components/ShutdownWarning/index.jsx +72 -0
- matlab_proxy-0.30.1/gui/src/constants.js +11 -0
- matlab_proxy-0.30.1/gui/src/main.jsx +26 -0
- matlab_proxy-0.30.1/gui/src/reducers/index.js +428 -0
- matlab_proxy-0.30.1/gui/src/reducers/reducers.spec.js +415 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/selectors/index.js +114 -28
- matlab_proxy-0.30.1/gui/src/selectors/selectors.spec.js +413 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/setupTests.js +6 -2
- matlab_proxy-0.30.1/gui/src/test/utils/react-test.jsx +31 -0
- matlab_proxy-0.30.1/gui/src/test/utils/responses.js +37 -0
- matlab_proxy-0.30.1/gui/src/test/utils/state.js +60 -0
- matlab_proxy-0.30.1/gui/vite.config.js +59 -0
- matlab_proxy-0.30.1/hatch_build.py +96 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/app.py +385 -118
- matlab_proxy-0.30.1/matlab_proxy/app_state.py +1696 -0
- matlab_proxy-0.30.1/matlab_proxy/constants.py +37 -0
- matlab_proxy-0.30.1/matlab_proxy/default_configuration.py +53 -0
- matlab_proxy-0.30.1/matlab_proxy/matlab/evaluateUserMatlabCode.m +51 -0
- matlab_proxy-0.30.1/matlab_proxy/matlab/startup.m +14 -0
- matlab_proxy-0.30.1/matlab_proxy/settings.py +727 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/__init__.py +154 -48
- matlab_proxy-0.30.1/matlab_proxy/util/cookie_jar.py +72 -0
- matlab_proxy-0.30.1/matlab_proxy/util/event_loop.py +63 -0
- matlab_proxy-0.30.1/matlab_proxy/util/list_servers.py +89 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mw.py +10 -6
- matlab_proxy-0.30.1/matlab_proxy/util/mwi/download.py +136 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/embedded_connector/__init__.py +1 -1
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/embedded_connector/helpers.py +12 -4
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/embedded_connector/request.py +53 -23
- matlab_proxy-0.30.1/matlab_proxy/util/mwi/environment_variables.py +230 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/exceptions.py +29 -1
- matlab_proxy-0.30.1/matlab_proxy/util/mwi/logger.py +218 -0
- matlab_proxy-0.30.1/matlab_proxy/util/mwi/session_name.py +28 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/token_auth.py +45 -42
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/validators.py +115 -80
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/windows.py +10 -4
- matlab_proxy-0.30.1/matlab_proxy_manager/README.md +85 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/__init__.py +6 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/lib/README.md +53 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/lib/__init__.py +1 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/lib/api.py +419 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/storage/README.md +54 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/storage/__init__.py +1 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/storage/file_repository.py +144 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/storage/interface.py +62 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/storage/server.py +172 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/utils/__init__.py +1 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/utils/auth.py +77 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/utils/constants.py +8 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/utils/decorators.py +37 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/utils/environment_variables.py +51 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/utils/exceptions.py +45 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/utils/helpers.py +314 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/utils/logger.py +76 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/web/README.md +37 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/web/__init__.py +1 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/web/app.py +536 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/web/monitor.py +45 -0
- matlab_proxy-0.30.1/matlab_proxy_manager/web/watcher.py +65 -0
- matlab_proxy-0.30.1/pyproject.toml +105 -0
- matlab_proxy-0.30.1/tests/README.md +83 -0
- matlab_proxy-0.30.1/tests/__init__.py +1 -0
- matlab_proxy-0.30.1/tests/integration/__init__.py +1 -0
- matlab_proxy-0.30.1/tests/integration/integration_tests_with_license/__init__.py +1 -0
- matlab_proxy-0.30.1/tests/integration/integration_tests_with_license/conftest.py +46 -0
- matlab_proxy-0.30.1/tests/integration/integration_tests_with_license/test_http_end_points.py +492 -0
- matlab_proxy-0.30.1/tests/integration/integration_tests_without_license/__init__.py +1 -0
- matlab_proxy-0.30.1/tests/integration/integration_tests_without_license/conftest.py +116 -0
- matlab_proxy-0.30.1/tests/integration/integration_tests_without_license/test_matlab_is_down_if_unlicensed.py +49 -0
- matlab_proxy-0.30.1/tests/integration/pytest.ini +16 -0
- matlab_proxy-0.30.1/tests/integration/utils/__init__.py +1 -0
- matlab_proxy-0.30.1/tests/integration/utils/integration_tests_utils.py +352 -0
- matlab_proxy-0.30.1/tests/integration/utils/licensing.py +152 -0
- matlab_proxy-0.30.1/tests/matlab-tests/TestEvaluateUserMatlabCodeScript.m +96 -0
- matlab_proxy-0.30.1/tests/unit/__init__.py +1 -0
- matlab_proxy-0.30.1/tests/unit/conftest.py +66 -0
- matlab_proxy-0.30.1/tests/unit/fixtures/fixture_auth.py +19 -0
- matlab_proxy-0.30.1/tests/unit/mocks/mock_client.py +42 -0
- matlab_proxy-0.30.1/tests/unit/proxy-manager/lib/test_api.py +311 -0
- matlab_proxy-0.30.1/tests/unit/proxy-manager/storage/test_file_repository.py +152 -0
- matlab_proxy-0.30.1/tests/unit/proxy-manager/storage/test_server.py +237 -0
- matlab_proxy-0.30.1/tests/unit/proxy-manager/web/test_app.py +682 -0
- matlab_proxy-0.30.1/tests/unit/proxy-manager/web/test_monitor.py +121 -0
- matlab_proxy-0.30.1/tests/unit/proxy-manager/web/test_watcher.py +69 -0
- matlab_proxy-0.30.1/tests/unit/pytest.ini +16 -0
- matlab_proxy-0.30.1/tests/unit/test_app.py +1366 -0
- matlab_proxy-0.30.1/tests/unit/test_app_state.py +1184 -0
- matlab_proxy-0.30.1/tests/unit/test_constants.py +7 -0
- matlab_proxy-0.30.1/tests/unit/test_ddux.py +22 -0
- matlab_proxy-0.30.1/tests/unit/test_devel.py +246 -0
- matlab_proxy-0.30.1/tests/unit/test_non_dev_mode.py +167 -0
- matlab_proxy-0.30.1/tests/unit/test_settings.py +708 -0
- matlab_proxy-0.30.1/tests/unit/util/__init__.py +3 -0
- matlab_proxy-0.30.1/tests/unit/util/mwi/__init__.py +1 -0
- matlab_proxy-0.30.1/tests/unit/util/mwi/embedded_connector/__init__.py +1 -0
- matlab_proxy-0.30.1/tests/unit/util/mwi/embedded_connector/test_helpers.py +29 -0
- matlab_proxy-0.30.1/tests/unit/util/mwi/embedded_connector/test_request.py +64 -0
- matlab_proxy-0.30.1/tests/unit/util/mwi/test_custom_http_headers.py +281 -0
- matlab_proxy-0.30.1/tests/unit/util/mwi/test_download.py +145 -0
- matlab_proxy-0.30.1/tests/unit/util/mwi/test_logger.py +91 -0
- matlab_proxy-0.30.1/tests/unit/util/mwi/test_token_auth.py +303 -0
- matlab_proxy-0.30.1/tests/unit/util/mwi/test_validators.py +364 -0
- matlab_proxy-0.30.1/tests/unit/util/test_cookie_jar.py +252 -0
- matlab_proxy-0.30.1/tests/unit/util/test_mw.py +550 -0
- matlab_proxy-0.30.1/tests/unit/util/test_util.py +212 -0
- matlab_proxy-0.30.1/tests/utils/__init__.py +1 -0
- matlab_proxy-0.30.1/tests/utils/logging_util.py +81 -0
- matlab-proxy-0.8.1/MANIFEST.in +0 -6
- matlab-proxy-0.8.1/PKG-INFO +0 -203
- matlab-proxy-0.8.1/gui/README.md +0 -68
- matlab-proxy-0.8.1/gui/package-lock.json +0 -31405
- matlab-proxy-0.8.1/gui/package.json +0 -55
- matlab-proxy-0.8.1/gui/public/index.html +0 -21
- matlab-proxy-0.8.1/gui/src/actionCreators/actionCreators.spec.js +0 -393
- matlab-proxy-0.8.1/gui/src/components/App/App.spec.js +0 -273
- matlab-proxy-0.8.1/gui/src/components/App/index.js +0 -221
- matlab-proxy-0.8.1/gui/src/components/Confirmation/Confirmation.spec.js +0 -120
- matlab-proxy-0.8.1/gui/src/components/Controls/Controls.spec.js +0 -123
- matlab-proxy-0.8.1/gui/src/components/EntitlementSelector/EntitlementSelector.spec.js +0 -124
- matlab-proxy-0.8.1/gui/src/components/EntitlementSelector/index.js +0 -75
- matlab-proxy-0.8.1/gui/src/components/Error/Error.spec.js +0 -48
- matlab-proxy-0.8.1/gui/src/components/Help/Help.spec.js +0 -105
- matlab-proxy-0.8.1/gui/src/components/Information/Information.spec.js +0 -193
- matlab-proxy-0.8.1/gui/src/components/Information/index.js +0 -214
- matlab-proxy-0.8.1/gui/src/components/LicensingGatherer/LicenseGatherer.spec.js +0 -150
- matlab-proxy-0.8.1/gui/src/components/LicensingGatherer/MHLM.js +0 -150
- matlab-proxy-0.8.1/gui/src/components/MatlabJsd/MatlabJsd.spec.js +0 -42
- matlab-proxy-0.8.1/gui/src/components/MatlabJsd/index.js +0 -23
- matlab-proxy-0.8.1/gui/src/components/Overlay/Overlay.spec.js +0 -24
- matlab-proxy-0.8.1/gui/src/components/OverlayTrigger/OverlayTrigger.spec.js +0 -85
- matlab-proxy-0.8.1/gui/src/components/OverlayTrigger/ResizeOverlayTrigger.spec.js +0 -77
- matlab-proxy-0.8.1/gui/src/index.css +0 -23
- matlab-proxy-0.8.1/gui/src/index.js +0 -32
- matlab-proxy-0.8.1/gui/src/jest.config.json +0 -16
- matlab-proxy-0.8.1/gui/src/logo.svg +0 -7
- matlab-proxy-0.8.1/gui/src/reducers/index.js +0 -300
- matlab-proxy-0.8.1/gui/src/reducers/reducers.spec.js +0 -452
- matlab-proxy-0.8.1/gui/src/selectors/selectors.spec.js +0 -401
- matlab-proxy-0.8.1/gui/src/serviceWorker.js +0 -143
- matlab-proxy-0.8.1/gui/src/test/utils/react-test.js +0 -29
- matlab-proxy-0.8.1/matlab_proxy/app_state.py +0 -1194
- matlab-proxy-0.8.1/matlab_proxy/constants.py +0 -6
- matlab-proxy-0.8.1/matlab_proxy/default_configuration.py +0 -18
- matlab-proxy-0.8.1/matlab_proxy/matlab/startup.m +0 -37
- matlab-proxy-0.8.1/matlab_proxy/settings.py +0 -427
- matlab-proxy-0.8.1/matlab_proxy/util/event_loop.py +0 -45
- matlab-proxy-0.8.1/matlab_proxy/util/list_servers.py +0 -44
- matlab-proxy-0.8.1/matlab_proxy/util/mwi/environment_variables.py +0 -152
- matlab-proxy-0.8.1/matlab_proxy/util/mwi/logger.py +0 -106
- matlab-proxy-0.8.1/matlab_proxy.egg-info/PKG-INFO +0 -203
- matlab-proxy-0.8.1/matlab_proxy.egg-info/SOURCES.txt +0 -129
- matlab-proxy-0.8.1/matlab_proxy.egg-info/dependency_links.txt +0 -1
- matlab-proxy-0.8.1/matlab_proxy.egg-info/entry_points.txt +0 -7
- matlab-proxy-0.8.1/matlab_proxy.egg-info/not-zip-safe +0 -1
- matlab-proxy-0.8.1/matlab_proxy.egg-info/requires.txt +0 -13
- matlab-proxy-0.8.1/matlab_proxy.egg-info/top_level.txt +0 -1
- matlab-proxy-0.8.1/setup.cfg +0 -10
- matlab-proxy-0.8.1/setup.py +0 -112
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/LICENSE.md +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/.gitignore +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/public/favicon.ico +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/public/manifest.json +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/public/robots.txt +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.eot +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.ttf +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.woff +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.woff2 +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-eps.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-eps.ttf +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-eps.woff +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-pictograms.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-pictograms.ttf +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-pictograms.woff +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks.ttf +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks.woff +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/bug_reports/workaround.gif +0 -0
- {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
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/responsive/global/ico-header-account.svg +0 -0
- {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
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/responsive/global/ico-header-contact.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/responsive/global/ico-sprite.png +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/App/MATLAB-env-blur.png +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/feedback.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/help.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/restart.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/sign-out.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/start.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/stop.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Controls/terminate.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Error/Error.css +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Help/Help.css +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/LicensingGatherer/ExistingLicense.css +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/LicensingGatherer/LicensingGatherer.css +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/MatlabJsd/MatlabJsd.css +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/Overlay/Overlay.css +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/OverlayTrigger.css +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/arrow.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/gripper.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/trigger-error.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/trigger-ok.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/__init__.py +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/devel.py +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/icons/matlab.svg +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/__init__.py +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/custom_http_headers.py +0 -0
- {matlab-proxy-0.8.1 → matlab_proxy-0.30.1}/matlab_proxy/util/system.py +0 -0
|
@@ -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
|
+
[](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)
|
|
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
|
[](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)
|
|
3
3
|
|
|
4
|
-
Copyright (c) 2020-2023 The MathWorks, Inc. All rights reserved.
|
|
5
|
-
|
|
6
4
|
----
|
|
7
5
|
|
|
8
|
-
|
|
6
|
+
Use this Python® package `matlab-proxy` to start MATLAB® and access it from a web browser.
|
|
9
7
|
|
|
10
|
-
|
|
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
|
-
|
|
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
|
|
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
|
-
|
|
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)
|
|
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
|
-
|
|
51
|
-
|
|
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
|
|
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
|
|
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
|
|
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
|
|
126
|
-
| Restart MATLAB
|
|
127
|
-
| Stop MATLAB
|
|
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
|
-
|
|
|
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
|
|
170
|
-
[
|
|
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>
|