Очень простая оболочка python для argparse с поддержкой иерархических команд, которые могут быть привязаны к модулям или классам.

Вот список функций, которые argh добавляет в argparse:

  • пометить функцию как команду cli и указать ее аргументы до создания экземпляра парсера;
  • вложенные команды стали проще: никаких проблем с субпарсерами (хотя они, конечно, используются под капотом);
  • вывести тип агрумента из значения по умолчанию;
  • вывести имя команды из имени функции;
  • добавить справку по команде псевдонима root для аргумента --help;
  • разрешить передачу неупакованных аргументов определенным функциям вместо argparse.Namespace объект.

Argh полностью совместим с argparse. Вы можете смешивать код, не зависящий от argh, и код, поддерживающий argh. Просто имейте в виду, чтоargh.dispatch выполняет дополнительную работу, которую пользовательский диспетчер может не выполнять.