Вы, наверное, имеете в виду результаты хэш функций, а не сами функции? Тогда ответ прост: побайтное сравнение результатов если там хэш в сыром виде (то есть memcmp). Или посимвольное, если хэш строкой (то есть strcmp).
Как вы представляете исправление вашей ошибки без самого кода? По сообщению могу только сказать что в "grab" нет никаких "tools", к которым ваш код обращается.
Словарь не содержит ключа "'{0}'.format(two)", предлагаю в связи с этим заняться вам отладкой вашего кода хотя бы через печать оного несчастного словаря перед обращением к нему.
Сначала освойте язык и средства разработки, потом - библиотеки. Что толку вам от "курсов", в которых будет использоваться библиотека, которую вы не сможете собрать и подключить?
Микроконтроллеры это C/C++, цифровая схемотехника и специфичные протоколы типа I2C/SPI/CAN и т.п. Учите C, когда сможете написать что-то сложнее Hello World без внешних библиотек и фреймворков - берите отладочную плату и вникайте в специфику МК.