by

Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Yuvi Panda
@yuvipanda
@jtpio actually to step back - all I wanna do is to have a dropdown above another Lumino component as the children of my widget. I can't figure out at all how to do that with Lumino. Can you help / have pointers?
This feels like it should be fairly simple but I've not found anything at all in the docs
Jeremy Tuloup
@jtpio
with the child Lumino component updating when the value of the dropdown changes?
Yuvi Panda
@yuvipanda
@jtpio yeah, some code needs to be triggered
actually I think I can just take lumino out of the equation completely and go pure react
there isn't really any lumino need there
Jeremy Tuloup
@jtpio
Yuvi Panda
@yuvipanda
oooh nice, I didn't know that was react now!
I like it
Jeremy Tuloup
@jtpio
yes there is a bit of react in some places in core
Naveen Michaud-Agrawal
@nmichaud
@jtpio any thoughts on moving the ReactWidget into lumino proper? Seems it would be useful outside of jupyterlab
also looks like it doesn't depend on anything within JupyterLab itself
Jeremy Tuloup
@jtpio
@nmichaud maybe worth asking on the lumino channel or in a new issue?
otherwise it should be possible to import from apputils in standalone applications outside of jupyterlab with import { ReactWidget } from '@jupyterlab/apputils';
Yuvi Panda
@yuvipanda
how do I set the min-width of my sidebar? css doesn't seem to work because width setup is in JS?
Yuvi Panda
@yuvipanda
also just wanted to say y'all are pretty awesome. I know I can be very cranky and unappreciative sometimes, acting as an entitled user. I'm sorry, and <3
Steven Silvester
@blink1073
Hi Yuvi, we're all cranky these days. 😀. I think what you're seeing is CSS specificity, the width is set on the sidebar id. You can add the property with the !important modifier or use a more specific rule
Afshin Taylor Darian
@afshin
!important is a hammer ... yeah maybe you need it, but a more specific rule always plays nicer with others and with the future ... if the option exists!
Steven Silvester
@blink1073
:hammer: :clock: oh woah woah woah woah
ha, that's what I get for trying to type that on a phone
(hammer time)
Afshin Taylor Darian
@afshin
:joy:
Marc Allen
@mc-allen
Hi everyone, I'm running into an issue with extensions that I was hoping someone has a suggestion.
I am running jupyterlab inside a docker container, where I pre-install jupyterlab and all of the extensions as root user. When I run the docker container, I am running as a different user. In this case, the extensions fail to load in jupyterlab because the NPM cache folder is read-only for the current user, with "[...] are not valid NPM packages."
This is actually happening because jupyterlab calls "npm pack" on the extensions, requiring r/w access to the cache. If I chmod the cache first, everything works.
Is there a way to run jupyterlab where this wouldn't be an issue, i.e. it doesn't require r/w access to the original npm cache (that is owned by root on my system)?
Chris Holdgraf
@choldgraf
In case y'all are interested in this, there's a poll out there on twitter about people's preferred jupyter interface: https://twitter.com/betatim/status/1265591840939610113
Yuvi Panda
@yuvipanda
@afshin @blink1073 awesome, will look :) ty
Tingkai Liu
@TK-21st

Thanks for all the quick replies btw, y'all are awesome!

Question regarding handleComms based on #6929. Suppose the following scenario:

  1. Two instances (widget-1, widget-2) of the same widgets are created (e.g. console), each with a different session pointing to two different kernels
  2. Change one of the widget (widget-1) to use the session of widget-2. This closes all comms that was registered by widget-1 since the new kernelconnection does not handleComms so the registerCommTarget call will be fenced by an if statement.

My question is suppose I want the kernel to talk to the two widgets (now connected to the same kernel) either simultaenously or independently of each other, how would I send data over since widget-2 now has no Comm associated with it?

Or should I force the new KernelConnection associated with widget-1 to handleComms to keep both comms open?
Martha Cryan
@marthacryan
In an extension I'm working on, I use a token provided by another extension (both are external from Jupyterlab). For some reason, the token stopped working after updating our extension to 2.0. Any idea why that might've happened / ideas for debugging? @blink1073
Tingkai Liu
@TK-21st

Hi everyone, I'm running into an issue with extensions that I was hoping someone has a suggestion.
I am running jupyterlab inside a docker container, where I pre-install jupyterlab and all of the extensions as root user. When I run the docker container, I am running as a different user. In this case, the extensions fail to load in jupyterlab because the NPM cache folder is read-only for the current user, with "[...] are not valid NPM packages."
This is actually happening because jupyterlab calls "npm pack" on the extensions, requiring r/w access to the cache. If I chmod the cache first, everything works.
Is there a way to run jupyterlab where this wouldn't be an issue, i.e. it doesn't require r/w access to the original npm cache (that is owned by root on my system)?

