Когда-то я уже писал про icecream. Настало время копнуть чуть глубже в библиотеки для дебаггинга принтами.
q – древняя библиотека, появившаяся ещё до icecream. Делает примерно то же самое, тоже всё цветное и красивое, но пишет результат в
/tmp/q
, чтобы в логах самого проекта не затерялось. А ещё можно использовать как декоратор.q – порт q на Go. Хоть дебаггеры на Go работают гораздо лучше, чем на Python, всё равно пригодится.
PySnooper – декоратор (это снова про Python, да), который отслеживает изменение всех переменных внутри функции, время выполнения каждой строчки, вот это вот всё. Когда он появился, про него, кажется, все писали. Интересно, сейчас кто-нибудь его активно использует?
Вообще, я вчера начал копать в это всё, потому что появилась идея, что в coverage report было бы удобно ещё видеть не только какие строчки выполнились, но и значения переменных, которые привели к выполнению данной ветки кода. И вот эти вот все библиотеки пусть делают не то же самое, но довольно близко.