Polyglot migration and universal execution runtime
Capture program state in one language, encode it as language-neutral IR, restore or migrate it in another.
Parallax is a Rust workspace for honest polyglot tooling: process-isolated Python and JavaScript workers, deterministic .plx snapshots, semantic-loss analysis, whole-project Transmute migration, continuous Mirror sync, Atlas stack detection, and Event Horizon for migrations that look impossible.
Tier-1 today: TypeScript/JavaScript → Rust project migration (examples/weather-api). Python ↔ JavaScript value migration is production-quality for bindings capture/restore. Other stacks are detected, mapped, and planned with explicit maturity — not silent fakes.
| Surface | Status |
|---|---|
| Transmute | TS/JS → Rust codegen path; --require-build --require-tests |
| Mirror | Linked sync + plx sync --check CI gate |
| Continuum | Same-runtime checkpoint capture (not arbitrary stack migration) |
| Atlas | 120+ built-in stack adapters; plx analyze |
| Connectors | 60+ language catalog; Ruby/PHP/Go workers experimental |
| Event Horizon | Dynamic/reflection debt; plx impossible |
- Rust 1.75+ (rustup)
- Node.js 18+ and Python 3.10+ for runtime adapters
- Windows: disable Microsoft Store Python alias or install from python.org
git clone https://github.com/theworker02/Parallax.git
cd parallax
cargo build -p parallax-cli --release
export PATH="$PWD/target/release:$PATH" # optional
plx doctor# Value migration (Python ↔ JavaScript)
plx migrate examples/demo.py --to javascript -o /tmp/out.js
# Project migration (TypeScript → Rust)
plx migrate examples/weather-api --to rust -o examples/weather-api-rust --require-build --require-tests
# Stack detection
plx analyze examples/stacks/nest-prisma --to rust
plx analyze examples/weather-api --to rust
# Continuous sync
plx link examples/weather-api examples/weather-api-rust
plx sync --check
# Impossible migration analysis
plx observe examples/hostile-dynamic
plx impossible examples/hostile-dynamic --to rustGlobal flags: --json, --verbose, --trace. Full reference: CLI docs.
flowchart TB
CLI[plx CLI] --> RT[RuntimeManager]
RT --> PY[Python worker]
RT --> JS[Node worker]
RT --> WASM[wasmtime]
CLI --> TM[Transmute]
TM --> AT[Atlas detect]
TM --> PUIR[PUIR / ProjectGraph]
CLI --> MR[Mirror sync]
CLI --> HZ[Event Horizon]
RT --> PIR[PIR values]
crates/ 22 Rust workspace members (Event Horizon = one crate)
├── parallax-cli plx / parallax binaries
├── parallax-runtime adapter orchestration + workers
├── parallax-transmute project migration engine
├── parallax-mirror linked sync + semantic diff
├── parallax-atlas 120+ stack adapters + analyze
├── parallax-horizon impossible migration analysis
├── parallax-connectors 60+ language catalog
└── parallax-ir … PIR, PUIR, UES, protocol, snapshot
adapters/ embedded Python/JS/Ruby/PHP/Go workers
docs/ mdBook → GitHub Pages
examples/ demos, weather-api, stack fixtures
Deep dive: Architecture · Atlas index · Transmute · Mirror · Horizon
All workspace crates are v0.1.0. All workspace crates are published on crates.io at v0.1.0 (install with cargo install parallax-cli for the plx CLI).
| Crate | crates.io | docs.rs |
|---|---|---|
| parallax-core | core types, errors, versioning | docs |
| parallax-adapter-sdk | Atlas adapter contracts | docs |
| parallax-diagnostics | tracing and diagnostics | docs |
| parallax-ir | PIR value IR | docs |
| parallax-pcir | Continuation IR | docs |
| parallax-puir | Universal Program IR | docs |
| parallax-security | limits and sandbox policy | docs |
| parallax-project | project graph | docs |
| parallax-protocol | worker NDJSON protocol | docs |
| parallax-snapshot | .plx snapshots |
docs |
| parallax-ues | Universal Execution State | docs |
| parallax-migrate | migration contracts | docs |
| parallax-runtime | adapter orchestration | docs |
| parallax-transmute | project migration engine | docs |
| parallax-adapter-js | Node.js worker adapter | docs |
| parallax-adapter-python | Python worker adapter | docs |
| parallax-adapter-wasm | WASM adapter | docs |
| parallax-connectors | 60+ language catalog | docs |
| parallax-atlas | stack detection & adapters | docs |
| parallax-mirror | linked sync & semantic diff | docs |
| parallax-horizon | Event Horizon analysis | docs |
| parallax-cli | plx / parallax CLI |
docs |
Install the CLI once published:
cargo install parallax-cli| Path | Purpose |
|---|---|
examples/demo.py / demo.js |
Python ↔ JS value migration |
examples/weather-api |
Transmute + Mirror reference (TS → Rust) |
examples/stacks/nest-prisma |
Atlas: NestJS + Prisma detection |
examples/stacks/fastapi-sqlalchemy |
Atlas: FastAPI + SQLAlchemy + Ruff |
examples/stacks/tauri-desktop |
Atlas: Tauri desktop shell |
examples/hostile-dynamic |
Event Horizon dynamic/reflection fixture |
examples/custom-adapter |
Third-party Atlas adapter stub |
| Resource | Link |
|---|---|
| Site | https://parallax-runtime.github.io/parallax/ |
| Local preview | cd docs && mdbook serve --open |
| Changelog | CHANGELOG.md |
| Contributing | CONTRIBUTING.md |
| Security | SECURITY.md |
cargo fmt --all
cargo clippy --workspace --all-targets -- -D warnings
cargo test -p parallax-atlas -p parallax-horizon
cargo build -p parallax-cli
cd docs && mdbook build| Workflow | Purpose |
|---|---|
ci.yml |
fmt, clippy, cross-platform test, mdBook, stack analyze, mirror gate |
pages.yml |
Deploy docs |
release.yml |
Release archives on v* tags |
Parallax reports Unsupported instead of pretending lossy or unimplemented paths succeeded. Non–Tier-1 language pairs may detect and plan but will not claim full codegen. See Limitations.
Licensed under the Apache License, Version 2.0.
