https://github.com/mathworks/matlab-proxy
Python® package enables you to open a MATLAB® desktop in a web browser tab.
https://github.com/mathworks/matlab-proxy
Last synced: 3 months ago
JSON representation
Python® package enables you to open a MATLAB® desktop in a web browser tab.
- Host: GitHub
- URL: https://github.com/mathworks/matlab-proxy
- Owner: mathworks
- License: other
- Created: 2021-11-30T07:50:35.000Z (over 3 years ago)
- Default Branch: main
- Last Pushed: 2024-12-20T01:27:22.000Z (6 months ago)
- Last Synced: 2025-02-03T17:49:54.957Z (5 months ago)
- Language: Python
- Size: 4.88 MB
- Stars: 52
- Watchers: 14
- Forks: 23
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# MATLAB Proxy
[](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)----
`matlab-proxy` is a Python® package which enables you to launch MATLAB® and access it from a web browser.
Installation of this package creates an executable `matlab-proxy-app`, which launches MATLAB and provides a URL to access it.
The MATLAB Proxy is under active development. For support or to report issues, see the [Feedback](#feedback) section.----
**Table of Contents**
- [Requirements](#requirements)
- [Installation](#installation)
- [PyPI](#pypi)
- [Building From Sources](#building-from-sources)
- [Usage](#usage)
- [Examples](#examples)
- [Limitations](#limitations)
- [Security](#security)
- [Feedback](#feedback)## Requirements
* MATLAB® R2020b or later is installed and on the system PATH.
```bash
# Confirm MATLAB is on the PATH
which matlab
```
* The dependencies required to run MATLAB.
Refer to the Dockerfiles in the [matlab-deps](https://github.com/mathworks-ref-arch/container-images/tree/master/matlab-deps) repository for the desired version of MATLAB.
* X Virtual Frame Buffer (Xvfb) : (only for Linux® based systems)Install it on your linux machine using:
```bash
# On a Debian/Ubuntu based system:
$ sudo apt install xvfb
```
```bash
# On a RHEL based system:
$ yum search Xvfb
xorg-x11-server-Xvfb.x86_64 : A X Windows System virtual framebuffer X server.$ sudo yum install xorg-x11-server-Xvfb
```
*Note: The installation of Xvfb is **optional** (w.e.f. v0.11.0 of matlab-proxy). However, we highly recommend installing it.*
* Python versions: **3.8** | **3.9** | **3.10** | **3.11**
* [Browser Requirements](https://www.mathworks.com/support/requirements/browser-requirements.html)
* Supported Operating Systems:
* Linux®
* Windows® Operating System ( starting v0.4.0 of matlab-proxy )
* MacOS (starting v0.5.0 of matlab-proxy )
See [Platform Support](#platform-support) for more information## Installation
### PyPI
This repository can be installed directly from the Python Package Index.
```bash
python -m pip install matlab-proxy
```### Building From Sources
Building from sources requires Node.js® version 18 or higher. [Click here to install Node.js](https://nodejs.org/en/)```bash
git clone https://github.com/mathworks/matlab-proxy.gitcd matlab-proxy
python -m pip install .
```Installing the package creates an executable called `matlab-proxy-app`, which is placed onto your system PATH by `pip`, usually in: `$HOME/.local/bin/`
```bash
# Confirm it is on the PATH
which matlab-proxy-app
```## Usage
Once the `matlab-proxy` package is installed.
* Open a Linux terminal and launch the application with
```bash
env MWI_BASE_URL="/matlab" matlab-proxy-app
```
`MWI_BASE_URL` is an environment variable which controls the link on which MATLAB can be accessed.
For a detailed listing of all environment variables. See [Advanced-Usage.md](./Advanced-Usage.md)Running the above command will print text out on your terminal, which will contain the URL to access MATLAB. For example:
```
Access MATLAB at
http://localhost:44549/matlab/index.html
```* 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).
![]()
* Wait for the MATLAB session to start. *This can take several minutes*.
![]()
* To manage the MATLAB session, click the tools icon shown below.
![]()
* Clicking the tools icon opens a status panel with buttons like the ones below:
![]()
The following options are available in the status panel (some options are only available in a specific context):
| Option | Description |
| ---- | ---- |
| Start MATLAB | Start your MATLAB session. Available if MATLAB is stopped.|
| Restart MATLAB | Restart your MATLAB session. Available if MATLAB is running or starting.|
| 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.|
| Sign Out | Sign out of MATLAB session. Use this to stop MATLAB and sign in with an alternative account. Available if using online licensing.|
| 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.|
| Feedback | Provide feedback. Opens a new tab to create an issue on GitHub.|
| Help | Open a help pop-up for a detailed description of the options.|## Examples
* For installing/usage in a Docker container, see this [Dockerfile](./examples/Dockerfile) and its [README](./examples/README.md).
* 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).*
* For usage in a Jupyter environment, see [jupyter-matlab-proxy](https://github.com/mathworks/jupyter-matlab-proxy).## Platform Support
### Linux
This package is fully supported for the Linux Operating System.### Windows
Windows® Operating System support was introduced in package version `v0.4.0`.
Install the version >=0.4.0 to use the package on Windows.
```bash
# To upgrade an existing installation of matlab-proxy package:
$ pip install --upgrade matlab-proxy>=0.4.0
```### MacOS
MacOS support was introduced in package version `v0.5.0`.
It works best for MATLAB versions newer than R2022b.
Note: Figures *also* open in a separate windows on versions of MATLAB older than R2022b.Install the version >=0.5.0 to use the package on MacOS.
```bash
# To upgrade an existing installation of matlab-proxy package:
$ pip install --upgrade matlab-proxy>=0.5.0
```### Windows Subsystem for Linux (WSL 2)
To install `matlab-proxy` in WSL 2, follow the steps mentioned in the [Installation Guide for WSL 2](./install_guides/wsl2/README.md).
## Using an already activated MATLAB with matlab-proxy
`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.## Limitations
This package supports the same subset of MATLAB features and commands as MATLAB® Online, except there is no support for Simulink® Online.
[Click here for a full list of Specifications and Limitations for MATLAB Online](https://www.mathworks.com/products/matlab-online/limitations.html).## Security
We take your security concerns seriously, and will attempt to address all concerns.
`matlab-proxy` uses several other python packages, and depend on them to fix their own vulnerabilities.All security patches will be released as a new version of the package.
Patches are never backported to older versions or releases of the package.
Using the latest version will provide the latest available security updates or patches.## Feedback
We encourage you to try this repository with your environment and provide feedback.
If you encounter a technical issue or have an enhancement request, create an issue [here](https://github.com/mathworks/matlab-proxy/issues)---
Copyright 2020-2025 The MathWorks, Inc.
---