BUILD RECORD 11Open source2023—25

WSGIC + BridgeIO Ecosystem

A Python web framework and a family of cross-language bridges that let Python, JavaScript, and the browser call each other directly.

All work
CreatorCreator · framework design and cross-language runtime engineeringPublic framework experiments with working demos
ARCHITECTURE

TOOLING

01TOOLING
01 / OVERVIEW

What exists.

WSGIC is a Python web framework. BridgeIO is the runtime layer underneath: py_bridge, js_bridge, browser-bridge, PybridgeWeb, JsBridgeWeb, and ExpressPy let Python control JavaScript DOM, serve Express-style routes, and share objects across language boundaries. The ecosystem also includes es62py (an ES6-to-Python transpiler) and virtual-dom (direct Python control of the browser DOM).

02 / PROBLEM + CONSTRAINT

Where it resisted.

Python and JavaScript have different event loops, object models, and runtime lifecycles. Making them call each other without serialization overhead requires matching their execution contexts at the transport layer.

03 / INTERVENTION

What I changed.

Built paired client-server bridges for each language boundary: py_bridge for Node-to-Python, js_bridge for Python-to-Node, browser-bridge for browser-to-server, and combined surfaces like ExpressPy and virtual-dom.

DIFFICULT DECISION

The obvious implementation was not the product.

Make each bridge a small, focused library rather than one monolithic runtime, so each language pair can be used independently.

Current proof

04
  1. ExpressPy serves Express.js-style routes from Python using py_bridge and js_bridge.
  2. virtual-dom controls browser DOM directly from Python.
  3. es62py transpiles ECMAScript 6 syntax to Python equivalents.
  4. wsgic ships auth, API, and admin modules.
LESSONS

What this build changed.

Cross-language instinct starts with understanding what each runtime does well and building the thinnest possible bridge between them.

BUILD MATERIALS

The implementation surface.

01Python02JavaScript03Node.js04WebSocket05WSGI
Next build recordSocially