<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>WebAssembly on SoloSoft</title><link>https://www.solosoft.dev/tags/webassembly/</link><description>Recent content in WebAssembly on SoloSoft</description><generator>Hugo</generator><language>en-us</language><lastBuildDate>Fri, 01 May 2026 00:00:00 +0000</lastBuildDate><atom:link href="https://www.solosoft.dev/tags/webassembly/index.xml" rel="self" type="application/rss+xml"/><item><title>JupyterLite: JupyterLab Running Entirely in the Browser</title><link>https://www.solosoft.dev/post/jupyterlite-2026/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://www.solosoft.dev/post/jupyterlite-2026/</guid><description>&lt;p&gt;The Jupyter ecosystem has transformed how scientists, data analysts, and educators work with code, but it has always required a running server. &lt;strong&gt;JupyterLite&lt;/strong&gt; (jupyterlite/jupyterlite on GitHub) eliminates that requirement entirely by bringing JupyterLab into the browser through WebAssembly, enabling interactive computing with no server, no installation, and no cloud dependency.&lt;/p&gt;
&lt;p&gt;Developed by the Jupyter community with significant contributions from the core Jupyter team, JupyterLite represents a fundamental rethinking of what a computational notebook environment can be. The entire application &amp;ndash; including the Python interpreter, notebook interface, file system, and package manager &amp;ndash; runs as a static web application using Pyodide, which compiles CPython to WebAssembly for in-browser execution.&lt;/p&gt;</description></item><item><title>Pyodide: Run Python in the Browser with WebAssembly</title><link>https://www.solosoft.dev/post/pyodide-wasm-2026/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://www.solosoft.dev/post/pyodide-wasm-2026/</guid><description>&lt;p&gt;What if you could run Python in the browser with full access to NumPy, pandas, scikit-learn, and matplotlib, without any server backend? That is exactly what Pyodide delivers. It ports CPython to WebAssembly, making the full Python scientific computing stack available directly in the browser.&lt;/p&gt;
&lt;p&gt;Pyodide is a transformative technology for data science education, interactive documentation, and browser-based computation. Users can analyze data, train models, and visualize results entirely client-side. No servers to provision, no Python runtime to install, and no data leaves the user&amp;rsquo;s computer.&lt;/p&gt;
&lt;h2 id="what-pyodide-includes"&gt;What Pyodide Includes&lt;/h2&gt;
&lt;table&gt;
 &lt;thead&gt;
 &lt;tr&gt;
 &lt;th&gt;Package&lt;/th&gt;
 &lt;th&gt;Description&lt;/th&gt;
 &lt;th&gt;Version Bundled&lt;/th&gt;
 &lt;/tr&gt;
 &lt;/thead&gt;
 &lt;tbody&gt;
 &lt;tr&gt;
 &lt;td&gt;NumPy&lt;/td&gt;
 &lt;td&gt;Numerical computing&lt;/td&gt;
 &lt;td&gt;Latest stable&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;pandas&lt;/td&gt;
 &lt;td&gt;Data analysis&lt;/td&gt;
 &lt;td&gt;Latest stable&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;scikit-learn&lt;/td&gt;
 &lt;td&gt;Machine learning&lt;/td&gt;
 &lt;td&gt;Latest stable&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;matplotlib&lt;/td&gt;
 &lt;td&gt;Data visualization&lt;/td&gt;
 &lt;td&gt;Latest stable&lt;/td&gt;
 &lt;/tr&gt;
 &lt;tr&gt;
 &lt;td&gt;scipy&lt;/td&gt;
 &lt;td&gt;Scientific computing&lt;/td&gt;
 &lt;td&gt;Latest stable&lt;/td&gt;
 &lt;/tr&gt;
 &lt;/tbody&gt;
&lt;/table&gt;
&lt;h2 id="architecture-overview"&gt;Architecture Overview&lt;/h2&gt;

&lt;figure class="mermaid-wrapper not-prose" role="img" aria-label="Mermaid diagram"&gt;
 &lt;div class="mermaid-container"&gt;
 &lt;pre class="mermaid"&gt;flowchart LR
 A[Browser Tab] --&amp;gt; B[Pyodide Runtime]
 subgraph WebAssembly
 C[CPython Interpreter]
 D[Compiled Extensions]
 E[Python Standard Library]
 end
 subgraph JavaScript
 F[Pyodide JS API]
 G[DOM Bridge]
 end
 B --&amp;gt; C
 B --&amp;gt; D
 B --&amp;gt; E
 B --&amp;gt; F
 F --&amp;gt; G
 G --&amp;gt; H[HTML/CSS DOM]&lt;/pre&gt;
 &lt;script type="application/mermaid"&gt;flowchart LR
 A[Browser Tab] --&gt; B[Pyodide Runtime]
 subgraph WebAssembly
 C[CPython Interpreter]
 D[Compiled Extensions]
 E[Python Standard Library]
 end
 subgraph JavaScript
 F[Pyodide JS API]
 G[DOM Bridge]
 end
 B --&gt; C
 B --&gt; D
 B --&gt; E
 B --&gt; F
 F --&gt; G
 G --&gt; H[HTML/CSS DOM]&lt;/script&gt;
 &lt;/div&gt;
&lt;/figure&gt;&lt;p&gt;Pyodide runs a full CPython interpreter compiled to WebAssembly. Python packages with C extensions are compiled to WASM and linked dynamically. The JavaScript bridge allows seamless data exchange between Python and JavaScript, enabling Python code to manipulate the DOM directly.&lt;/p&gt;</description></item><item><title>WebVM: Linux Virtual Machine Running in Your Browser</title><link>https://www.solosoft.dev/post/webvm-browser-2026/</link><pubDate>Fri, 01 May 2026 00:00:00 +0000</pubDate><guid>https://www.solosoft.dev/post/webvm-browser-2026/</guid><description>&lt;p&gt;The idea of running a complete operating system in a web browser sounds like science fiction, but &lt;strong&gt;WebVM&lt;/strong&gt; (leaningtech/webvm on GitHub) makes it a reality. Developed by Leaning Technologies, WebVM is a full Linux virtual machine that runs entirely in the browser using WebAssembly, requiring no server-side infrastructure, no installation, and no cloud account.&lt;/p&gt;
&lt;p&gt;At the heart of WebVM is CheerpX, an x86-to-WebAssembly virtual machine engine developed by the same team. CheerpX dynamically translates x86 machine code to WebAssembly at runtime, enabling unmodified Linux binaries to execute in the browser environment with impressive performance. The result is a fully functional Linux terminal with shell access, a complete filesystem, network capabilities, and package management &amp;ndash; all running in a browser tab.&lt;/p&gt;</description></item></channel></rss>