Skip to content
Branch: master
Go to file

Latest commit


Failed to load latest commit information.
Latest commit message
Commit time

MATL Online

Build Status Coverage Status Code Climate Dependabot Status

This is a Python-based online interpreter for the MATL programming language, a golfing language based on MATLAB and Octave. A live version of this application is hosted at

The Stack

The core of the application is the lightweight Python web framework, Flask. Two-way communication between the JavaScript front-end and the application is handled by SocketIO. MATL code and input arguments are submitted to the server and celery assigns the task to one of many available worker processes. Each worker process uses the octave_kernel library to communicate with an underlying Octave instance to evaluate the provided code. All Octave output from the process (including text and graphics) is streamed in real-time back to the browser via SocketIO.

Technologies: jQuery, SocketIO, flask, flask-socketio, celery, octave_kernel, Octave

Running Locally

It's recommended that you run the application using virtualenv, so you'll want to create the virtualenv with the following:

virtualenv ./env

If you choose a different location for your virtualenv, you will want to set the VIRTUAL_ENV variable in the .env to reflect that.

Then you will want to install development dependencies into your virtualenv using pip:

./env/bin/pip install -r requirements/dev.txt

Then you can start the web and worker portions of the application using honcho

./env/bin/honcho start

You will then be able to access the application at http://localhost:5000.

Planned Future Improvements


We welcome contributions from any member of the user community. Free free to submit a pull request or open an issue with your contributions.


This software is licensed under the MIT License.

You can’t perform that action at this time.