An embeddable polyglot runtime for calling functions between multiple programming languages like Python, JavaScript, and C++.
MetaCall is an open-source polyglot runtime that allows developers to call functions, methods, or procedures between multiple programming languages within a single application. It solves the problem of language interoperability by enabling seamless communication across different language ecosystems, such as invoking Python code from JavaScript or integrating Rust modules with NodeJS.
Developers building polyglot applications, microservices, or systems that require integration between multiple programming languages, as well as teams looking to leverage existing codebases in different languages without rewriting them.
Developers choose MetaCall for its embeddable design, extensive language support, and ability to simplify complex polyglot architectures, reducing the overhead of maintaining language-specific bridges or APIs.
MetaCall: The ultimate polyglot programming experience.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Enables direct function calls between languages like Python and JavaScript with minimal code, as shown in the README example where a Python sum function is invoked from JavaScript.
Supports over a dozen languages from modern ones like Rust to legacy systems like Cobol, allowing integration of diverse codebases without rewriting.
Can be integrated as a library into existing applications, facilitating incremental adoption of polyglot features without full architectural overhauls.
Runs on multiple operating systems, ensuring broad deployment flexibility in varied environments, as indicated by its cross-platform design.
Cross-language calls incur serialization and deserialization costs, plus runtime layers, making it unsuitable for high-frequency or latency-critical operations.
Managing installations for multiple language runtimes via scripts like curl can be cumbersome, especially in containerized or CI/CD pipelines with strict controls.
As a niche tool, it has a smaller community and fewer third-party integrations compared to established solutions, which may affect long-term support and tooling.