Я разделила данный проект на несколько файлов. Для того чтобы процесс работы был быстрее, да и в целом это намного упрощает работу. Также добавила библиотеку с логированием, чтобы все собиралось в отдельный файл в случае сбоев или же вылетов, чтобы пользователю было проще понимать в чем есть ошибка.
Также я вынесла сбор информации или те же самые тяжелые операции в отдельные потоки, чтобы интерфейс не зависал.
Данная программа нужна для сбора важной информации в сети, просмотр конкретных ошибок, которые могут возникнуть в процессе сбора.
При старте программы нужно проверить, все ли библиотеки установлены. Используя модуль логирования, все ошибки или важные события записываются в отдельный файл, так будет проще искать, что пошло не так, если программа вылетит.