Databricks notebook API: minimize cell - jupyter-notebook

From the Databricks UI, we can minimize/collapse cells in the top-left corner.
A notebook's content is updated programmatically. The new content is huge and not always needed, so I minimize the cell.
Can I do the same via the Workspace API? Is there any flags to tell that a cell should be minimized by default, when the notebook is imported?

Related

Select a big part of a notebook file in Jupyter Lab without scrolling

I'm using Jupyter Lab.
I would like know if there is a way to select some big part of the ipynb file without scrolling (in order to run the selected cells).
I guess a good way to do it would be by using the table of content on the left, but the "problem" is that when I click on a new part, it activates the first cell of this part so I can't use SHIFT + right click.

how to print something in a new window in jupyter notebook?

I have seen that in some IDEs, when you print something , a new window opens up.
my question is that is it possible to have the same thing for jupyter notebook ?
P.s:
It would be better if it was customizable; like being able to change the background color of the new window.
You'd want the newer generation of Jupyter interface, JupyterLab. (At least if you want this soon. I don't know what will be possible as Jupyter notebook 7 starts using more of the underlying machinery that JupyterLab uses.)
Default JupyterLab
Using default current JupyterLab, you can make a separate window for any output that you can drag around and arrange how you want. Right-click on an output cell and select from the menu 'Create New View for Output'. That will open a new window that respects the current JupyterLab theme. (There's a lot of theme adapting abilities so maybe that can provide what you need as far as background.) Once the new window is generated you can click and drag it around the JupyterLab window to arrange it relative to the notebook and then release when you have it outlined the way you want. You can try it right in your browser by clicking this link and letting the session spin up.
(This ability was covered in an answer to a similar question 'How to display Jupyterlab output in new tab?'.)
Similarly, you can have a window that keeps updating with the most recent output by using an attached console and toggling on 'Show All Kernel Activity'. When you have a notebook open, either right-click and select 'New Console for Notebook' or go under the main 'File' menu and select 'New Console for Notebook'. This will open a console and you can then right-click on the console pane and toggle on 'Show All Kernel Activity'. As you run things in the notebook, the output will show at the bottom of this window as well. Even rich output like plots and dataframe displays. You can click on the tab and drag to arrange this window as you wish in the main JupyterLAb pane. See some example images using this here and here.
Related:
It's not a separate window; however, a nice feature of JupyterLab is switching to 'View' to 'Render Side-by-Side' where the output goes to the side of the code cell and not below. Alternatively, you can modify the output cell in some ways like you could do in the classic notebook interface, see here.
Sidecar extension of JupyterLab
There's an extension called sidecar for Jupyterlab that I believe has more options. I wonder if you could combine widgets to control the background as you seek. Don't know about the layering possibilities there.
ipylab extension of JupyterLab
ipylab has even more abilities than sidecar for customization, with 'SplitPanel' and 'DockPanel'. Scroll through the examples shown to get an idea of the possibilities. There's also a 'launch binder' badge so you can try it out.
(You may also want to see Related projects listed at the bottom of ipylab's github page.)

How do you see your viewer items in R studio?

How can I see previous tables that I generated in the viewer instead of only the most recent thing that I ran? For example if I've run several tables and changed one or two things and I wanted to be able to compare them side by side, how do I see them both? I'm thinking about how I can scroll through an SPSS output file.
I'm not sure if this is a code thing or a settings thing. Opening a new window doesn't seem to do anything. Refreshing the viewer doesn't seem to change anything.
I can put things in the viewer no problem using view() or expss_output_viewer or out="viewer".
I can only seem to get it to display the most recent table I ran.
Click the arrows in the upper left of the viewer pane to see previously plotted tables.
Image of viewer pane with arrows highlighted
Using flextable
flextable(mtcars)
Using expss
expss_output_viewer()
as.etable(mtcars)

JupyterHub - how to debug UI issues?

We use jupyterhub cluster and without any noticeable change on our side, the notebook cells' height turned huge and static (attached a picture)
Tried to fix the issue looking at - How do I increase the cell width of the Jupyter/ipython notebook in my browser?
Managed to decrease the cells size but it's still static.
Any suggestion what has might caused the change? And how to fix this?
This is how our cells look today -
Potential fixes
My suggestion to uninstall your extensions one-by-one until the problem goes away may honestly be the fastest way to get a fix. If have a reasonably recent version of Jupyter you can list all of your installed extensions with:
jupyter nbextension list
You would then start by uninstalling any extension that relates to theme and/or styling of the notebook. It's possible that list will miss some things (eg an improperly installed extension, or issues with your own config files). The next step (after getting rid of at least all suspicious extensions) would be to go through all of the user-space data and config files that Jupyter sets up in the background. You can get the paths to all directories containing such files by running:
jupyter --paths
Small note, you can probably ignore all files in the runtime dir, these probably aren't the problem.
If a mass uninstall of your extensions makes you squeamish, another option would be to debug the CSS of a live notebook and figure out exactly where the styling of the code cells is getting screwed up.
Detailed instructions for debugging the CSS
The following instructions are for Chrome, but if you're using another browser you should be able to figure out an equivalent:
start up a notebook
right click on a code cell and select "Inspect"
this will bring up a view of the DOM node hierarchy and highlight the node representing the code cell (or some at least some part of it) that you just right clicked on
on the right side of the screen will be a window with a bunch of tabs at the top. Select "Computed", which contains the style that is actually displayed in the browser, as computed from the sum of the effects of all CSS selectors
in particular, pay careful attention to the width and height properties of the computed style. Walk up and/or down the DOM hierarchy until you find a node with a suspicious looking width or height
If a value is greyed out, that means that it's being set in a parent node
start with a suspicious looking value, then go up the hierarchy until the values seem normal again
on one side of that transition point, you should have the top-most node in your hierarchy with bad values. If you examine the "Computed" tab, you should be able to see exactly which files are setting the bad values
The identity of the files screwing up your notebook styling is the payoff here. Examining those files should help you a great deal in uncovering the real problem.

Jupyter Dashboards: Complex Layout and cell affecting display in different cell

I am trying to use Jupyter dashboard layout to position widgets on the side, while the main chart suppose to be generated in the center and most likely in a different cell (see screenshot attached).
Since I don't have good control over placement of IPython Widgets, I was trying to create this layout by positioning different jupyter cells.
Is there a way to modify widgets in one cell that would trigger updates in another cell? Or is there a better way to build such a dashboard using Jupyter dashboards?

Resources