-
Notifications
You must be signed in to change notification settings - Fork 382
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
java/groovy APIs for external widgets #6903
Comments
@SylvainCorlay @jasongrout @vidartf @scottdraves |
If we do java then we get them all, but scala has its own types so it can be improved by having a wrapper. see https://github.com/twosigma/beakerx/tree/master/kernel/scala/src/main/scala/com/twosigma/beakerx/scala/chart |
Maarten volunteered to allow a subdirectory in the ipyvolume repository with the API. |
pythreejs is using autogeneration for code, so that might be possible. Another project that might be relevant is https://github.com/vidartf/widget-gen/. It allows for generating widget stubs based on the serialization format that would be used. It doesn't translate any logic, but if your kernel side widgets are only for data input it should be easy to sync all the kernel side definitions. |
PS: widget-gen is able to parse python widget definitions with traits as a source for auto-generation. |
I think that would be a good idea, that saves me trouble of maintaining the boilerplate part. |
@scottdraves Do you think you could hash out some sort of template-like structure for a widget definition in java/scala? If i have such a starting point, I can incorporate support for it in widget-gen. |
Wow cool widget-gen will help a lot. |
Progress indeed! Nice to see, willl try this out really soon. |
@scottdraves Neat! Let me know if there are any issues that are particularly tricky, and I'll do my best to help. I'm also curious to have a look at the code, to see how you consume the exposed "interfaces". Would you mind pointing at where the code resides? |
thanks! here it is: https://github.com/twosigma/pythreejs/pull/2 |
I'm ok with having jvolume in the ipyvolume repo, I'm just wondering if it is a good idea, and what about pythreejs/jthreejs and ipywebrtc/jwebrtc ? |
For the bqplot / xplot, pythreejs / xthreejs, ipywebrtc/ xwebrtc, we have been going with separate repositories for now. Would you not want to split ipyvolume itself eventually? |
I'm not sure what are the advantages, since all the packages (js,py,jvm,c++) or so closely related. For a monorepo, any API change can be done for all languages in 1 commit, and the repo will (or should) always be in a consistent stage. |
The only advantage that I see would be that a front-end extension can be updated, and the bindings for e.g. Python / C++ / JVM can upgrade at their own pace (pinning the front-end requirement...) Also, it is generally simpler to look at a repo, and immediately identify the directory structure of a python / C++ package, and where things are. |
i think this is a very strong advantage. |
Thanks for working on this ! Is ipyleaflet still considered ? I'd love to be able to use it from Java. |
@maartenbreddels suggests this and it sounds like a good idea.
eg: ipyleaflet, pythreejs, ipyvolume.
The text was updated successfully, but these errors were encountered: