tool interface in Python
Is there any project in Python about tool interface?
In Java, it gets JVMTI which allows users easily build tools upon it. For example, for an APM framework, it allows you use Java agent to dynamically trace functions in your application. And you don't have to modify or restart your application. Applications like VisualVM could inspect Java VM dynamically.
But in Python, although I know it's already very reflective, but during work sometimes I wanna inspect the memory our Python VM uses, detect the hotspot of our application, monitoring some API call chains, I always have to restart the VM, modify the code(monkey_patch or directly introduce probes in application).
So is there any project exploring the possibility in this direction? Or maybe I have missed any common strategies to achieve these functionalities?