question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

Drop the soft dependency on Jupyter

See original GitHub issue

Before we can consider this we have to investigate what this would look like for users.

  • What will no longer work in the extension (e.g. data viewer)?
  • How will users be recommended to install the Jupyter extension when they would need/want it (e.g. when they open a .ipynb file)?

Issue Analytics

  • State:open
  • Created 2 years ago
  • Reactions:13
  • Comments:10 (5 by maintainers)

github_iconTop GitHub Comments

1reaction
rchiodocommented, Aug 2, 2022

Yes, notebook intellisense won’t work anymore. It requires the jupyter extension.

Without the jupyter extension, notebooks would basically have no intellisense at all.

Sent from Outlookhttp://aka.ms/weboutlook


From: Luciana Abud @.> Sent: Friday, January 21, 2022 5:28 PM To: microsoft/vscode-python @.> Cc: Rich Chiodo @.>; Mention @.> Subject: Re: [microsoft/vscode-python] Drop the soft dependency on Jupyter (Issue microsoft/vscode-python#18073)

TL;DR:

More info below.


To investigate what would be the behavior if we no longer installed the Jupyter extension by default, I tested the scenarios below with the Python extension installed and the Jupyter extension not installed.

Jupyter notebooks

Python interactive window

Opening the data viewer when debugging

  • The option doesn’t show up when right-clicking on a variable from the local window when Jupyter isn’t installed:

[image]https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fuser-images.githubusercontent.com%2F45497113%2F150617423-aae6233d-6409-47d8-a565-6baa67109125.png&data=04|01|rchiodo%40microsoft.com|a6ad57430b164f6d158008d9dd4686cf|72f988bf86f141af91ab2d7cd011db47|1|0|637784117260678830|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=TVmVQsAp%2FoBD%2BuRY9m3vHOomB%2BYReJASUH3ThBl2VhM%3D&reserved=0


After that, I looked into the source code to see if there was anything I could be missing. If I understand it correctly (and there’s a good chance I don’t), there seems to be only two things we use/call from the Jupyter extension: registerRemoteServerProvider and showDataViewer (https://github.com/microsoft/vscode-python/blob/3698950c97982f31bb9dbfc19c4cd8308acda284/src/client/jupyter/jupyterIntegration.ts#L115https://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fvscode-python%2Fblob%2F3698950c97982f31bb9dbfc19c4cd8308acda284%2Fsrc%2Fclient%2Fjupyter%2FjupyterIntegration.ts%23L115&data=04|01|rchiodo%40microsoft.com|a6ad57430b164f6d158008d9dd4686cf|72f988bf86f141af91ab2d7cd011db47|1|0|637784117260678830|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=Sdb1SLlag8tNBzwhNe7PXBFj1CZSl5OIPY2J809QB9g%3D&reserved=0). I believe the entry points to any of those are not displayed anywhere in the Python extension, so that should be fine.

Required changes

If we were to proceed with this idea, there are additional changes that would need to be done on:

  • README
  • Walkthroughs
  • Build and dependencies files
  • License files

Optional changes

We could consider introducing more recommendations for users to install the Jupyter extension in scenarios that make sense, for example:

  • When Pylance is triggered for open notebooks
  • When right clicking on a variable in the debugger local window (where “open in data viewer” would show up)
  • From walkthroughs

— Reply to this email directly, view it on GitHubhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fmicrosoft%2Fvscode-python%2Fissues%2F18073%23issuecomment-1019006647&data=04|01|rchiodo%40microsoft.com|a6ad57430b164f6d158008d9dd4686cf|72f988bf86f141af91ab2d7cd011db47|1|0|637784117260678830|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=a8TvFwsptFBS7nr%2B1sYEuem4zKFl3D9c7uimtnJ%2FWac%3D&reserved=0, or unsubscribehttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fgithub.com%2Fnotifications%2Funsubscribe-auth%2FAEWC462L2SLSOQP3IEWUTL3UXIB4VANCNFSM5IUIPCVA&data=04|01|rchiodo%40microsoft.com|a6ad57430b164f6d158008d9dd4686cf|72f988bf86f141af91ab2d7cd011db47|1|0|637784117260678830|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=9luoOuhQOS5h1bmTyNw%2BGs5Nzk9BC3Vv%2Flnhv4Sj2S8%3D&reserved=0. Triage notifications on the go with GitHub Mobile for iOShttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fapps.apple.com%2Fapp%2Fapple-store%2Fid1477376905%3Fct%3Dnotification-email%26mt%3D8%26pt%3D524675&data=04|01|rchiodo%40microsoft.com|a6ad57430b164f6d158008d9dd4686cf|72f988bf86f141af91ab2d7cd011db47|1|0|637784117260678830|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=RoTWgjQnsNX3E9g8uBlAtUdvm0P91%2FqlEZMzGBQK0uk%3D&reserved=0 or Androidhttps://nam06.safelinks.protection.outlook.com/?url=https%3A%2F%2Fplay.google.com%2Fstore%2Fapps%2Fdetails%3Fid%3Dcom.github.android%26referrer%3Dutm_campaign%253Dnotification-email%2526utm_medium%253Demail%2526utm_source%253Dgithub&data=04|01|rchiodo%40microsoft.com|a6ad57430b164f6d158008d9dd4686cf|72f988bf86f141af91ab2d7cd011db47|1|0|637784117260678830|Unknown|TWFpbGZsb3d8eyJWIjoiMC4wLjAwMDAiLCJQIjoiV2luMzIiLCJBTiI6Ik1haWwiLCJXVCI6Mn0%3D|3000&sdata=Ejqc3DMF1YcXMh5AidaYZzDhYUkah4qYgvfYmuIti6U%3D&reserved=0. You are receiving this because you were mentioned.Message ID: @.***>

1reaction
brian-finishercommented, Nov 23, 2021

I’ll be very excited to see the soft dependency removed! I couldn’t figure out why I had Jupyter extensions being installed in my remote docker devcontainers! While not a huge deal, it makes the container configuration a bit slower, and clutters up the extension view. While it can be uninstalled manually, I don’t think that’s really an option to automate with the .devcontainer.json config

Read more comments on GitHub >

github_iconTop Results From Across the Web

Manage Python dependencies with Thoth JupyterLab extension
Dependency management with jupyterlab-requirements​​ This extension lets you manage your project's dependencies directly from a Jupyter notebook, ...
Read more >
Drops Of Jupyter Notebooks: How To Keep Notes ... - Hackaday
The idea is simple. Think of a Markdown-enabled web page that can connect to a backend (a kernel, in Jupyter-speak). The backend can...
Read more >
Jupyter Notebook 6.5.2 documentation - Read the Docs
See the installation guide on how to install the notebook and its dependencies. Main features of the web application . In-browser editing...
Read more >
Jupyter Notebook Users Manual.ipynb - Bryn Mawr College
This is a drop down menu which allows you to tell your Notebook how you want ... Soft-wrapped paragraphs and lines, however, do...
Read more >
Binder Jupyter notebook missing some dependencies from ...
Generally, a Dockerfile is only needed for very complex environments. I suspect you need to have pip install xlwt and not rely on...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found