OpenMS / streamlit-template

5 stars 6 forks source link

Evaluate if streamlit app can be packaged as .exe on windows / other platforms #8

Closed timosachsenberg closed 7 months ago

timosachsenberg commented 10 months ago

see e.g. https://discuss.streamlit.io/t/using-pyinstaller-or-similar-to-create-an-executable/902/86

would be interesting to check if this is possible e.g., probably similar to building a whl

timosachsenberg commented 10 months ago

see also https://www.youtube.com/watch?v=G7Qeg_rbYM8

timosachsenberg commented 10 months ago

Another option would be creating a wix installer that installs .net, docker and creates a desktop icon to launch the browser + webserver

Arslan-Siraj commented 9 months ago

via pyinstaller https://github.com/OpenMS/streamlit-template/pull/10

Arslan-Siraj commented 9 months ago

looking for how to include docker in .exe file configurations, I see with stlite, a port of Streamlit to WebAssembly powered by Pyodide, + electron.

timosachsenberg commented 9 months ago

Did you also check if .exe / falls etc could be integrated into pyinstaller file? E.g. if we decide to just provide desktop versions for windows?

Arslan-Siraj commented 9 months ago

https://github.com/Arslan-Siraj/streamlit-template/tree/exe-check/dist have to provide like this for streamlit app, streamlit code + exe. user can run the streamlit app locally (I do for sample OpenMS template). I am just wondering how to integrate docker base app via this approach. It could be possible? or there someway to install pyinstaller inside docker and take .exe image?. If we cannot do via pyinstaller, we have to go for something else like wix installer.

timosachsenberg commented 9 months ago

I think we need to check what is possible with pyinstaller alone (e.g. can we create an action in the template that creates the installer - ideally with mono + raw file conversion and ideally multi OS). docker and arbitrary branches might be more difficult as you pointed out.

Arslan-Siraj commented 9 months ago

I can try. mistakenly removed from assignee ;)

timosachsenberg commented 9 months ago

see also https://github.com/axelwalter/umetaflow-gui/releases/tag/v1.0.0 @axelwalter already had some success with a different approach so would be good to discuss

Arslan-Siraj commented 9 months ago

Done, https://github.com/OpenMS/streamlit-template/pull/18