Как написать правильный API под python?
Может это вам поможет. Список блогов по написанию api. Даже на python есть аж целых 4 примера
Я раньше использовал bottle исключительно под веб для API, на сколько я понимаю все эти фреймворки типа fhalcon и bottle не позволяют использовать одновременно еще и консольный вариант, потому возможно нужно отдельно писать отдельно под консоль какую-то обвертку, а уже в библиотеках своих учитывать эти все аргументы. Но чувствую, что это костыль:)
Кстати, есть ли у кого опыт с libvirt-python? Не нашел в документации как менять конфиг домена по типу virsh edit, неужели "руками" сам xml в /etc/libvirt/qemu/domain.xml?