Renderman 21 released; Has the king returned?

Cycles uses python for the UI and some of the render launching stuff, but the main interface between the render and blender for getting for example polygon data to the renderer is in C. The difference is that with the RenderMan addon, we get the data from the blender python api and feed it to a RenderMan C binding in python.

Python modules need not be written in Python. Cycles in Blender is a Python C extension module. It uses the Python-based renderer interface, just like other external renderers. For scene data, it uses the C++ version of the RNA API (which isn’t exposed to other developers), but all that data is also accessible in a similar manner through the Python RNA API.