Skip to content
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

Wasm support for use in JupyterLite #121

Open
joshcarp opened this issue Jun 28, 2024 · 1 comment
Open

Wasm support for use in JupyterLite #121

joshcarp opened this issue Jun 28, 2024 · 1 comment
Assignees
Labels
enhancement New feature or request

Comments

@joshcarp
Copy link

It would be nice to be able to run this in-browser for Jupyter lite.

AFAIK the only steps that need to be changed are here:

c.goplsExec.SysProcAttr = &syscall.SysProcAttr{Setpgid: true, Pgid: 0}

if err = syscall.Mkfifo(pipePath, 0600); err != nil {

I might implement this, just wanted to see if this was a thing that anyone else has thought about

@janpfeifer
Copy link
Owner

hi @joshcarp, oh, that is so cool! Let me know if you need some help.

But having said that, there are few things to consider, and I'm not sure what is the "wasm virtual machine" available for Jupyter-Lite. From the top of my head, GoNB will try to execute: go get, go build, go fmt, gopls (the LSP/autocomplete), and the binary it just built.

The named pipes are used to establish an optional out-of-band communication with the kernel, to add support to the special interactions with the front-end (like widgets, or simply display HTML). But if it's not available in the Jupyter Lite environment, I'm sure we can find another way to communicate, and use the same trivial protocol there.

Let me know if you would like to do a VC call to discuss this in details. PRs would be most welcome as well.

@janpfeifer janpfeifer added the enhancement New feature or request label Jun 28, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
enhancement New feature or request
Projects
None yet
Development

No branches or pull requests

2 participants