Wrapping Dash applications for desktop use


#1

Is it possible to wrap a Dash app in an Electron.js app?


#2

Dash currently requires a python server to run and serve the application. To render the app in electron, you’ll need to embed the app as an IFrame in the app. The app itself will need to be either deployed on a separate server or the electron process will need to start a python process to run the dash app in the background.

If you choose to run the app on the user’s machine, you’ll need to deal with installing python and all of the necessary python packages as part of app’s installation. I imagine that that will be a huge headache. The electron community and electron-packager have made cross-platform builds really easy for node and electron but that doesn’t include python distributions and their packages.


#3

For distributing desktop python apps, I like to use anaconda’s conda constructor. It wraps up all your dependencies from your conda environment so users don’t have to install anything.