The design phase has gone smoothly, so let's consider some strategies for making fully functional Jupyter cells within Leo. This is possible, in at least two ways:
1. Create a fully functional html representation of each cell, and render that html in Leo's existing body pane. It may be possible to use `nbconvert --to html` to get the html. 2. Create a custom Qt widget that looks and works exactly like the desired cell. The real work is connecting each cell to the appropriate kernel, and displaying the results. Clearly is possible--both IPython itself and the Jupyter notebook do it. But there is *lots* of magic (behind-the-scenes complications) involved. Furthermore, pyzo renders graphics output in a popup Qt pane, which is too bad because Leo can't use the pyzo code as is. And pyzo puts the following bizarre warning in the IPython pane every time it produces graphics output: QQQ Note on using QApplication.exec_(): The GUI event loop is already running in the pyzo kernel, and exec_() does not block. In most cases your app should run fine without the need for modifications. For clarity, this is what the pyzo kernel does: - Prevent deletion of objects in the local scope of functions leading to exec_() - Prevent system exit right after the exec_() call QQQ Not exactly smooth :-) *Summary* Leo's existing body pane may suffice for rendering an html representation of each pane. Otherwise, a custom Qt widget will be needed, with separate areas for labels and code and output. No big deal. Anyone care to create such a thing? Communicating with the Jupyter kernels is the major task. Happily, the newish Jupyter architecture guarantees that Leo can, in fact, be a Jupyter client. All it takes is blood, sweat and code. pyzo may be a guide, but it isn't a complete guide. EKR -- You received this message because you are subscribed to the Google Groups "leo-editor" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at https://groups.google.com/group/leo-editor. For more options, visit https://groups.google.com/d/optout.
