whow. I just had an idea on how the Jupyter Lab ve...
# plugins
j
whow. I just had an idea on how the Jupyter Lab version of this plugin should work.
đź‘€ 1
Instead of doing it like other goals where each run gets its own chroot and bringing in dependences and targets...
a chroot for the jupyterlab code and config gets built (if it doesn't exist) along with any kernel files needed (custom built to work with inside of pants).
Then each run of
pants jupyterlab
installs the targets (somehow, hand waving here because I need to remind myself of the Jupyter POV).
So basically the plugin manages the installation of the app and creating the hooks to make it work with the monorepo. Then pants steps out of the way.
I think doing it this way would mean the run would not be interactive like a repl. More like kicking off a job and stepping aside.
👍 1
This might be a model for ways pants plugins could be used to initialize IDE's for people.
ADD off. back to getting Jupyter Notebook working.
w
so, sortof like exporting a definition/config, and then forking jupyter before exiting pants? that probably makes sense
👍 1
h
That makes sense to me. And Pants doesn’t manage the process after that initial setup But yeah, agreed to get this first iteration working, then do that as a followup.
w
another angle is that it’s likely that Pants should have generalized “export for IDE” functionality (and eventually to support something like the BSP protocol)… if Jupyter Lab is more like an IDE, that could be another approach.
👍 3
j
/duckduckgo bsp protocol 🦆 bulk synchronous parallel
That sounds like an important protocol for pants to support.
w
Yea, it's gaining traction for sure, although not yet outside of particular language communities (started with Scala)
👍 1
There are 4 clients and 5ish servers, last I checked
j
pants also plays the role an IDE plays sometimes (i.e. talking to a build server) and sometimes it plays the role of the build, test, server
w
Yep
f
is the BSP the only way you guys see here to "export hooks" to the IDE?
w
no: i think that it’s a medium term solution. in the short term, exporting a venv or some other sort of per-IDE config is probably the way to go
👍 1
f
"exporting venv" is what i'm doing manually now for tasks like this, would very much appreciate an automated version of that
w
IDE/notebook integrations are critical… now that we’re past 2.0, we’ll want to work with everyone to prioritize that kind of stuff so we can knock it out soon.
🥊 2