Skip to content

Does xeus or one of its subprojects implement the jupyter client protocol? #276

Description

@shakfu

Hi,

I’m working on a python3 interpreter plugin for MaxMSP (https://github.com/shakfu/py-js) implemented with the python c-api. While it works ok, one of the intractable problems is related to the proper unloading of c-extensions such as numpy. Basically I can use a c-extension but I have to restart the host application if I call Py_FinalizeEx(). I think this is almost a deal-breaker for some.

Thinking how Jupyter solves these issues, I’ve been considering whether it would be possible to implement a very basic client / frontend at the Max/MSP side which communicates with a python (or otherwise) kernel using Jupyter protocols. This would be implemented in c or c++.

I raised this question at the jupyter forums and someone was kind enough to point me to the xeus project in case it, or one its subprojects, had already implemented the client side of the jupyter protocol in c or c++.

So far, I have a proof of concept Max external using zmq from the client side (thread-per-zmq-context to make it non-blocking to the Max ui) to communicate to a zmq server using basic request-reply type of exchange. Probably next step would be to create JSON message which conform to the client protocol via a library such as json-c. Nonetheless, if there is a something like your kernel code for the client side of the protocol in c++ or c it would obviously save a lot of time.

Thanks in advance for your help!

S

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Fields

    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions