matlab-proxy


Namematlab-proxy JSON
Version 0.15.1 PyPI version JSON
download
home_pagehttps://github.com/mathworks/matlab-proxy/
SummaryPython® package enables you to launch MATLAB® and access it from a web browser.
upload_time2024-04-26 14:14:41
maintainerNone
docs_urlNone
authorThe MathWorks, Inc.
requires_python~=3.8
licenseMATHWORKS CLOUD REFERENCE ARCHITECTURE LICENSE
keywords proxy matlab proxy matlab matlab javascript desktop matlab web desktop remote matlab web access
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage
            # MATLAB Proxy
[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/mathworks/matlab-proxy/run-tests.yml?branch=main&logo=github)](https://github.com/mathworks/matlab-proxy/actions)   [![PyPI badge](https://img.shields.io/pypi/v/matlab-proxy.svg?logo=pypi)](https://pypi.python.org/pypi/matlab-proxy)    [![codecov](https://codecov.io/gh/mathworks/matlab-proxy/branch/main/graph/badge.svg?token=ZW3SESKCSS)](https://codecov.io/gh/mathworks/matlab-proxy)   [![Downloads](https://static.pepy.tech/personalized-badge/matlab-proxy?period=month&units=international_system&left_color=grey&right_color=blue&left_text=PyPI%20downloads/month)](https://pepy.tech/project/matlab-proxy)

----

`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 16 or higher. [Click here to install Node.js](https://nodejs.org/en/)

```bash
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/`
```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).
<p align="center">
  <img width="400" src="https://github.com/mathworks/matlab-proxy/raw/main/img/licensing_GUI.png">
</p>

* Wait for the MATLAB session to start. *This can take several minutes*.
<p align="center">
  <img width="800" src="https://github.com/mathworks/matlab-proxy/raw/main/img/MATLAB_Desktop.png">
</p>

* To manage the MATLAB session, click the tools icon shown below.
<p align="center">
  <img width="100" src="https://github.com/mathworks/matlab-proxy/raw/main/img/tools_icon.png">
</p>

* Clicking the tools icon opens a status panel with buttons like the ones below:
<p align="center">
  <img width="800" src="https://github.com/mathworks/matlab-proxy/raw/main/img/status_panel.png">
