panel icon indicating copy to clipboard operation
panel copied to clipboard

Pyodide Conversion: Bundle all the necessary ressources to load from a single webserver

Open flxmr opened this issue 1 year ago • 1 comments

Is your feature request related to a problem? Please describe.

I would like to host all parts of my pyiodide converted panelapp on my own webserver. That means all the wheels are there for micropip and all the JS/CSS necessary for the components I selected. This way I can be sure the thing works as long as WASM/Rendering works without version locking and relying on the availability of CDNs.

Describe the solution you'd like

  • rework the code in panel/command/bundle.py and the *_ressources and inline-options available in convert_app in panel/io/convert.py to reference locally available files
  • download those files
  • add code to download all the wheels from pypi/pyiodide-repo
  • make sure micropip installs those wheels

Describe alternatives you've considered

None

flxmr avatar Apr 24 '24 09:04 flxmr

might also solve these things with the solution https://github.com/holoviz/panel/issues/5766 (restructure to have a better api for ressources/...) https://github.com/holoviz/panel/issues/4089 (code restructuring could deal with this) https://github.com/holoviz/panel/issues/6123 (not 100% sure, but this definitely seems to hit on the bundling of ressources?) https://github.com/holoviz/panel/issues/4090 (how are we going to get all the ressources/requirements, when we can't run? → likely one could add a hook on the imports OR just get the import and regex-search for pn.extension) https://github.com/holoviz/panel/issues/5062 this also seems like the necessary rework might handle this

flxmr avatar Apr 24 '24 17:04 flxmr