"VisualAge for Java" supported an internal tool api that made it possible for third party extenders to extend the main product. This may seem very old-school and common THESE days, but in 1998 it was a very unique thing for a software development IDE to do. A "tools server" which hosted this api within an HTTP service running inside the ide's process handled inter-process comm. Again, not such a big deal by today's standards, but very unique approach in its day. This approach of using HTTP service to manage a good chunk of the inter-process communication was well received. IBM gave this "Tools API Server", which was my simple term, the name "Remote Access to Tool API. I googled for some info and found at least a link here to the first version which shipped with VA /Java 3.5:
http://web.agelid.com/protect/utile/documentation/visualAge/en_us/remacc.pdf
I like to lightly mess around with code to keep my mind active and so I have taught myself Python and love working with Pythonista. I have been thinking about the various ways members of this forum have been extending Pythonista in exactly this kind of way with shells, the action menu and the like. Since both Python and Pythonista have deep support for HTTP so I am thinking about putting some ideas together. I'm neither in a position to take ideas yet but I am "just looking" at the various tools this community has already built with the idea of extending the extension mechanism itself.
I'm not yet sure if there is even a use case for this sort of thing because in the case of VA /Java, there was at least an exposed api for third parties to hook in to but as yet I don't see anything similar in Pythonista. If there is such an interest for the community to similarly extend the Pythonista tool itself I think there will need to more to expose than is currently the case. But I am investigating nevertheless whether a tools server api would be a useful thing or not.