I have some reasonably polished code for auto-generating widget definitions here: https://github.com/vidartf/widget-gen/ It will take care of declaring the synced traits, but does not look at validators/business logic at all. It hasn't really been battle tested though, so I would love any feedback on it!
Vidar On Thu, Sep 6, 2018 at 4:31 PM Jason Grout <[email protected]> wrote: > 1. There is a PR open for making the core widget attributes a JSON > document, like Sylvain mentioned: > https://github.com/jupyter-widgets/ipywidgets/pull/2193. It needs review > and merging. You're right that the attributes keep being added to, but we > also try hard to signal the spec changes in the version numbers (for > example, adding a new widget attribute that is backwards compatible is a > minor version bump in ipywidgets). > 2. I believe interact.jl in Julia implements their own widget system, not > the Jupyter widgets system. Other than that, the implementations listed > above are the current widget implementations I know about (C++, Juniper R > kernel (using xwidgets), BeakerX) > > Jason > > > On Thu, Sep 6, 2018 at 3:05 AM Tony Hirst <[email protected]> wrote: > >> The JuniperKernel (an R kernel alternative to IRkernel) also looks like >> it runs xwidgets: https://github.com/JuniperKernel/JuniperKernel >> >> --tony >> >> >> On Monday, 3 September 2018 23:01:35 UTC+1, Sylvain Corlay wrote: >>> >>> Hi Christian, >>> >>> (Responding on mailing list for the record even though we also connected >>> through other channels). >>> >>> In terms of language backends for Jupyter widgets, I should mention >>> >>> - *xwidgets*, the C++ implementation of the Jupyter widgets protocol, >>> which includes all the controls from ipywidgets. Backends for bqplot >>> (xplot), ipyleaflet (xleaflet) and pythreejs (xthreejs) were built upon >>> xwidgets. These widget libraries can be used with the C++ kernel. >>> >>> Here are a few binder links for trying out these libraries: >>> >>> xeus-cling: >>> https://mybinder.org/v2/gh/QuantStack/xeus-cling/stable?filepath=notebooks/xcpp.ipynb >>> (general demo of xeus-cling) >>> xwidgets: >>> https://mybinder.org/v2/gh/QuantStack/xwidgets/stable?filepath=notebooks/xwidgets.ipynb >>> xleaflet: >>> https://mybinder.org/v2/gh/QuantStack/xleaflet/stable?filepath=notebooks >>> xplot: >>> https://mybinder.org/v2/gh/QuantStack/xplot/stable?filepath=notebooks >>> >>> - I should also mention the *beakerx* >>> <https://github.com/twosigma/beakerx> project, which includes kernels >>> and widget backends for multiple languages of the JVM world. >>> >>> - The *Interact.jl* <https://github.com/JuliaGizmos/Interact.jl> project >>> enables a lot of the controls of the base ipywidgets package for the Julia >>> programming language. >>> >>> Best, >>> >>> Sylvain >>> >>> On Monday, September 3, 2018 at 9:42:44 PM UTC+2, Christian Schafmeister >>> wrote: >>>> >>>> >>>> We've ported several jupyter widgets to Common Lisp so that we can use >>>> jupyter widgets from our kernel written in Common Lisp. >>>> This has involved translating about 15,000 lines of Python into Common >>>> Lisp - and dealing with translating traitlets and multithreaded code. >>>> >>>> It's going to be a maintenance burden for us - but we have the basic >>>> jupyter widgets, nglview, and bqplot widgets ported. >>>> >>>> I haven't been able to find any but are there any other languages that >>>> have made this investment? Julia? R? Ruby? >>>> >>>> If so - I'm curious to see how you approached it. >>>> >>>> Best, >>>> >>>> Christian Schafmeister, >>>> Professor, Chemistry Department >>>> Temple University. >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "Project Jupyter" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to [email protected]. >> To post to this group, send email to [email protected]. >> To view this discussion on the web visit >> https://groups.google.com/d/msgid/jupyter/d236bdf1-8fa1-4381-875e-b63791a60057%40googlegroups.com >> <https://groups.google.com/d/msgid/jupyter/d236bdf1-8fa1-4381-875e-b63791a60057%40googlegroups.com?utm_medium=email&utm_source=footer> >> . >> For more options, visit https://groups.google.com/d/optout. >> > -- > You received this message because you are subscribed to the Google Groups > "Project Jupyter" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to [email protected]. > To post to this group, send email to [email protected]. > To view this discussion on the web visit > https://groups.google.com/d/msgid/jupyter/CAPDWZHz612wqLFbBpenbLuFw6X8%2BkuNfrsimhJa5J%3Dh8fpUEgg%40mail.gmail.com > <https://groups.google.com/d/msgid/jupyter/CAPDWZHz612wqLFbBpenbLuFw6X8%2BkuNfrsimhJa5J%3Dh8fpUEgg%40mail.gmail.com?utm_medium=email&utm_source=footer> > . > For more options, visit https://groups.google.com/d/optout. > -- You received this message because you are subscribed to the Google Groups "Project Jupyter" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. To view this discussion on the web visit https://groups.google.com/d/msgid/jupyter/CADZ1C%3DxKYM%2BK4keC5kK1SZpgBMnn8wC%2BhO0q%3DC4C2akanTA5JA%40mail.gmail.com. For more options, visit https://groups.google.com/d/optout.
