Happy to see this direction. I think that the best approach to make Leo
and Jupyter collaborate without one becoming the other.

As I have said before, the idea is to go from files to services and for
that, I would use the Jupyter Kernel protocol to communicate with Leo,
making nodes in Leo behave as Jupyter cells, which means that they can
send calculations to the Jupyter Kernel and get results back that would
be "output" nodes in Leo. I would start with the Jupyter Client
documentation [1], making Leo behave as one of such clients.

[1] http://jupyter-client.readthedocs.io/en/latest/

Cheers,

Offray

On 14/09/17 11:39, Terry Brown wrote:
> On Thu, 14 Sep 2017 11:21:03 -0500
> "Edward K. Ream" <[email protected]> wrote:
>
>> On Thu, Sep 14, 2017 at 11:03 AM, Terry Brown <[email protected]>
>> wrote:
>>
>> Right - my thought is that we want to be able to execute any Jupyter
>>> cell, be it in Python or javascript or R or Go or whatever.  And
>>> making that happen, from software installation to invocation to
>>> exposing variables across environments, should be Jupyter's
>>> problem, not ours.
>> ​Ok.
>>
>> ​Funny how my memory works.  I remembered that I have a j.bat file
>> that starts the jupyter server.  It just executes "jupyter
>> notebook".  This serves jupyter pages on http://localhost:8888/
>>
>> So a simple http client should be able to access the data as the
>> jupyter web page at http://localhost:8888/tree does.
>>
>> There may be other ways to access this data, but I would imaging that
>> the web-based approach would be most natural.
>>
>> What do you think?
> Don't know how much of Jupyter's API it exposes through the web.  I
> think interacting with it programatically via the user facing HTML,
> while possible, would be fiddly and slow.  I guess it could have a JSON
> over HTTP kind of API that might be quicker, purely speculation, may
> not exist. But from Leo's point of view I was assuming using a Python
> API.
>
> import jupyter
> nb = jupyter.load_notebook('...')
> nb.cells[3].execute()
> p.b = nb.cells[3].result.as_text()
>
> or whatever, just making stuff up, it's easier that way ;-)
>
> Cheers -Terry
>


-- 
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.

Reply via email to