Разработка инструмента была облегчена тем, что нужная функциональность в Firefox реализована в коде на ECMAScript и входит в состав любого варианта Firefox, но включается во время выполнения кода в зависимости от установленных значений констант. Константы («MOZ_DEV_EDITION», «MOZ_REQUIRE_SIGNING») определяются в одном файле («modules/addons/AddonSettings.jsm»), который находится в zip-архиве «/usr/lib/firefox/omni.ja».
Соответственно, предложенная утилита парсит нужный файл с помощью esprima-python, патчит AST, и сериализует с помощью jscodegen.py. Работа с форматом zip производится с помощью libzip.py — биндингов к libzip. Указанные библиотеки рекомендуется установить вручную из git.
Также можно отметить скрипт unpin.py, который позволяет отвязать ограничения «{«, «==» и «~=» на версии зависимостей в предсобранном пакете формата wheel, используемом многими разработчиками, что позволяет избежать их автоматического даунгрейда при установке нужного пакета через pip при настройках по умолчанию.
Источник: http://www.opennet.ru/opennews/art.shtml?num=57398