Skip to content

Latest commit

 

History

History
192 lines (144 loc) · 8.44 KB

README.md

File metadata and controls

192 lines (144 loc) · 8.44 KB

MATLAB Proxy

GitHub Workflow Status   PyPI badge   codecov   Downloads


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 section.


Table of Contents

Requirements

  • MATLAB® R2020b or later is installed and on the system PATH.

    # Confirm MATLAB is on the PATH
    which matlab
  • The dependencies required to run MATLAB. Refer to the Dockerfiles in the 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:

    # On a Debian/Ubuntu based system:
    $ sudo apt install xvfb
    # 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

  • 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 for more information

Installation

PyPI

This repository can be installed directly from the Python Package Index.

python -m pip install matlab-proxy

Building From Sources

Building from sources requires Node.js® version 16 or higher. Click here to install Node.js

git clone https://github.com/mathworks/matlab-proxy.git

cd 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/

# 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

    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

    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.

  • 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

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.

# 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.

# 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.

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.

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


Copyright 2020-2024 The MathWorks, Inc.