Scalene
High-performance CPU, GPU, and memory profiler for Python
...Scalene performs profiling at the line level and per function, pointing to the functions and the specific lines of code responsible for the execution time in your program. Scalene separates out the percentage of memory consumed by Python code vs. native code.