Typer
Когда мне требовалось приделать к Python
-скрипту CLI
-интерфейс, я обычно использовал argparse. Примерно так, как на рис.1. Нормально, но слегка морочно, особенно для мелких проектов.
Альтернативный вариант - Typer
, основанный на type hints
, доступных с Python 3.6
, предоставляет ту же возможность одной строкой кода, как на рис.2. Если этот файл назвать my_script.py, то можно запускать его с параметром:
$ python my_script.py John
или с опциями:
$ python my_scripy.py —help
Собственное содержание help
можно задать строкой в описании функции, как на рис.3.
Также доступны расширенные возможности управления аргументами и опциями командной строки, в том числе и интерактивные. Можно даже использовать callback
, что даёт практически неограниченные динамические возможности. Более того, с помощью использования декораторов можно расширить параметры командной строки операторами.
Иначе говоря, Typer
предоставляет все возможности для создания полноценного CLI
-интерфейса приложения. И гораздо удобнее.
Подробности в GitHub.
Имеется в conda
.