Bokeh in Jupyterlite #11516
Replies: 16 comments 1 reply
-
dupe of #10572 (wheels will be available starting with 2.4) |
Beta Was this translation helpful? Give feedback.
-
@bryevdv . My simple understanding is that wheels is one of the stepping stones. But probably some of the dependencies of Bokeh cannot be installed and that needs to be solved as well. And there are probably other issues. For example I can install plotly. But it does not work in there. Some of the code is not compatible with the jupyterlite environment. My request is for Bokeh to work in Jupyterlite. And for that to be documented to users. I'm writing it here because I see it as key for Bokeh to work in Jupyterlite. It's like before the iphone arrived. We would not understand how important it was for our apps to run on that platform. |
Beta Was this translation helpful? Give feedback.
-
I would love to see this too. That said:
If the wheels solve it then great, if upstream dependencies prevent it from working then we should request compatibility in those libraries. It's certainly not a project anyone on the Bokeh team would commit to solving. Certainly don't object to keeping this issue open to track the progress towards compatibility though.
In the long run I also agree with this but in the short term I think exactly these kinds of compatibility issues will hinder adoption and I think it will take quite some time for this ecosystem to be anywhere near ready for production use cases. Specifically for Bokeh the biggest obstacle I see is Tornado, specifically how the comms work in a setup where the server isn't actually a server. Exploring whether this is even possible will be the first and most complicated step. |
Beta Was this translation helpful? Give feedback.
-
Totally agree with you @philippjfr . Right now this is a vision without a roadmap and resources. But it will be key longer term to be able to run in Jupyterlite and other pyodide based environments. But maybe new wrappers of existing js libraries is what will quickly end up being used in there? |
Beta Was this translation helpful? Give feedback.
-
@bryevdv Any objection to keeping this open? If not I'm happy to move it to Panel to keep a compatibility checklist, since the concrete blocker in Bokeh itself (i.e. the wheels) have already been solved. |
Beta Was this translation helpful? Give feedback.
-
@philippjfr I leave it up to you
Just chiming in my $0.02 which is that it is not at all clear to me that these current experiments will actually end up "being a thing" |
Beta Was this translation helpful? Give feedback.
-
For future reference @philippjfr . C.f. https://github.com/jtpio/jupyterlite/discussions/112. Would you mind to reopen this @philippjfr ? I and potentially other can use it as a placeholder to measure the interest and compile information for the time being. |
Beta Was this translation helpful? Give feedback.
-
Vega support is coming to jupyterlite. https://github.com/jtpio/jupyterlite/pull/113 |
Beta Was this translation helpful? Give feedback.
-
Plotly support is coming to Jupyterlite. C.f. https://github.com/jtpio/jupyterlite/pull/129 |
Beta Was this translation helpful? Give feedback.
-
Ipyleaflet support added https://twitter.com/martinrenou/status/1405821341425717248?s=21 |
Beta Was this translation helpful? Give feedback.
-
@MarcSkovMadsen what is your purpose with these updates? The are not useful or helpful in any way IMO |
Beta Was this translation helpful? Give feedback.
-
The purpose is two fold
|
Beta Was this translation helpful? Give feedback.
-
According to your screenshot above this is already understood and the only roadblock is a "pyiodide-WASM-native build of libyaml". So I don't see how this is actually the case.
I'm going to speak plainly and just say that it comes off as nagging. |
Beta Was this translation helpful? Give feedback.
-
As stated earlier I really just wanted to I don't want to give any one the impression I am nagging. So I will reflect on how to avoid that in the future. Thanks for letting me know. |
Beta Was this translation helpful? Give feedback.
-
As stated earlier I really just wanted to
I don't want to give any one the impression I am nagging. So I will reflect on how to avoid that in the future. Thanks for letting me know. |
Beta Was this translation helpful? Give feedback.
-
Just noting, since the above issue no longer exists (I guess jptio turned off all issues?) that I think it would be fairly easy to make yaml an optional rather than a hard dependency. Wheels are coming with 2.4 release. That just leaves Tornado, as @philippjfr I don't know what you do about that. You could still do lots with Bokeh w/o Tornado, but making Tornado optional is not a trivial undertaking. However if folks are talking about Panel apps or Dask + Dashboard then just making it optional is not a solution. There's:
I am actually very interested in the second thing, regardless of pyodide. But it's not something I will ever get done myself as a "free time after work" project. I don't see how any of these things get done without some dedicated support. |
Beta Was this translation helpful? Give feedback.
-
Jupyterlite is based on pyodide and runs entirely in the browser. It's already pretty amazing. I would like to use Bokeh and the HoloViz ecosystem in there.
I believe a lot of users would find Jupyterlite pretty amazing. A lot of the work I see out there consists of load data, transform using pandas, visualize, train a model or build an interactive data app. That is already possible if the viz is based on Matplotlib.
But I cannot import Bokeh using micropip.
https://jupyterlite.readthedocs.io/en/latest/_static/lab/index.html
Solution
Solve what ever technical problems there may be and provide some examples in the docs.
Beta Was this translation helpful? Give feedback.
All reactions