Jupyter docs for making a kernel: http://jupyter-client.readthedocs.io/en/latest/kernels.html
List of jupyter kernels: https://github.com/jupyter/jupyter/wiki/Jupyter-kernels
Jupyter seems like a cleanly designed piece of software that is easy to integrate with. I like the use of ZeroMQ for the wire protocol.