The DR core should work on python applications. If there's a JIT (e.g. PyPy), drmemtrace support is in place if any generated code is in its own memory (
https://github.com/DynamoRIO/dynamorio/issues/2062) by writing non-library encodings out at tracing time as they cannot be determined in -offline post-processing. Overhead may be high with generated code as both the DR core and tracer have to do extra work. It is quite possible that nobody has spent much time testing python. Any stability issues found should be filed as bugs. If your question is more about whether a drmemtrace trace will help you analyze the top-level python app itself, maybe not as it will be low level and show you the interpreter/JIT level.