{"id":19339355,"url":"https://github.com/juliamatlab/julia-matlab-shuttle","last_synced_at":"2026-03-02T10:32:29.512Z","repository":{"id":4187634,"uuid":"5305346","full_name":"juliamatlab/julia-matlab-shuttle","owner":"juliamatlab","description":"Matlab interface for calling Julia","archived":false,"fork":false,"pushed_at":"2015-05-05T16:09:18.000Z","size":117,"stargazers_count":30,"open_issues_count":4,"forks_count":14,"subscribers_count":8,"default_branch":"master","last_synced_at":"2026-01-14T13:41:33.735Z","etag":null,"topics":["julia-matlab","matlab-interface","mex","mex-files"],"latest_commit_sha":null,"homepage":null,"language":"Matlab","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/juliamatlab.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2012-08-05T17:12:07.000Z","updated_at":"2025-08-11T16:04:16.000Z","dependencies_parsed_at":"2022-09-25T07:55:46.065Z","dependency_job_id":null,"html_url":"https://github.com/juliamatlab/julia-matlab-shuttle","commit_stats":null,"previous_names":["timholy/julia-matlab"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/juliamatlab/julia-matlab-shuttle","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliamatlab%2Fjulia-matlab-shuttle","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliamatlab%2Fjulia-matlab-shuttle/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliamatlab%2Fjulia-matlab-shuttle/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliamatlab%2Fjulia-matlab-shuttle/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/juliamatlab","download_url":"https://codeload.github.com/juliamatlab/julia-matlab-shuttle/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/juliamatlab%2Fjulia-matlab-shuttle/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29998513,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-03-02T09:59:02.300Z","status":"ssl_error","status_checked_at":"2026-03-02T09:59:02.001Z","response_time":60,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["julia-matlab","matlab-interface","mex","mex-files"],"created_at":"2024-11-10T03:21:26.033Z","updated_at":"2026-03-02T10:32:29.471Z","avatar_url":"https://github.com/juliamatlab.png","language":"Matlab","funding_links":[],"categories":[],"sub_categories":[],"readme":"julia-matlab\n============\n\nThis is a Matlab interface for calling [Julia](http://julialang.org),\nan open-source language providing many features of a Matlab-like\nenvironment but offering many of the performance benefits of C. The\nprimary purpose of this Matlab-Julia connector is present a way to\nenhance performance in Matlab without the need for writing MEX files.\n\n## NEWS\n\nSince the author doesn't use this himself, this repository has not been maintained.\nIf you're interested in getting it working, you'll need to start from\na version of ZMQ that existed at the time this repository worked:\nhttps://github.com/timholy/ZMQancient.jl\n\nIt's also very likely that changes in julia will require additional updates.\n\nIf you're willing to put the work into it, you are free to take \"ownership\"\n(this is released under the MIT license).\n\n## Installation and configuration\n\nFirst, you need [ZeroMQ](http://www.zeromq.org) installed on your\nmachine.  ZeroMQ is an efficient cross-platform library (available for\nWindows, Mac, and Linux) used for the communicaton between Matlab and\nJulia.  It is assumed that this is installed as a system-wide library.\nOn (K)Ubuntu this can be installed simply using \"apt-get install\nlibzmq1\". At present, version 3 of ZeroMQ seems to be too buggy to\nuse, so you should make sure you're installing from the stable (2.x)\nbranch.\n\nSecond, from within Matlab navigate to the \"mex\" directory of this\nrepository and execute the ``make_mex`` script.  This will compile the\nnecessary MEX files.  You need a compiler on your system for this to\nwork.\n\nFinally, configure your communications with Julia by running the\n``julia_configure`` script.  This will allow you to define shortcuts\nfor both local Julia instances and instances running on remote\nservers.  Naturally, you also have to have Julia installed, on every\nmachine that you plan to use.\n\n## Using julia-matlab\n\nFor a local connection (which is the recommended way to start), you\ncan launch Julia from within Matlab using the ``juliastart`` command.\nAfter that, read the help for ``juliacall``, ``juliaparse``, and\n``juliasetvar``.  These are the three main commands that let you send\ndata to the Julia session, perform operations on it, and return the\nresults. Be aware that Julia will hold on to variables between calls,\nso you can set up fairly elaborate computations with repeated calls.\n\nFor a remote connection, you'll need to launch Julia on the remote\nmachine, and then run the ``zmq_server_julia`` function.  If you've\nchanged any of the default ports in the Matlab ``julia_configure``\nscript, make sure you set the right values.  For example, if you\nprefer to use port 5556, launch the server this way:\n\n```Julia\njulia\u003e load(\"zmq_server_julia.jl\")\n\njulia\u003e run_server(\"tcp://*:5556\")\n```\n\n## Errors\n\nErrors are typically reported back to the Matlab client. However, they\nare also mirrored on the command line of the Julia server. For that\nreason, if you have trouble you may prefer to launch Julia by hand\nrather than letting Matlab launch it for you.\n\nIf communications between Matlab and Julia get interrupted, an easy\nfix is often to kill the Julia instance and restart.\n\n## Limitations\n\nIt would be nice to allow CTRL-C to gracefully interrupt and recover\nthe Julia communication. However, at present this is not implemented.\n\nThe most important part of the communication is the serializer (in\n``juliaserialize.m``). This targets Julia's native\nserializer. However, be aware that this is probably not the best\nsolution, and there have been proposals to use a more standards-based\nserializer such as [Thrift](http://thrift.apache.org/) or the [IPython\nNotebook](http://ipython.org/ipython-doc/dev/interactive/htmlnotebook.html).\nIf you are thinking of using this repository as a model for targeting\nJulia from another language, you are advised to consider first working\nwith the Julia community to implement a more standards-based\nserializer.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliamatlab%2Fjulia-matlab-shuttle","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fjuliamatlab%2Fjulia-matlab-shuttle","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fjuliamatlab%2Fjulia-matlab-shuttle/lists"}