</p>

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](./installation/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-2024 The MathWorks, Inc.

---



            

Raw data

            {
    "_id": null,
    "home_page": "https://github.com/mathworks/matlab-proxy/",
    "name": "matlab-proxy",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "~=3.8",
    "maintainer_email": null,
    "keywords": "Proxy, MATLAB Proxy, MATLAB, MATLAB Javascript Desktop, MATLAB Web Desktop, Remote MATLAB Web Access",
    "author": "The MathWorks, Inc.",
    "author_email": "cloud@mathworks.com",
    "download_url": "https://files.pythonhosted.org/packages/10/e1/5697e76bcd92fe8c0ac2d5f6d6d862d8662f0d433fe00251341ec13c98f7/matlab-proxy-0.15.1.tar.gz",
    "platform": null,
    "description": "# MATLAB Proxy\n[![GitHub Workflow Status](https://img.shields.io/github/actions/workflow/status/mathworks/matlab-proxy/run-tests.yml?branch=main&logo=github)](https://github.com/mathworks/matlab-proxy/actions) &nbsp; [![PyPI badge](https://img.shields.io/pypi/v/matlab-proxy.svg?logo=pypi)](https://pypi.python.org/pypi/matlab-proxy) &nbsp;  [![codecov](https://codecov.io/gh/mathworks/matlab-proxy/branch/main/graph/badge.svg?token=ZW3SESKCSS)](https://codecov.io/gh/mathworks/matlab-proxy) &nbsp; [![Downloads](https://static.pepy.tech/personalized-badge/matlab-proxy?period=month&units=international_system&left_color=grey&right_color=blue&left_text=PyPI%20downloads/month)](https://pepy.tech/project/matlab-proxy)\n\n----\n\n`matlab-proxy` is a Python\u00ae package which enables you to launch MATLAB\u00ae and access it from a web browser.\n\nInstallation of this package creates an executable `matlab-proxy-app`, which launches MATLAB and provides a URL to access it. \n\nThe MATLAB Proxy is under active development. For support or to report issues, see the [Feedback](#feedback) section.\n\n----\n\n**Table of Contents**\n- [Requirements](#requirements)\n- [Installation](#installation)\n  - [PyPI](#pypi)\n  - [Building From Sources](#building-from-sources)\n- [Usage](#usage)\n- [Examples](#examples)\n- [Limitations](#limitations)\n- [Security](#security)\n- [Feedback](#feedback)\n\n## Requirements\n* MATLAB\u00ae R2020b or later is installed and on the system PATH.\n  ```bash\n  # Confirm MATLAB is on the PATH\n  which matlab\n  ```  \n* The dependencies required to run MATLAB.\n  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.\n\n* X Virtual Frame Buffer (Xvfb) : (only for Linux\u00ae based systems)\n\n  Install it on your linux machine using:\n  ```bash\n  # On a Debian/Ubuntu based system:\n  $ sudo apt install xvfb\n  ```\n  ```bash\n  # On a RHEL based system:\n  $ yum search Xvfb\n  xorg-x11-server-Xvfb.x86_64 : A X Windows System virtual framebuffer X server.\n\n  $ sudo yum install xorg-x11-server-Xvfb\n  ```\n\n  *Note: The installation of Xvfb is **optional** (w.e.f. v0.11.0 of matlab-proxy). However, we highly recommend installing it.*\n* Python versions: **3.8** | **3.9**  | **3.10** | **3.11**\n* [Browser Requirements](https://www.mathworks.com/support/requirements/browser-requirements.html)\n* Supported Operating Systems:\n    * Linux\u00ae\n    * Windows\u00ae Operating System ( starting v0.4.0 of matlab-proxy )\n    * MacOS (starting v0.5.0 of matlab-proxy )    \nSee [Platform Support](#platform-support) for more information \n\n## Installation\n\n### PyPI\nThis repository can be installed directly from the Python Package Index.\n```bash\npython -m pip install matlab-proxy\n```\n\n### Building From Sources\nBuilding from sources requires Node.js\u00ae version 16 or higher. [Click here to install Node.js](https://nodejs.org/en/)\n\n```bash\ngit clone https://github.com/mathworks/matlab-proxy.git\n\ncd matlab-proxy\n\npython -m pip install .\n```\n\nInstalling the package creates an executable called `matlab-proxy-app`, which is placed onto your system PATH by `pip`, usually in: `$HOME/.local/bin/`\n```bash\n# Confirm it is on the PATH\nwhich matlab-proxy-app\n```\n\n## Usage\n\nOnce the `matlab-proxy` package is installed.\n\n* Open a Linux terminal and launch the application with\n  ```bash\n  env MWI_BASE_URL=\"/matlab\" matlab-proxy-app\n  ```\n  `MWI_BASE_URL` is an environment variable which controls the link on which MATLAB can be accessed.\n  For a detailed listing of all environment variables. See [Advanced-Usage.md](./Advanced-Usage.md)\n\n  Running the above command will print text out on your terminal, which will contain the URL to access MATLAB. For example:\n  ```\n  Access MATLAB at \n  http://localhost:44549/matlab/index.html\n  ```\n\n* 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).\n<p align=\"center\">\n  <img width=\"400\" src=\"https://github.com/mathworks/matlab-proxy/raw/main/img/licensing_GUI.png\">\n</p>\n\n* Wait for the MATLAB session to start. *This can take several minutes*.\n<p align=\"center\">\n  <img width=\"800\" src=\"https://github.com/mathworks/matlab-proxy/raw/main/img/MATLAB_Desktop.png\">\n</p>\n\n* To manage the MATLAB session, click the tools icon shown below.\n<p align=\"center\">\n  <img width=\"100\" src=\"https://github.com/mathworks/matlab-proxy/raw/main/img/tools_icon.png\">\n</p>\n\n* Clicking the tools icon opens a status panel with buttons like the ones below:\n<p align=\"center\">\n  <img width=\"800\" src=\"https://github.com/mathworks/matlab-proxy/raw/main/img/status_panel.png\">\n</p>\n\nThe following options are available in the status panel (some options are only available in a specific context):\n\n| Option |  Description |\n| ---- | ---- |\n| Start MATLAB | Start your MATLAB session. Available if MATLAB is stopped.|\n| Restart MATLAB | Restart your MATLAB session. Available if MATLAB is running or starting.|\n| 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.|\n| Sign Out | Sign out of MATLAB session. Use this to stop MATLAB and sign in with an alternative account. Available if using online licensing.|\n| 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.|\n| Feedback | Provide feedback. Opens a new tab to create an issue on GitHub.|\n| Help | Open a help pop-up for a detailed description of the options.|\n\n## Examples\n* For installing/usage in a Docker container, see this [Dockerfile](./examples/Dockerfile) and its [README](./examples/README.md).\n* 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).*\n* For usage in a Jupyter environment, see [jupyter-matlab-proxy](https://github.com/mathworks/jupyter-matlab-proxy).\n\n## Platform Support\n\n### Linux\nThis package is fully supported for the Linux Operating System.\n\n### Windows\n\nWindows\u00ae Operating System support was introduced in package version `v0.4.0`.\nInstall the version >=0.4.0 to use the package on Windows.\n```bash\n# To upgrade an existing installation of matlab-proxy package:\n$ pip install --upgrade matlab-proxy>=0.4.0\n```\n\n### MacOS\n\nMacOS support was introduced in package version `v0.5.0`. \nIt works best for MATLAB versions newer than R2022b.\nNote: Figures *also* open in a separate windows on versions of MATLAB older than R2022b.\n\nInstall the version >=0.5.0 to use the package on MacOS.\n\n```bash\n# To upgrade an existing installation of matlab-proxy package:\n$ pip install --upgrade matlab-proxy>=0.5.0\n```\n\n### Windows Subsystem for Linux (WSL 2)\n\nTo install `matlab-proxy` in WSL 2, follow the steps mentioned in the [Installation Guide for WSL 2](./installation/wsl2/README.md).\n\n## Using an already activated MATLAB with matlab-proxy\n`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.\n\n## Limitations\nThis package supports the same subset of MATLAB features and commands as MATLAB\u00ae Online, except there is no support for Simulink\u00ae Online.\n[Click here for a full list of Specifications and Limitations for MATLAB Online](https://www.mathworks.com/products/matlab-online/limitations.html). \n\n## Security\nWe take your security concerns seriously, and will attempt to address all concerns.\n`matlab-proxy` uses several other python packages, and depend on them to fix their own vulnerabilities.\n\nAll security patches will be released as a new version of the package.\nPatches are never backported to older versions or releases of the package.\nUsing the latest version will provide the latest available security updates or patches.\n\n## Feedback\n\nWe encourage you to try this repository with your environment and provide feedback. \nIf you encounter a technical issue or have an enhancement request, create an issue [here](https://github.com/mathworks/matlab-proxy/issues)\n\n---\n\nCopyright 2020-2024 The MathWorks, Inc.\n\n---\n\n\n",
    "bugtrack_url": null,
    "license": "MATHWORKS CLOUD REFERENCE ARCHITECTURE LICENSE",
    "summary": "Python\u00ae package enables you to launch MATLAB\u00ae and access it from a web browser.",
    "version": "0.15.1",
    "project_urls": {
        "Homepage": "https://github.com/mathworks/matlab-proxy/"
    },
    "split_keywords": [
        "proxy",
        " matlab proxy",
        " matlab",
        " matlab javascript desktop",
        " matlab web desktop",
        " remote matlab web access"
    ],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "44f0bdb39c542109d18f2d737c6555331dd83a6240f2dee8045e7ad0c1a2ee75",
                "md5": "311a7251cad42308ea8dcbabaf5092f3",
                "sha256": "0c40cc77904b1b15681ddd4955ae21fa6dfe0b32175319133be0c199d29db1df"
            },
            "downloads": -1,
            "filename": "matlab_proxy-0.15.1-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "311a7251cad42308ea8dcbabaf5092f3",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "~=3.8",
            "size": 1224934,
            "upload_time": "2024-04-26T14:14:31",
            "upload_time_iso_8601": "2024-04-26T14:14:31.576164Z",
            "url": "https://files.pythonhosted.org/packages/44/f0/bdb39c542109d18f2d737c6555331dd83a6240f2dee8045e7ad0c1a2ee75/matlab_proxy-0.15.1-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "10e15697e76bcd92fe8c0ac2d5f6d6d862d8662f0d433fe00251341ec13c98f7",
                "md5": "2d39bc05d8bf80840a83d52a5f8f6a2e",
                "sha256": "249fefa646b4eb23cdafc7081c2cc252b7ca2e35646ca99a7c203242003ed6d6"
            },
            "downloads": -1,
            "filename": "matlab-proxy-0.15.1.tar.gz",
            "has_sig": false,
            "md5_digest": "2d39bc05d8bf80840a83d52a5f8f6a2e",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "~=3.8",
            "size": 1137147,
            "upload_time": "2024-04-26T14:14:41",
            "upload_time_iso_8601": "2024-04-26T14:14:41.046988Z",
            "url": "https://files.pythonhosted.org/packages/10/e1/5697e76bcd92fe8c0ac2d5f6d6d862d8662f0d433fe00251341ec13c98f7/matlab-proxy-0.15.1.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-04-26 14:14:41",
    "github": true,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "github_user": "mathworks",
    "github_project": "matlab-proxy",
    "travis_ci": false,
    "coveralls": true,
    "github_actions": true,
    "lcname": "matlab-proxy"
}
        
Elapsed time: 0.24910s