mat2py mean to be drop-in replacement of Matlab by wrapping Numpy/Scipy/... packages.
Project description
mat2py
For instance usage, try the Fake Matlab in Browser here. Please note:
- You might need quite long time to initilaize the console for the first time. Checkout the browser console or network traffic for progress.
- Only one line matlab expression supported, for example
[1; 2; 3]*[1 2 3]
. - Only few Matlab core functions supported for now.
The final goal is to create a serverless, Matlab compatiable console completely in end-users' browser.
First Steps
Installation
python3 -m pip install -U mat2py
or install with Poetry
poetry add mat2py
Install the translator mh_python
if needed
python3 -m pip install -U mh-python
Try the example demo_fft
# download the one already converted and formatted
wget https://raw.githubusercontent.com/mat2py/mat2py/main/tests/test_example/demo_fft.py
# or convert it yourself
echo "wget https://raw.githubusercontent.com/mat2py/miss_hit/matlab2numpy/tests/mat2np/demo_fft.m"
echo "mh_python --python-alongside --format demo_fft.m"
# run it...
python3 demo_fft.py
You can also try out the online translator by modifiy the example or put your own code.
For Developer
Initialize your code
- Clone
mat2py
:
git clone https://github.com/mat2py/mat2py
- If you don't have
Poetry
installed run:
make poetry-download
source ~/.poetry/env
- Initialize poetry and install
pre-commit
hooks:
make install
make pre-commit-install
- Run the lint to check:
make lint
ToDO
- A serverless web service for run
.m
/.py
code inside browser - Complete set of MATLAB® Basic Functions
- Copy-on-Write beheviour
- A cleaner class hierarchy
- Enable
lint
(mypy, UT, etc.)
📈 Releases
You can see the list of available releases on the GitHub Releases page.
We follow Semantic Versions specification.
We use Release Drafter
. As pull requests are merged, a draft release is kept up-to-date listing the changes, ready to publish when you’re ready. With the categories option, you can categorize pull requests in release notes using labels.
🛡 License
This project is licensed under the terms of the MIT
license. See LICENSE for more details.
📃 Citation
@misc{mat2py,
author = {mat2py},
title = {mat2py mean to be drop-in replacement of Matlab by wrapping Numpy/Scipy/... packages.},
year = {2021},
publisher = {GitHub},
journal = {GitHub repository},
howpublished = {\url{https://github.com/mat2py/mat2py}}
}
Credits
- This project was initially generated with
python-package-template
- The Matlab to Python translator
mh_python
is developed under fork of MISS HIT, a fantastic Matlab static analysis tool. - The serverless console is created based on Pyodide.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.