Skip to content
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

Global output area for the notebook #75

Open
SylvainCorlay opened this issue Dec 7, 2016 · 4 comments
Open

Global output area for the notebook #75

SylvainCorlay opened this issue Dec 7, 2016 · 4 comments

Comments

@SylvainCorlay
Copy link
Member

This is something that has come up a few times in the past in discussions on various topics such as connecting multiple clients to a kernel and interactive widgets.

There should be a global output for the notebook, not only in the UI but also in the document format. For the following reasons:

  1. There are multiple cases where stdout / stderr messages are not uniquely bound to a cell of the notebook and are therefore lost to the user.
  • an output message broadcast from another client connected to a kernel (e.g. a console)...
  • an stderr / stdout message that comes from events that originated from a widget model message (and not a view) which are not bound to a cell.
  1. This information should probably part of the notebook format. This kind of notebook deserves to be saved as much as the cell output area.

If we do so, information such as the widget manager state could become global output instead of notebook-level metadata. Indeed such an output would be a more natural location for transient information than metadata, which conveys the idea of more static information.

Not all front-ends need to implement a UI for that notebook-level output area, but I imagine that it could be displayed optionally, or simply accessible through convenience js fonctions for people who work in the front-end.

@SylvainCorlay
Copy link
Member Author

^ @minrk @takluyver

@rgbkrk
Copy link
Member

rgbkrk commented Dec 7, 2016

As an addition to (1), anything that creates a child process that writes to stdout and stderr ends up not shown in the notebook (this is what @takluyver was hoping to address with the kernel nanny IIRC). I've been thinking about how I'd want general kernel output that didn't go over the normal messages to appear as a separate rolling log (like a side terminal). This would be useful for my current operations where a kernel runs on the JVM and generally has startup issues. If it can't even start then it doesn't even get ZMQ started and the user has no idea why the kernel is failing (and may not have quick access to the notebook server logs).

@rgbkrk
Copy link
Member

rgbkrk commented Dec 7, 2016

On the scales of agreement, I'm not sure I believe in serializing a global output format. I am in agreement that there is a problem to solve here though. 👍

@minrk
Copy link
Member

minrk commented Dec 7, 2016

This would be a single output area on the notebook, for example:

nb.global_outputs = [
    ...
]

otherwise identical to the .outputs list of a code cell?

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants