import js2py class BufferedStream: def __init__(self, callback): self._callback = callback def write(self, msg): self._callback(msg.encode("utf-8")) def transpile(filepath): with open(filepath) as fh: return js2py.eval_js(fh.read()) render = transpile("./views.js") def app(environ, start_response): write = start_response("200 OK", [("Content-Type", "text/html")]) stream = BufferedStream(write) view = render(stream) return ""