@mc-allen have you tried install nodejs within a conda environment? if you have r/w access to the conda/envs dir then you should be fine in that case

Steven Silvester
@blink1073
@marthacryan it may be related to jupyterlab/jupyterlab#7728. I'd check your package.json and run yarn why <foo> in the <app>/staging directory.
Jason Grout
@jasongrout

Or should I force the new KernelConnection associated with widget-1 to handleComms to keep both comms open?

@TK-21st - right now, you'd have to explicitly force the new kernel connection to handle comms. Just be aware that there can be subtle problems with using the same comm from two different clients, where, for example, one client may shut down a comm the other client is using.

The comm protocol very much assumes that it is between a kernel and a single client.
For example, if client A has a specific comm handler registered, but client B does not, a message to open a comm for that comm handler will open the object in client A, but the spec demands that client B close the comm channel, which shuts down the comm object in the kernel. No notification is sent to client A about the closure, so the result is that client A has a comm channel to nowhere
Tingkai Liu
@TK-21st

For example, if client A has a specific comm handler registered, but client B does not, a message to open a comm for that comm handler will open the object in client A, but the spec demands that client B close the comm channel, which shuts down the comm object in the kernel. No notification is sent to client A about the closure, so the result is that client A has a comm channel to nowhere

@jasongrout Thanks for the clarification, I got it to work by forcing handleComms = true. I do understand the potential issues that come with that, could you may suggest a better alternative if two clients are to share a kernel?
Previously this was done by re-routing the content of commMsg callback to the new client in browser. But then it's not immediately clear to me how the client with the comm can know which other client to route the data to. Or similarly, how the new client knows where to get data from in run-time

Jason Grout
@jasongrout
yes, those are indeed the difficult problems
Michael Aye
@michaelaye
hi ingenious jupyter folks! Quick question: should it be possible to get a jupyter lab when I started a jupyter notebook server simply by changing the access URL to https://localhost:8902/lab? like I did in this screenshot? I'm just a bit confused and surprised because I alwasy assumed that there would be actually different applications running underneath? I was aware I could "dial down" a jlab to a jupyter notebook using the /tree URL, but I didnt' know I could "dial up" a notebook server to a lab simply by using the /lab? URL? Is this all normal, or did something majorly screw up my system?? Thanks!
Steven Silvester
@blink1073
JupyterLab is a server extension to the classic notebook application in addition to being its own application
Eric Charles
@echarles
First time since test refactoring I run on my local env the js tests for services TypeError: request to http://localhost/api/kernels?1590921821770 failed, reason: connect ECONNREFUSED 127.0.0.1:80FetchError: request to http://localhost/api/kernels?1590921821770 failed, reason: connect ECONNREFUSED 127.0.0.1:80 - I find strange that the server is launched on port 80 (should not be possible for non root user) - Tried as root but I receive anyway the same error.
Steven Silvester
@blink1073
that would be the behavior when baseurl is not configured when the request was made
Eric Charles
@echarles
Yeah I was thinking to that. I have created a clean conda env, removed ~/.jupyter and built with yarn build:packages && yarn build:utils && yarn build:testutils then ranyarn test. Most prolly something on my env but good if one can confirm the js test services run fine on his local env.
Michael Aye
@michaelaye
@blink1073 So, do I get the exact same thing when i use the lab url with a classic notebook server as i do when using the jupyterlab server?
Steven Silvester
@blink1073
that is the goal, yes. if it doesn't work the same way it is a bug
Michał Krassowski
@krassowski
Steven Silvester
@blink1073
Nice! Note that the lumino datagrid has editing capabilities now and scales up to huge datasets.
Michael Aye
@michaelaye
anybody noticed that import module/subpackage tab-completion doesn't work in jlab (not sure about jnotebook) until at least one cell was executed?
ah, no, it fails more than that for me ... :/
no sorry, the 2nd one was PEBKAC. the first i regularly see though.
arnon
@arnonrodman

Hi All,
Any restriction for max value for "c.MappingKernelManager.cull_idle_timeout" ?
I didn't find in the document for any limitations or in stack overflow?
Today we have in our: /etc/jupyter/jupyter_notebook_config.py

shutdown the server after no activity for an hour

c.NotebookApp.shutdown_no_activity_timeout = 8 60 60

shutdown kernels after no activity for 20 minutes

c.MappingKernelManager.cull_idle_timeout = 8 60 60

check for idle kernels every two minutes

c.MappingKernelManager.cull_interval = 20 * 60

We want to increase the timeout to 24-48 hours.
Any known issues/risks/limitations?
Thx

Luciano Resende
@lresende
@blink1073 or someone else expert on build (jupyterlab build) available for a 10/15 mins call sometime today ?