matlab-proxy 0.17.0__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.17.0 → matlab_proxy-0.30.1}/README.md +31 -16
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/.eslintrc.json +10 -10
- 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.17.0 → matlab_proxy-0.30.1}/gui/src/actionCreators/actionCreators.spec.js +4 -30
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/actionCreators/index.js +22 -23
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/actions/index.js +3 -3
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/css/bootstrap.min.css +3 -2
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/css/site7.min.css +3 -1
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/App.css +1 -1
- matlab-proxy-0.17.0/gui/src/components/App/App.spec.js → matlab_proxy-0.30.1/gui/src/components/App/App.spec.jsx +28 -17
- matlab_proxy-0.30.1/gui/src/components/App/IdleBufferTimeouts.spec.jsx +122 -0
- matlab-proxy-0.17.0/gui/src/components/App/index.js → matlab_proxy-0.30.1/gui/src/components/App/index.jsx +141 -32
- matlab-proxy-0.17.0/gui/src/components/Confirmation/Confirmation.spec.js → matlab_proxy-0.30.1/gui/src/components/Confirmation/Confirmation.spec.jsx +20 -6
- matlab-proxy-0.17.0/gui/src/components/Confirmation/index.js → matlab_proxy-0.30.1/gui/src/components/Confirmation/index.jsx +1 -1
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/Controls/Controls.css +3 -3
- matlab-proxy-0.17.0/gui/src/components/Controls/Controls.spec.js → matlab_proxy-0.30.1/gui/src/components/Controls/Controls.spec.jsx +46 -4
- matlab-proxy-0.17.0/gui/src/components/Controls/index.js → matlab_proxy-0.30.1/gui/src/components/Controls/index.jsx +55 -33
- matlab-proxy-0.17.0/gui/src/components/EntitlementSelector/EntitlementSelector.spec.js → matlab_proxy-0.30.1/gui/src/components/EntitlementSelector/EntitlementSelector.spec.jsx +17 -1
- matlab-proxy-0.17.0/gui/src/components/EntitlementSelector/index.js → matlab_proxy-0.30.1/gui/src/components/EntitlementSelector/index.jsx +1 -1
- matlab-proxy-0.17.0/gui/src/components/Error/Error.spec.js → matlab_proxy-0.30.1/gui/src/components/Error/Error.spec.jsx +3 -3
- matlab-proxy-0.17.0/gui/src/components/Error/index.js → matlab_proxy-0.30.1/gui/src/components/Error/index.jsx +1 -1
- matlab-proxy-0.17.0/gui/src/components/Help/Help.spec.js → matlab_proxy-0.30.1/gui/src/components/Help/Help.spec.jsx +10 -5
- matlab-proxy-0.17.0/gui/src/components/Help/index.js → matlab_proxy-0.30.1/gui/src/components/Help/index.jsx +12 -8
- matlab-proxy-0.17.0/gui/src/components/Information/Information.spec.js → matlab_proxy-0.30.1/gui/src/components/Information/Information.spec.jsx +11 -6
- matlab-proxy-0.17.0/gui/src/components/Information/index.js → matlab_proxy-0.30.1/gui/src/components/Information/index.jsx +39 -13
- matlab-proxy-0.17.0/gui/src/components/LicensingGatherer/ExistingLicense.js → matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/ExistingLicense.jsx +2 -1
- matlab-proxy-0.17.0/gui/src/components/LicensingGatherer/LicenseGatherer.spec.js → matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/LicenseGatherer.spec.jsx +10 -4
- matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/MHLM.css +7 -0
- matlab-proxy-0.17.0/gui/src/components/LicensingGatherer/MHLM.js → matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/MHLM.jsx +3 -4
- matlab-proxy-0.17.0/gui/src/components/LicensingGatherer/NLM.js → matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/NLM.jsx +6 -2
- matlab-proxy-0.17.0/gui/src/components/LicensingGatherer/index.js → matlab_proxy-0.30.1/gui/src/components/LicensingGatherer/index.jsx +19 -7
- 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.17.0/gui/src/components/Overlay/Overlay.spec.js → matlab_proxy-0.30.1/gui/src/components/Overlay/Overlay.spec.jsx +2 -2
- matlab-proxy-0.17.0/gui/src/components/Overlay/index.js → matlab_proxy-0.30.1/gui/src/components/Overlay/index.jsx +4 -2
- matlab-proxy-0.17.0/gui/src/components/OverlayTrigger/OverlayTrigger.spec.js → matlab_proxy-0.30.1/gui/src/components/OverlayTrigger/OverlayTrigger.spec.jsx +5 -5
- matlab-proxy-0.17.0/gui/src/components/OverlayTrigger/ResizeOverlayTrigger.spec.js → matlab_proxy-0.30.1/gui/src/components/OverlayTrigger/ResizeOverlayTrigger.spec.jsx +9 -9
- matlab-proxy-0.17.0/gui/src/components/OverlayTrigger/index.js → matlab_proxy-0.30.1/gui/src/components/OverlayTrigger/index.jsx +12 -8
- 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.17.0 → matlab_proxy-0.30.1}/gui/src/constants.js +5 -1
- matlab_proxy-0.30.1/gui/src/main.jsx +26 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/reducers/index.js +41 -35
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/reducers/reducers.spec.js +14 -11
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/selectors/index.js +65 -5
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/selectors/selectors.spec.js +29 -3
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/setupTests.js +6 -2
- matlab-proxy-0.17.0/gui/src/test/utils/react-test.js → matlab_proxy-0.30.1/gui/src/test/utils/react-test.jsx +2 -3
- matlab_proxy-0.30.1/gui/src/test/utils/responses.js +37 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/test/utils/state.js +9 -5
- matlab_proxy-0.30.1/gui/vite.config.js +59 -0
- matlab_proxy-0.30.1/hatch_build.py +96 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/app.py +207 -101
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/app_state.py +552 -243
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/constants.py +9 -1
- 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.17.0 → matlab_proxy-0.30.1}/matlab_proxy/settings.py +205 -85
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/util/__init__.py +141 -52
- 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.17.0 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/download.py +2 -11
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/embedded_connector/__init__.py +1 -1
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/embedded_connector/helpers.py +11 -3
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/embedded_connector/request.py +52 -22
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/environment_variables.py +37 -22
- {matlab-proxy-0.17.0 → 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.17.0 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/token_auth.py +2 -2
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/validators.py +81 -39
- {matlab-proxy-0.17.0 → 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/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.17.0 → matlab_proxy-0.30.1}/tests/integration/integration_tests_with_license/conftest.py +0 -1
- 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/pytest.ini +16 -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.17.0 → matlab_proxy-0.30.1}/tests/unit/conftest.py +1 -2
- 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.17.0 → matlab_proxy-0.30.1}/tests/unit/test_app.py +340 -101
- matlab_proxy-0.30.1/tests/unit/test_app_state.py +1184 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/unit/test_constants.py +1 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/unit/test_non_dev_mode.py +4 -6
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/unit/test_settings.py +255 -7
- 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.17.0 → matlab_proxy-0.30.1}/tests/unit/util/mwi/test_token_auth.py +6 -6
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/unit/util/mwi/test_validators.py +45 -12
- matlab_proxy-0.30.1/tests/unit/util/test_cookie_jar.py +252 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/unit/util/test_mw.py +2 -2
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/unit/util/test_util.py +106 -29
- matlab-proxy-0.17.0/MANIFEST.in +0 -6
- matlab-proxy-0.17.0/PKG-INFO +0 -213
- matlab-proxy-0.17.0/gui/README.md +0 -68
- matlab-proxy-0.17.0/gui/package-lock.json +0 -32341
- matlab-proxy-0.17.0/gui/package.json +0 -60
- matlab-proxy-0.17.0/gui/public/index.html +0 -21
- matlab-proxy-0.17.0/gui/src/components/MatlabJsd/MatlabJsd.spec.js +0 -42
- matlab-proxy-0.17.0/gui/src/components/MatlabJsd/index.js +0 -23
- matlab-proxy-0.17.0/gui/src/index.css +0 -23
- matlab-proxy-0.17.0/gui/src/index.js +0 -32
- matlab-proxy-0.17.0/gui/src/jest.config.json +0 -16
- matlab-proxy-0.17.0/gui/src/logo.svg +0 -7
- matlab-proxy-0.17.0/gui/src/serviceWorker.js +0 -143
- matlab-proxy-0.17.0/matlab_proxy/default_configuration.py +0 -18
- matlab-proxy-0.17.0/matlab_proxy/matlab/startup.m +0 -37
- matlab-proxy-0.17.0/matlab_proxy/util/event_loop.py +0 -45
- matlab-proxy-0.17.0/matlab_proxy/util/list_servers.py +0 -44
- matlab-proxy-0.17.0/matlab_proxy/util/mwi/logger.py +0 -112
- matlab-proxy-0.17.0/matlab_proxy.egg-info/PKG-INFO +0 -213
- matlab-proxy-0.17.0/matlab_proxy.egg-info/SOURCES.txt +0 -165
- matlab-proxy-0.17.0/matlab_proxy.egg-info/dependency_links.txt +0 -1
- matlab-proxy-0.17.0/matlab_proxy.egg-info/entry_points.txt +0 -7
- matlab-proxy-0.17.0/matlab_proxy.egg-info/not-zip-safe +0 -1
- matlab-proxy-0.17.0/matlab_proxy.egg-info/requires.txt +0 -18
- matlab-proxy-0.17.0/matlab_proxy.egg-info/top_level.txt +0 -2
- matlab-proxy-0.17.0/setup.cfg +0 -10
- matlab-proxy-0.17.0/setup.py +0 -117
- matlab-proxy-0.17.0/tests/integration/integration_tests_with_license/test_http_end_points.py +0 -223
- matlab-proxy-0.17.0/tests/unit/test_app_state.py +0 -664
- matlab-proxy-0.17.0/tests/unit/util/mwi/test_logger.py +0 -49
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/LICENSE.md +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/.gitignore +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/public/favicon.ico +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/public/manifest.json +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/public/robots.txt +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.eot +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.ttf +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.woff +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/glyphicons-halflings-regular.woff2 +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-eps.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-eps.ttf +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-eps.woff +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-pictograms.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-pictograms.ttf +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks-pictograms.woff +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks.ttf +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/fonts/mathworks.woff +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/bug_reports/workaround.gif +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/responsive/global/ico-header-account-hover.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/responsive/global/ico-header-account.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/responsive/global/ico-header-contact-hover.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/responsive/global/ico-header-contact.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/3p/images/responsive/global/ico-sprite.png +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/App/MATLAB-env-blur.png +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/Controls/feedback.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/Controls/help.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/Controls/restart.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/Controls/sign-out.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/Controls/start.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/Controls/stop.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/Controls/terminate.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/Error/Error.css +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/Help/Help.css +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/Information/Information.css +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/LicensingGatherer/ExistingLicense.css +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/LicensingGatherer/LicensingGatherer.css +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/MatlabJsd/MatlabJsd.css +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/Overlay/Overlay.css +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/OverlayTrigger.css +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/arrow.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/gripper.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/trigger-error.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/gui/src/components/OverlayTrigger/trigger-ok.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/__init__.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/devel.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/icons/matlab.svg +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/util/mw.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/__init__.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/util/mwi/custom_http_headers.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/matlab_proxy/util/system.py +0 -0
- {matlab-proxy-0.17.0/tests/unit → matlab_proxy-0.30.1/matlab_proxy_manager/lib}/__init__.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/integration/__init__.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/integration/integration_tests_with_license/__init__.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/integration/integration_tests_without_license/__init__.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/integration/integration_tests_without_license/conftest.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/integration/integration_tests_without_license/test_matlab_is_down_if_unlicensed.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/integration/utils/__init__.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/integration/utils/integration_tests_utils.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/integration/utils/licensing.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/unit/test_ddux.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/unit/test_devel.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/unit/util/__init__.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/unit/util/mwi/__init__.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/unit/util/mwi/embedded_connector/__init__.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/unit/util/mwi/embedded_connector/test_helpers.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/unit/util/mwi/embedded_connector/test_request.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/unit/util/mwi/test_custom_http_headers.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/utils/__init__.py +0 -0
- {matlab-proxy-0.17.0 → matlab_proxy-0.30.1}/tests/utils/logging_util.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
|
+
---
|
|
@@ -3,11 +3,11 @@
|
|
|
3
3
|
|
|
4
4
|
----
|
|
5
5
|
|
|
6
|
-
|
|
6
|
+
Use this Python® package `matlab-proxy` to start MATLAB® and access it from a web browser.
|
|
7
7
|
|
|
8
|
-
|
|
8
|
+
Install this package to create an executable `matlab-proxy-app`, which starts MATLAB and provides you a URL to access it.
|
|
9
9
|
|
|
10
|
-
|
|
10
|
+
MATLAB Proxy is under active development. For support or to report issues, see [Feedback](#feedback).
|
|
11
11
|
|
|
12
12
|
----
|
|
13
13
|
|
|
@@ -23,17 +23,19 @@ The MATLAB Proxy is under active development. For support or to report issues, s
|
|
|
23
23
|
- [Feedback](#feedback)
|
|
24
24
|
|
|
25
25
|
## Requirements
|
|
26
|
-
* MATLAB® R2020b or later
|
|
26
|
+
* MATLAB® R2020b or later, installed and added to the system PATH.
|
|
27
27
|
```bash
|
|
28
28
|
# Confirm MATLAB is on the PATH
|
|
29
29
|
which matlab
|
|
30
30
|
```
|
|
31
31
|
* The dependencies required to run MATLAB.
|
|
32
|
-
|
|
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.
|
|
33
33
|
|
|
34
|
-
* 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:
|
|
35
38
|
|
|
36
|
-
Install it on your linux machine using:
|
|
37
39
|
```bash
|
|
38
40
|
# On a Debian/Ubuntu based system:
|
|
39
41
|
$ sudo apt install xvfb
|
|
@@ -46,8 +48,18 @@ The MATLAB Proxy is under active development. For support or to report issues, s
|
|
|
46
48
|
$ sudo yum install xorg-x11-server-Xvfb
|
|
47
49
|
```
|
|
48
50
|
|
|
49
|
-
|
|
50
|
-
*
|
|
51
|
+
|
|
52
|
+
* Fluxbox Window Manager (only for Linux® based systems):
|
|
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
|
|
51
63
|
* [Browser Requirements](https://www.mathworks.com/support/requirements/browser-requirements.html)
|
|
52
64
|
* Supported Operating Systems:
|
|
53
65
|
* Linux®
|
|
@@ -64,7 +76,7 @@ python -m pip install matlab-proxy
|
|
|
64
76
|
```
|
|
65
77
|
|
|
66
78
|
### Building From Sources
|
|
67
|
-
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/).
|
|
68
80
|
|
|
69
81
|
```bash
|
|
70
82
|
git clone https://github.com/mathworks/matlab-proxy.git
|
|
@@ -84,7 +96,7 @@ which matlab-proxy-app
|
|
|
84
96
|
|
|
85
97
|
Once the `matlab-proxy` package is installed.
|
|
86
98
|
|
|
87
|
-
* Open a
|
|
99
|
+
* Open a terminal and start `matlab-proxy-app`. On Linux, the command would be
|
|
88
100
|
```bash
|
|
89
101
|
env MWI_BASE_URL="/matlab" matlab-proxy-app
|
|
90
102
|
```
|
|
@@ -126,12 +138,13 @@ The following options are available in the status panel (some options are only a
|
|
|
126
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.|
|
|
127
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.|
|
|
128
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.|
|
|
141
|
+
| Shut Down | Stop your MATLAB session and the `matlab-proxy` server.|
|
|
129
142
|
| Feedback | Provide feedback. Opens a new tab to create an issue on GitHub.|
|
|
130
143
|
| Help | Open a help pop-up for a detailed description of the options.|
|
|
131
144
|
|
|
132
145
|
## Examples
|
|
133
146
|
* For installing/usage in a Docker container, see this [Dockerfile](./examples/Dockerfile) and its [README](./examples/README.md).
|
|
134
|
-
* 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).
|
|
135
148
|
* For usage in a Jupyter environment, see [jupyter-matlab-proxy](https://github.com/mathworks/jupyter-matlab-proxy).
|
|
136
149
|
|
|
137
150
|
## Platform Support
|
|
@@ -163,14 +176,16 @@ $ pip install --upgrade matlab-proxy>=0.5.0
|
|
|
163
176
|
|
|
164
177
|
### Windows Subsystem for Linux (WSL 2)
|
|
165
178
|
|
|
166
|
-
To install `matlab-proxy` in WSL 2, follow the steps mentioned in the [Installation Guide for WSL 2](./
|
|
179
|
+
To install `matlab-proxy` in WSL 2, follow the steps mentioned in the [Installation Guide for WSL 2](./install_guides/wsl2/README.md).
|
|
167
180
|
|
|
168
181
|
## Using an already activated MATLAB with matlab-proxy
|
|
169
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.
|
|
170
183
|
|
|
171
184
|
## Limitations
|
|
172
|
-
This package supports the same
|
|
173
|
-
[
|
|
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.
|
|
174
189
|
|
|
175
190
|
## Security
|
|
176
191
|
We take your security concerns seriously, and will attempt to address all concerns.
|
|
@@ -187,6 +202,6 @@ If you encounter a technical issue or have an enhancement request, create an iss
|
|
|
187
202
|
|
|
188
203
|
---
|
|
189
204
|
|
|
190
|
-
Copyright 2020-
|
|
205
|
+
Copyright 2020-2025 The MathWorks, Inc.
|
|
191
206
|
|
|
192
207
|
---
|
|
@@ -5,18 +5,18 @@
|
|
|
5
5
|
],
|
|
6
6
|
"plugins": [
|
|
7
7
|
"react",
|
|
8
|
-
"
|
|
9
|
-
"
|
|
8
|
+
"testing-library",
|
|
9
|
+
"node"
|
|
10
10
|
],
|
|
11
11
|
"env": {
|
|
12
|
-
"
|
|
12
|
+
"vitest/globals": true,
|
|
13
13
|
"browser": true
|
|
14
14
|
},
|
|
15
15
|
"rules": {
|
|
16
16
|
"indent": ["error", 4, {"SwitchCase": 1}],
|
|
17
17
|
"semi": ["error", "always"],
|
|
18
18
|
"no-extra-semi": "error",
|
|
19
|
-
"quote-props": "
|
|
19
|
+
"quote-props": ["error", "as-needed"],
|
|
20
20
|
"dot-notation": "warn",
|
|
21
21
|
"object-curly-newline": "warn",
|
|
22
22
|
"multiline-ternary": "warn",
|
|
@@ -24,20 +24,20 @@
|
|
|
24
24
|
"no-prototype-builtins": "warn",
|
|
25
25
|
"array-callback-return": "warn",
|
|
26
26
|
"array-bracket-spacing": "warn",
|
|
27
|
-
"quotes": "warn",
|
|
27
|
+
"quotes": ["warn", "single"],
|
|
28
28
|
"lines-between-class-members": "warn",
|
|
29
29
|
"no-empty": "warn",
|
|
30
30
|
"prefer-regex-literals": "warn",
|
|
31
|
-
"
|
|
31
|
+
"node/no-callback-literal": "warn",
|
|
32
32
|
"no-useless-catch": "warn",
|
|
33
|
-
"
|
|
33
|
+
"node/handle-callback-err": "warn",
|
|
34
34
|
"no-case-declarations": "warn",
|
|
35
35
|
"computed-property-spacing": "warn",
|
|
36
36
|
"no-async-promise-executor": "warn",
|
|
37
|
-
"no-
|
|
38
|
-
"n/no-deprecated-api": "warn",
|
|
37
|
+
"node/no-deprecated-api": "warn",
|
|
39
38
|
"no-unreachable-loop": "warn",
|
|
40
|
-
"no-void": "warn"
|
|
39
|
+
"no-void": "warn",
|
|
40
|
+
"no-unused-vars": ["error", { "varsIgnorePattern": "React" }]
|
|
41
41
|
},
|
|
42
42
|
"ignorePatterns": ["build/**"],
|
|
43
43
|
"settings": {
|
|
@@ -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>
|