Skip to main content

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.

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:

Metadata

Release files for sym-lang 0.2.1

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for sym-lang 0.2.1
File Size Uploaded
sym_lang-0.2.1.tar.gz 123.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for sym-lang 0.2.1
File Interpreter ABI Platform
sym_lang-0.2.1-py3-none-any.whl Python 3 none any Details

Total release size: 272.0 kB

Release files / sym_lang-0.2.1.tar.gz

Download URL sym_lang-0.2.1.tar.gz
Size 123.5 kB
Tags Source
SHA-256 checksum
How to use checksums
fa843812e4359a4223c8513cb9ec2c96565a94cd9737b9de27b505464409a7c5
BLAKE2b-256 checksum
How to use checksums
60878b9707d1afa53035a0cd28794b8d9d7c81622223308bc24bef8ff26cdc48
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release files / sym_lang-0.2.1-py3-none-any.whl

Download URL sym_lang-0.2.1-py3-none-any.whl
Size 148.5 kB
Tags Python 3
SHA-256 checksum
How to use checksums
6480f673ea7fd7849d9603581bff5e70b3495fc213c1ce450b88cb92cbbd72d5
BLAKE2b-256 checksum
How to use checksums
3c376545275a8e1bf95f9bdd9eb47dea88970868ef20acbaf408563ebaa81c90
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/6.2.0 CPython/3.12.3

Release history Release notifications | RSS feed

0.2.2

2 release files

This release

0.2.1 This release

2 release files

0.2.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page