IT, AI, Security
June 12, 2021

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.

Рис.0 - Typer Logo
Рис.1 - Использование argparse

Рис.2 - Typer
Рис.3 - Typer help