-
Notifications
You must be signed in to change notification settings - Fork 10
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Deprecate and redirect to voila? #48
Comments
voila looks great! I will give it a spin today or tomorrow and comment in this issue. In particular, I noticed that callbacks and events didn't quite work in ipywidgets_server, so if voila does better in that sense while still maintaining the basic functionality of rendering a widget, along with the possibility that it's a bit more maintained, then the question is settled for me. |
@pbugnion I was wondering how Ipywidgets-server and Voila would co-exist. The projects are very similar and i agree it makes sense to focus on just 1 project. Did any of your code base go into Voila?? Sometimes competing open source projects is healthy but not really in this case. Your time is probably better spent on other projects (or even supporting Voila!). Ipywidgets-server has been really useful for my work and filled a big gap in the Jupyter ecosystem. I feel a certain amount of loyalty to ipywidgets-server because I have used it a fair bit but ultimately i would go with the project which has the best features, well maintained and has the best potential. Obviously, its your call. Do you have the time and motivation to compete with Voila? Dashboarding is a big deal, particularly in the corporate world, and I'm surprised Ipywidgets-server hasn't already gained a big following - it deserved to. |
Hello @pbugnion thanks for the ping. Yeah, we started voila in the late summer for a demo, and it is just starting to become a real project. We should have reached out to you earlier, because we should probably all join forces on this. Let me respond to the technical aspects of it: Execution modelBoth voila and ipywidgets_server share a common execution model where the code is run once in the backend, the code is kept alive and the frontend merely communicates with the kernel via comm messages. One difference though is that the ipywidgets server uses a custom python kernel while voila uses whatever kernel is specified in the notebook metadata. The filtering by message type happens at the server level, and not at the kernel level. We use a reboot of the notebook server called Rendering notebooks vs scriptsOne key difference is that the base thing in voila is a notebook, while ipywidgets_server renders a script. I would like ideally voila to be able to render scripts as well. One thing that is specific to ipywidgets server that we probably won't be able to support is the specification of a global variable to be rendered. In voila, we will probably need to rely on the user calling Joining forcesVoila stem from the same idea as the ipywidgets server and I looked at it a lot in the beginning. I would be happy to credit you for your initial work on the ipywidgets server in the readme of voila. It would be awesome if you were interested in joining forces. |
A difference I noticed between voila and ipywidgets_server is the way HTML is served. There was an issue here about serving custom HTML #5, and I see that voila allows creating some templates https://github.com/QuantStack/voila/blob/master/examples/dashboard-grid/voila.tpl, but I am not sure if they are equivalent. |
Thanks everyone for the comments. I think the right course of action is to sunset ipywidget_server and suggest voila as an alternative. I will add a comment at the top of the README for ipywidgets_server. I'd also love to contribute to voila. To address specific points:
I'd love to contribute to voila. Some of my colleagues have used it to very quickly share lightweight apps based off notebooks.
Agreed. I would have eventually added functionality to ipywidgets_server to use a notebook as a starting point, so I think we would have converged on similar overall functionality.
In hindsight, I think relying on explicit
I believe both projects have the ambition to allow the user to specify a custom html template. There's also a latent point in some of the comments that I wanted to address: while jupyter widgets has a fairly large user base, the number of people who actively contribute to or maintain packages in the ecosystem is small (10-20). Given the small number of maintainers and the limited resources available to them, it is important for those maintainers to work together. I therefore think it's good that we are aligning behind a single package for dashboarding. I'd much rather contribute to a single library that I know is well maintained. |
ipywidgets_server and QuantStack's excellent voila aim to do similar things.
Are they sufficiently similar that continuing development on both makes little sense? If the answer to that question is yes, I would prefer to halt development on this and redirect users to voila because I trust Sylvain will have the resources needed to do something great. What can ipywidgets_server do that voila can't?
I would love to hear thoughts from some of the people who have used ipywidgets server, if you have time (@DougRzz , @Juanlu001) and from @SylvainCorlay . And obviously anyone else who wants to chime in.
The text was updated successfully, but these errors were encountered: