Metadata-Version: 2.4
Name: sym-lang
Version: 0.2.1
Summary: Sym - the polyglot host. Use any language's libraries from any language.
Author: Ric Kanjilal
License: MIT
Project-URL: Homepage, https://github.com/RicKanjilal/sym
Keywords: polyglot,interop,bridge,jvm,ffi
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# Sym

**Use any language's libraries from any language.**

Apache Lucene, Apache POI, React — from Python. numpy from Ruby. ggplot2 from Node.
Ten languages, every library ecosystem, one host. Nobody talks to anybody — everybody talks to Sym.

```python
import sym
# Apache Lucene — Java's search engine — from Python
lucene = sym.java.package("org.apache.lucene")
index  = lucene.store.ByteBuffersDirectory()
# ... index and search, in Python, powered by Java

# React server-rendering — from Python
React  = sym.js("react")
html   = sym.js("react-dom/server").renderToString(
             React.createElement("h1", None, "rendered by React, called from Python"))

# Excel via Apache POI, numpy, any library — same story
```
Live objects, not just data: construct a Java object from Python, call its methods,
pass it back. The object lives in the JVM; Python holds a handle. Same for every language.

## Install

The Python core is the engine; every other language ships a thin client that finds it.

    pip install sym-lang          # the core — gives you `import sym` and the `sym` CLI
    npm install symlang           # Node client
    cargo add sym-bridge          # Rust client
    composer require rickanjilal/sym   # PHP client
    gem install sym-lang          # Ruby client
    go get github.com/RicKanjilal/sym/clients/go       # Go
    # R:    remotes::install_github("RicKanjilal/sym", subdir="clients/r")
    # Java: JitPack  com.github.RicKanjilal:sym:v0.2.0

## THE MATRIX

Every language below can **consume** every library ecosystem below. 80/80 cells, tested in CI:
