Вторым параметров в usort можно передать кастомную функцию со своей логикой сортировки
положите в git и делайте git diff для создание патча между правками
А насколько сложен вариант портирования приложения под IronPython?
Будет ли работать PyQt и удобно ли с ним будет работать?