-
Notifications
You must be signed in to change notification settings - Fork 274
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
Persistent Jupyter Kernels - Restore/Re-connect to an existing local/remote kernel (do not shutdown kernel upon closing/reloading vscode/vscode.dev) #3998
Comments
Is there a milestone issue to see the progress of the update? |
Unfortunately this issue has not yet been prioritized at our end, please do vote on this issue though |
What do you suggest as a workaround if one wants to run long 10+ hours sessions using Jupyter notebooks in vscode when connected to a remote kernel over SSH (using vscode remote extension)? |
@matifali unfortunately at this stage we have no work around for this, let me see if i can get an udpate within a week. |
@matifali
I ask this because the easiest thing to get working is:
Thanks |
I would prefer this output as my use case is to train deep learning models and its better if we can see the full history.
This is preferred,
This is also OK but the problem is vscode is unable to connect to a running remote kernel and show any outputs. Yes, the process is running but we do not see anything printed. There is no indication if the losses are actually decreasing. |
It feature would be very useful for many of users. Because it is just simply common sense, that If the ssh connection is closed for some reason, we want to able to after reconnect have the same state of the kernel and cells, cause even after reloading VS Code or just reconnecting ssh I can just lose all of my work and code that I made in the cells, because the kernel went down and I forgot to do ctrl+s every 5 minutes. I think it is not so difficult - just create some kernel in a remote fashion that is not relying on the current ssh connection, and after reloading ssh or entire vs code just propose to choose existing running kernels. |
Another requirement for this |
I have to say it should be a crucial feature for visual studio code now. Currently losing connection to the remote tunnels means losing all of your work/progress makes it hard to do almost all important work. |
I'd love this. This is my biggest pain point with vscode. |
One more thing to note: In practice, many of us are running/testing/benchmarking research code, whose various levels of maintenance (I pulled a python 2 repo the other day) mean that project-specific dev containers are pretty common. The upshot is that the remote kernel for any given notebook is running inside the dev container for that project so that it can make use of the relevant environment. This results in the following workflow:
I don't know if that makes implementing this insanely important feature more or less complicated.... Last of all thanks @DonJayamanne (and everyone else) for your awesome work making vscode better every day for python! |
Here I am having some similar work scenario like @mkarikom. I have to deal with some nasty python environments whose setup might only be possible via container (which is quite common in academia), which results that I can only use remote kernels. But for now the pylance support for remote kernel is broken so the dev experience is not optimal. I used to mount the container image and point the python extension interpreter path setting to the interpreter inside the container mount. but now this is impossible as python interpreter path setting can influnce the behaviour of jupyter extension is considered a bug and has been fixed. |
I'd like to bump this issue. For me this is a breaking feature, and I use jupyterlab over vscode for this reason, despite vscode having a better linter, copilot, and better vim keybindings; I suspect many people who have any kind of remote data science/machine learning workflow feel similarly. I have had this issue for the past 2 years, but only just found this thread. For what it's worth, I am willing to volunteer to help address this. I am not sure what the policy is for accepting pull requests from those outside the core team, but I thought I'd put that out there. |
+1, this is a breaking feature for anyone doing research and quantitative work where we need to rapidly experiment until we find what works well so that we can port it into a standalone script. |
Maybe most people are already aware of this workaround, but here's what I do:
|
+1 for this |
From https://xkcd.com/2881/ ... We'll have a fantastic trip full of machine learners, research engineers, and data scientists 😅 |
IIUC if I want to have a ipykernel running remotely, I have two choices:
Extending the second approach should be straightforward |
Wanted to give my +1 every way possible. |
+1 to this issue |
+1 having this would be great! |
+1 to this issue |
+1 Is there any initiative to start this feature? |
+1 to this issue |
It would be nice if, overall, the language server didn't die when restarting vscode. It's not just notebooks |
+1 to this issue. |
Consider supporting the new Jupyter kernel API to allow server side
execution to continue with disconnected clients, and for clients to pull
updates when they reconnect.
jupyterlab/jupyterlab#2833
…-- Randy
On Tue, Apr 9, 2024 at 4:16 PM Jason L Causey ***@***.***> wrote:
+1 to this issue.
—
Reply to this email directly, view it on GitHub
<#3998 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AACPJ44HL72OZJB5EYHVZITY4REBHAVCNFSM4T5KLQE2U5DIOJSWCZC7NNSXTN2JONZXKZKDN5WW2ZLOOQ5TEMBUGU4TOOJTGEYQ>
.
You are receiving this because you are subscribed to this thread.Message
ID: ***@***.***>
|
+1 to this issue. |
+1 |
3 similar comments
+1 |
+1 |
+1 |
Problem
Local
Remote
Investigation Running Server & JupyterLab API for extensibility
Goals:
This is a by-product of the long running kernels (i.e. you get this for free - almost)
Planned (related) Prototypes
Solve problems related to kernel/session being lost due to :
Technical details
Background process
Manages kernels & sessions
Expose kernel socket connection over this connection (we already have the code/technology for this) - proxy socket (dummy kernel in UI layer, by creating a dummy socket connection)
Security - how do we secure this web server (will need to be addressed, but i'm leaving that for later)
I wont be exposing a connection, instead will just expose the SessionManager, KernelManager & other class instances from extension API
Also related #300
The text was updated successfully, but these errors were encountered: