Google выпустила Python Fire — библиотеку для автоматического создания интерфейсов командной строки

Python Fire способна генерировать интерфейсы командной строки из любого Python-кода. Вам просто нужно вызвать функцию Fire в любой программе на Python, и она автоматически превратится в интерфейс командной строки. Установить библиотеку можно через pip install fire, а исходный код доступен на GitHub.

Как это работает?

Python Fire автоматически превращает ваш код в интерфейс командной строки без какой-либо головной боли. Вам не нужно объявлять аргументы, предоставлять какую-то дополнительную информацию или же писать функцию main, определяющую, как работает ваш код.

Вместо этого вы просто вызываете функцию Fire, и библиотека позаботится обо всем остальном. Python Fire распознает классы, объекты, словари, функции и целые модули, а потом превращает их в интерфейс командной строки вместе с документацией. Причем интерфейс командной строки остается неизменным, даже если исходный код изменился.

Пример:

Наша команда выполнится после того, как мы вызовем функцию Fire. Теперь мы можем использовать класс Example в качестве утилиты командной строки.

Кто ей пользуется?

Библиотека очень активно используется инженерами Google. Их инструмент для работы с изображениями был создан при помощи Python Fire и Python Imaging Library. В Google Brain используется инструмент для управления экспериментами, созданный при помощи Python Fire.

Что еще в ней есть?

Каждый интерфейс командной строки снабжается интерактивным режимом. Запустите интерфейс командной строки с добавкой --interactive для запуска IPython REPL с результатами вашей команды. Кроме того, многие другие полезные переменные уже определены и готовы к использованию. Для получения полного списка возможностей рекомендуем ознакомиться с официальной документацией.

Источник: блог Google Open Source