Long-term plan for how Dash fits in with WebAssembly?

During a PyCon keynote, Anaconda announced PyScript with a strong call-to-arms to take Python to the web.

Given that it’s Python embedded in an HTML tag, I immediately thought of Dash.

Previously, I didn’t pay much attention to tools like JupyterLite because I didn’t understand that WebAssembly enabled ~ compiling Python for use alongside HTML for client-side use. Now I see that it opens a whole world of possibilities.

31ea07ba-dadc-4d18-b79e-d309328762d0

After hearing Pyodide’s separate talk on the state of their ecosystem, it seems like they have several years of hard work ahead of them smoothing everything out, and each Python package will have to make changes to become compatible. They also mentioned figuring out how to incorporate React into their ecosystem. So, again, I thought of Dash.

However, given Panel’s relationship to Anaconda, I’d expect strong competition in the client-side (WASM) reactive dashboard space soon.


  • Will Dash enter the WASM space?
  • If the natural order of things shifts to Python-in-Html, does Html-in-Python still make sense?
  • If Python is replacing JS, would it even make sense to use React as the realtime enabler? Or would a Python-based frontend framework/ AJAX-like tool make more sense?
  • Is Pyodide the right approach?
6 Likes

Other community members have started working on this already.

1 Like

That’s a good question @HashRocketSyntax
We have started thinking about this possibility, but nothing concrete yet.

In fact, we’ve been in conversation with Itay, the creator of webDash. If any progress is made, we’ll make sure to update this post.

2 Likes

@HashRocketSyntax Congratulations on the post!

I was going to open a new thread exactly about this subject but yours covers all my questions;

It would be interesting to understand how Dash could be affected by all these new approaches in the future… I’m sure that it opens new doors and can be a life-changer in the way dash is built;

With Pyscript we couldn’t have a kind of “py-react” instead of the current approach of converting components?

2 Likes

Lots of exciting stuff here! Thanks for kicking of the discussion all. I wrote some extended thoughts in our latest Dash Club newsletter: Dash Club Dispatch #6: WebAssembly, Summer App Challenge & Show & Tell

4 Likes

As a follow up to Shiny for Python, RStudio/Posit announced WASM capabilities with Shinylive
https://shiny.rstudio.com/py/docs/shinylive.html