В python есть негласное правило - никогда не повторяйся. Чаще всего если в программе приходиться писать почти одно и то-же два раза, значит вы что-то сделали не так. Я приведу пример, как можно автоматизировать генерацию внешних API таким образом, что достаточно будет в одном месте в удобной и универсальной форме описать поддерживаемые вызовы, а все внешнее API для этих вызовов сделает написаный один раз код.
Итак мы пишем серверный компонент программы, который должен контролироваться внешними утилитами. Типичные варианты управления:
- CLI - административный интерфейс командной строки, так-же удобен для разработки
- REST - для других языков, WebUI & Co
- RCP в каком-то виде (thrift, PyRo, etc)
Нам нужна библиотека, которая позволит один раз задать интерфейсы API функций, сгенерирует по ним интерфейсы для всех внешних API, будет автоматически проверять входящие параметры и сделает удобочитаемую документацию. Для начала хватит.