microsoft / vscode-jupyter

VS Code Jupyter extension
https://marketplace.visualstudio.com/items?itemName=ms-toolsai.jupyter
MIT License
1.31k stars 293 forks source link

Deprecation notice for the Data Viewer in Jupyter #15486

Open rebornix opened 8 months ago

rebornix commented 8 months ago

We are currently evaluating the deprecation of the current Data Viewer within Jupyter in favor of alternative solutions that are actively maintained by other teams or the community. Our primary considerations include accessibility, feature richness, and performance, aiming to provide users with the best possible experience for viewing data.

By deprecating the existing Data Viewer, we aim to streamline the focus of the Jupyter extension on its core functionalities. Simultaneously, we intend to provide a robust set of APIs, empowering the community to develop and integrate advanced data viewers seamlessly.

DaveGuenther commented 6 months ago

Hi Folks,

Hopefully this is the correct platform to ask this question, if not please re-direct me to a more appropriate forum. I use the open source code-server and just learned that the Data Viewer would be deprecated out of the Jupyter extension.

I rely on the Data Viewer to inspect pandas data frames in memory when debugging .py files such as pipeline scripts or Shiny apps (not .ipynb), and am not aware of any other mechanism to do this in code-server. There is a Data Wrangler extension for but isn't doesn't appear to be available for code-server (only VS Code Server?).

image

Can someone please let me know what other extensions can still do this in code-server after Data Viewer is deprecated?

Thanks!

amunger commented 6 months ago

Hi @DaveGuenther - that was one entry point we forgot about, but that one should also delegate to any extension that provides the appropriate data viewer (including Data Wrangler) by the next release. Thanks for reaching out.

DaveGuenther commented 6 months ago

Thanks @amunger. When Data Wrangler is enhanced to include the capability to view data frames in memory during debug of a .py file, will the entry point be similar to the above screenshot? Essentially a menu option to Open/View in Data Wrangler when right-clicking or hovering on a data frame variable?

amunger commented 6 months ago

yes, the same context menu entry point will be used from the debug variables view.

DaveGuenther commented 6 months ago

Hi @amunger,

I should probably clarify that I'm running coder-server 4.89.1 (code 1.89.1), and connecting to it via web browser - not using VS Code Desktop App for this. Will the new version of Data Wrangler be able to work with the current version of code-server to get the "View Value in Data Viewer" functionality in web mode or will I need to also update code-server to a newer (future) version for the web functionality?

Thanks!

amunger commented 6 months ago

ah, sorry, didn't realize you were using a different product. Data Wrangler is only available the official vscode, The API's are available for another extension to cover this functionality though.

I'm also not sure what code-server gets you over just using remote development with vscode.dev.

DRKV333 commented 3 months ago

Right, so as far as I can tell, by "alternative solutions that are actively maintained by other teams or the community" you just mean Microsoft's closed source "Data Wrangler Extension for Visual Studio Code". Correct me if I'm wrong, but there doesn't seem to be any other solution available, let alone an open source one.

I don't particularly care about "accessibility, feature richness, and performance", I just want to get a basic idea of what's in a data frame.

I feel like deprecating the simple, built-in, open source solution without making sure there is a similar alternative, effectively forcing people to use Data Wrangler, is really shitty. Could you at least split the built-in data viewer out into a separate extension, before obliterating it completely?

kierdwyn commented 1 month ago

Agree with @DRKV333 . I have switched to Data Wrangler for a while, it is really hard to use for inspecting matrix with following pain point:

  1. Can't select index for multi-dimensional array!!! I have to write the code my self to down scale a N-D matrix to a 2-D matrix in order to get a better view of it!!!
  2. The layout is bad, column width is too large, while I have a large matrix with many columns, it is hard to scroll to the column I want.
  3. Can't freeze index!!! For example I have a 100x100 matrix, I want to check the value for column 70, and I can't see the row number!

Really wish there could be a better substitute before deprecate the Data Viewer. And after install Data Wrangler, the old Data Viewer disappeared, does anyone know how to switch back to the old Data Viewer?

chgayot commented 3 weeks ago

I am still failing to see how the Data Viewer and the Data Wrangler serves the same purpose. The Wrangler is a data visualisation tool, the other was a data debugging tool. While DataFrames are indeed targeted for Data Science, and a data visualiser can be nice, NumPy array are not, they are for Signal Processing and more general purposes. We look into the data to know what is inside it, but for each array we would look at something different. A tool that tries to offer everything we may need in those fields is impossible (or a UI catastrophe and a waste of computing power). I don't understand the reasoning behind taking the Data Viewer out - I know it was extremely poor in terms of performances, but it's utterly needed to take people out of Spyder or other IDEs.