{"id":30855300,"url":"https://github.com/runmat-org/runmat","last_synced_at":"2025-09-07T11:04:56.952Z","repository":{"id":309091166,"uuid":"1027423503","full_name":"runmat-org/runmat","owner":"runmat-org","description":"The Fast, Free, Modern MATLAB / Octave code runtime. Run existing MATLAB/Octave code with full language grammar and core semantics. No license fees, no lock-in.","archived":false,"fork":false,"pushed_at":"2025-08-27T02:00:52.000Z","size":1908,"stargazers_count":25,"open_issues_count":3,"forks_count":1,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-08-27T10:47:37.785Z","etag":null,"topics":["compiler","jit-compiler","jupyter","linear-algebra","mathematics","matlab","numerical-analysis","octave","plotting","python","r","rust","scientific-computing"],"latest_commit_sha":null,"homepage":"https://runmat.org","language":"Rust","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/runmat-org.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,"governance":null,"roadmap":"docs/ROADMAP.md","authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2025-07-28T01:44:13.000Z","updated_at":"2025-08-27T02:00:55.000Z","dependencies_parsed_at":"2025-08-27T04:22:31.708Z","dependency_job_id":"e04d59de-5fb6-4411-b660-92dce31124c3","html_url":"https://github.com/runmat-org/runmat","commit_stats":null,"previous_names":["runmat-org/runmat"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/runmat-org/runmat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runmat-org%2Frunmat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runmat-org%2Frunmat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runmat-org%2Frunmat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runmat-org%2Frunmat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/runmat-org","download_url":"https://codeload.github.com/runmat-org/runmat/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/runmat-org%2Frunmat/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":274026718,"owners_count":25209740,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","status":"online","status_checked_at":"2025-09-07T02:00:09.463Z","response_time":67,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"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":["compiler","jit-compiler","jupyter","linear-algebra","mathematics","matlab","numerical-analysis","octave","plotting","python","r","rust","scientific-computing"],"created_at":"2025-09-07T11:04:33.906Z","updated_at":"2025-09-07T11:04:56.944Z","avatar_url":"https://github.com/runmat-org.png","language":"Rust","readme":"# 🚀 RunMat: Modern Free MATLAB Compatible Runtime\n### A blazing-fast, open-source MATLAB/Octave runtime, by the creators of [Dystr](https://dystr.com)\n\n[![Build Status](https://img.shields.io/github/actions/workflow/status/runmat-org/runmat/ci.yml?branch=main)](https://github.com/runmat-org/runmat/actions)\n[![License](https://img.shields.io/badge/license-MIT%20with%20Attribution-blue.svg)](LICENSE.md)\n[![Crates.io](https://img.shields.io/crates/v/runmat.svg)](https://crates.io/crates/runmat)\n[![Downloads](https://img.shields.io/crates/d/runmat.svg)](https://crates.io/crates/runmat)\n\n**[🌐 Website](https://runmat.org) • [📖 Documentation](https://runmat.org/docs)**\n\n---\n\n## What is RunMat?\n\nRunMat is a **modern, high-performance runtime** for MATLAB® and GNU Octave code that eliminates license fees, vendor lock-in, and performance bottlenecks. Built from the ground up in Rust with a **V8-inspired architecture**, it delivers:\n\n- 🚀 **150-180x faster execution** than Octave through JIT compilation\n- ⚡ **Instant startup** (5ms vs 900ms+ in Octave) via advanced snapshotting\n- 🎨 **GPU-accelerated plotting** that's beautiful and responsive\n- 📊 **Native Jupyter support** with rich interactive widgets\n- 🛡️ **Memory safety** and **zero crashes** guaranteed by Rust\n- 💰 **$0 licensing costs** - completely free and open source\n\n## 📊 Performance Benchmarks\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003cth\u003eBenchmark\u003c/th\u003e\n\u003cth\u003eGNU Octave 9.4\u003c/th\u003e\n\u003cth\u003eRunMat (JIT)\u003c/th\u003e\n\u003cth\u003eSpeedup\u003c/th\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eStartup time (cold)\u003c/td\u003e\n\u003ctd\u003e915ms\u003c/td\u003e\n\u003ctd\u003e5ms\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003e183x faster\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMatrix operations\u003c/td\u003e\n\u003ctd\u003e822ms\u003c/td\u003e\n\u003ctd\u003e5ms\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003e164x faster\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eMathematical functions\u003c/td\u003e\n\u003ctd\u003e868ms\u003c/td\u003e\n\u003ctd\u003e5ms\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003e163x faster\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd\u003eControl flow (loops)\u003c/td\u003e\n\u003ctd\u003e876ms\u003c/td\u003e\n\u003ctd\u003e6ms\u003c/td\u003e\n\u003ctd\u003e\u003cstrong\u003e155x faster\u003c/strong\u003e\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n*Benchmarks run on Apple M2 Max with BLAS/LAPACK optimization. See [benchmarks/](benchmarks/) for reproducible test scripts and detailed results.*\n\n---\n\n### Why Engineers and Scientists Love RunMat\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"50%\"\u003e\n\n**🔬 For Researchers \u0026 Academics**\n- Run existing MATLAB scripts without expensive licenses\n- Reproducible science with open-source tools\n- Fast iteration cycles for algorithm development\n- Publication-quality plots that render beautifully\n\n\u003c/td\u003e\n\u003ctd width=\"50%\"\u003e\n\n**⚙️ For Engineers \u0026 Industry**\n- Embed scientific computing in production systems\n- No vendor lock-in or licensing audits\n- Deploy to cloud/containers without restrictions\n- Modern CI/CD integration out of the box\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n## 🎯 Quick Start\n\n### Installation\n\n```bash\n# Quick install (Linux/macOS)\ncurl -fsSL https://runmat.org/install.sh | sh\n\n# Quick install (Windows PowerShell)\niwr https://runmat.org/install.ps1 | iex\n\n# Or install from crates.io\ncargo install runmat --features gui\n\n# Or build from source\ngit clone https://github.com/runmat-org/runmat.git\ncd runmat \u0026\u0026 cargo build --release --features gui\n```\n\n#### Linux prerequisite\n\nFor BLAS/LAPACK acceleration on Linux, install the system OpenBLAS package before building:\n\n```bash\nsudo apt-get update \u0026\u0026 sudo apt-get install -y libopenblas-dev\n```\n\n### Run Your First Script\n\n```bash\n# Start the interactive REPL\nrunmat\n\n# Or run an existing .m file\nrunmat script.m\n\n# Or pipe a script into RunMat\necho \"a = 10; b = 20; c = a + b\" | runmat\n```\n\n### Jupyter Integration\n\n```bash\n# Register RunMat as a Jupyter kernel\nrunmat --install-kernel\n\n# Launch JupyterLab with RunMat support\njupyter lab\n```\n\n## 🌟 See It In Action\n\n### MATLAB Compatibility\n```matlab\n% Your existing MATLAB code just works\nA = [1 2 3; 4 5 6; 7 8 9];\nB = A' * A;\neigenvals = eig(B);\nplot(eigenvals);\n```\n\n### Performance That Scales\n```matlab\n% Matrix operations that fly - 150x+ faster than Octave\nn = 1000;\nA = randn(n, n);\nB = randn(n, n);\ntic; C = A * B; toc  % Executes in ~5ms vs 800ms+ in Octave\n```\n\n### Beautiful, Interactive Plotting (experimental)\n```matlab\n% Create a stunning 3D surface plot\n[X, Y] = meshgrid(-2:0.1:2, -2:0.1:2);\nZ = X .* exp(-X.^2 - Y.^2);\nsurf(X, Y, Z);\n```\n\n## 🏗️ Architecture: V8-Inspired Performance\n\nRunMat's **tiered execution engine** delivers both fast startup and blazing runtime performance.\n\n### Key Components\n\n| Component | Purpose | Technology |\n|-----------|---------|------------|\n| **🎯 runmat-ignition** | Baseline interpreter for instant startup | HIR-to-bytecode compiler + stack-based interpreter |\n| **⚡ runmat-turbine** | Optimizing JIT compiler for hot code | Cranelift backend |\n| **🧠 runmat-gc** | High-performance memory management | Generational GC with pointer compression |\n| **🎨 runmat-plot** | Interactive plotting engine | GPU-accelerated via wgpu |\n| **📦 runmat-snapshot** | Fast startup system | Binary blob serialization |\n| **🔧 runmat-runtime** | 50+ builtin functions | BLAS/LAPACK integration |\n\n## 🎨 Modern Developer Experience\n\n### Rich REPL with Intelligent Features\n```bash\nrunmat\u003e .info\n🦀 RunMat v0.1.0 - High-Performance MATLAB Runtime\n⚡ JIT: Cranelift (optimization: speed)\n🧠 GC: Generational (heap: 45MB, collections: 12)\n🎨 Plotting: GPU-accelerated (wgpu)\n📊 Functions loaded: 52 builtins + 0 user-defined\n```\n\n### First-Class Jupyter Support\n- Rich output formatting with LaTeX math rendering\n- Interactive widgets for parameter exploration  \n- Seamless plotting integration\n- Full debugging support with breakpoints\n\n### Extensible Architecture\n```rust\n// Adding a new builtin function is trivial\n#[runtime_builtin(\"myfunction\")]\nfn my_custom_function(x: f64, y: f64) -\u003e f64 {\n    x.powf(y) + x.sin()\n}\n```\n\n## 🌍 Who Uses RunMat?\n\n\u003cdiv align=\"center\"\u003e\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\u003cstrong\u003e🎓 Universities\u003c/strong\u003e\u003cbr/\u003e\nTeaching numerical methods\u003cbr/\u003ewithout license fees\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\u003cstrong\u003e🔬 Research Labs\u003c/strong\u003e\u003cbr/\u003e\nReproducible science with\u003cbr/\u003eopen-source tools\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\u003cstrong\u003e🏭 Engineering Teams\u003c/strong\u003e\u003cbr/\u003e\nEmbedded scientific computing\u003cbr/\u003ein production systems\n\u003c/td\u003e\n\u003ctd align=\"center\" width=\"25%\"\u003e\n\u003cstrong\u003e🚀 Startups\u003c/strong\u003e\u003cbr/\u003e\nRapid prototyping without\u003cbr/\u003eexpensive toolchain costs\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\u003c/div\u003e\n\n## 🤝 Join the Revolution\n\nRunMat is more than just software—it's a movement toward **open, fast, and accessible scientific computing**. We're building the future of numerical programming, and we need your help.\n\n### 🛠️ How to Contribute\n\n\u003ctable\u003e\n\u003ctr\u003e\n\u003ctd width=\"33%\"\u003e\n\n**🚀 For Rust Developers**\n- Implement new builtin functions\n- Optimize the JIT compiler  \n- Enhance the garbage collector\n- Build developer tooling\n\n[**Contribute Code →**](CONTRIBUTING.md)\n\n\u003c/td\u003e\n\u003ctd width=\"33%\"\u003e\n\n**🔬 For Domain Experts**\n- Add mathematical functions\n- Improve MATLAB compatibility\n- Write comprehensive tests\n- Create benchmarks\n\n[**Join Discussions →**](https://github.com/runmat-org/runmat/discussions)\n\n\u003c/td\u003e\n\u003ctd width=\"33%\"\u003e\n\n**📚 For Everyone Else**\n- Report bugs and feature requests\n- Improve documentation\n- Create tutorials and examples\n- Spread the word\n\n[**Get Started →**](https://github.com/runmat-org/runmat/issues/labels/good-first-issue)\n\n\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/table\u003e\n\n### 💬 Connect With Us\n\n- **GitHub Discussions**: [Share ideas and get help](https://github.com/runmat-org/runmat/discussions)  \n- **Twitter**: [@dystr_ai](https://x.com/dystr_ai) for updates and announcements\n- **Newsletter**: [Subscribe](https://runmat.org/newsletter) for monthly updates\n\n## 📜 License\n\nRunMat is licensed under the **MIT License with Attribution Requirements**. This means:\n\n✅ **Free for everyone** - individuals, academics, most companies  \n✅ **Open source forever** - no vendor lock-in or license fees  \n✅ **Commercial use allowed** - embed in your products freely  \n⚠️ **Attribution required** - credit \"RunMat by Dystr\" in public distributions  \n⚠️ **Special provisions** - large scientific software companies must keep modifications open source  \n\nSee [LICENSE.md](LICENSE.md) for complete terms or visit [runmat.org/license](https://runmat.org/license) for FAQs.\n\n---\n\n**Built with ❤️ by [Dystr Inc.](https://dystr.com) and the RunMat community**\n\n⭐ **Star us on GitHub** if RunMat helps your work!\n\n[**🚀 Get Started**](https://runmat.org/docs/getting-started) • [**🐦 Follow @dystr**](https://x.com/dystr_ai)\n\n---\n\n*MATLAB® is a registered trademark of The MathWorks, Inc. RunMat is not affiliated with, endorsed by, or sponsored by The MathWorks, Inc.*","funding_links":[],"categories":["Rust","Tools","The Data Science Toolbox","Software"],"sub_categories":["Data Visualization","Miscellaneous Tools","Trends"],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frunmat-org%2Frunmat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frunmat-org%2Frunmat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frunmat-org%2Frunmat/lists"}