Skip to content

Commit

Permalink
feat: use solara for pyinstaller
Browse files Browse the repository at this point in the history
  • Loading branch information
maartenbreddels committed Jul 16, 2024
1 parent f45af71 commit 3d5827b
Show file tree
Hide file tree
Showing 5 changed files with 23 additions and 20 deletions.
5 changes: 5 additions & 0 deletions standalone/hooks/hook-ipyvuetify.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from PyInstaller.utils.hooks import collect_data_files, copy_metadata, collect_submodules

hiddenimports = collect_submodules("ipyvuetify")
datas = collect_data_files('ipyvuetify')
datas += copy_metadata('ipyvuetify')
5 changes: 5 additions & 0 deletions standalone/hooks/hook-solara.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from PyInstaller.utils.hooks import collect_data_files, copy_metadata, collect_submodules

hiddenimports = collect_submodules("solara")
datas = collect_data_files('solara')
datas += collect_data_files('solara-ui')
5 changes: 5 additions & 0 deletions standalone/hooks/hook-solara_server.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from PyInstaller.utils.hooks import collect_data_files, copy_metadata, collect_submodules

hiddenimports = collect_submodules("solara-server")
datas = collect_data_files('solara-server')
datas += copy_metadata('solara-server')
5 changes: 5 additions & 0 deletions standalone/hooks/hook-solara_ui.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
from PyInstaller.utils.hooks import collect_data_files, copy_metadata, collect_submodules

hiddenimports = collect_submodules("solara-ui")
datas = collect_data_files('solara-ui')
datas += copy_metadata('solara-ui')
23 changes: 3 additions & 20 deletions standalone/jdaviz-cli-entrypoint.py
Original file line number Diff line number Diff line change
@@ -1,23 +1,6 @@
import sys

def start_as_kernel():
# similar to https://github.com/astrofrog/voila-qt-app/blob/master/voila_demo.py
import sys

from ipykernel import kernelapp as app
app.launch_new_instance()
sys.argv = [app.__file__, sys.argv[3:]]
import jdaviz.cli


if __name__ == "__main__":
# When voila starts a kernel under pyinstaller, it will use sys.executable
# (which is this entry point again)
# if called like [sys.argv[0], "-m", "ipykernel_launcher", ...]
if len(sys.argv) >= 3 and sys.argv[1] == "-m" and sys.argv[2] == "ipykernel_launcher":
# it is important that we do not import jdaviz top level
# as that would cause it to import ipywidgets before the kernel is started
start_as_kernel()
else:
import jdaviz.cli
# should change this to _main, but now it doesn't need arguments
jdaviz.cli.main(layout="")
# should change this to _main, but now it doesn't need arguments
jdaviz.cli.main(layout="")

0 comments on commit 3d5827b

Please sign in to comment.