Как упростить работу с аргументами в командной строке с помощью typer
Раньше для CLI-приложений на Python я использовал argparse
, потом был click
, но недавно полностью перешёл на typer. Это библиотека от автора FastAPI, и она реально 🔥
Вот простой пример:
import typer
app = typer.Typer()
@app.command()
def hello(name: str, age: int = 18):
print(f"Привет, {name}! Тебе {age} лет.")
if __name__ == "__main__":
app()
Теперь можно запускать в терминале:
$ python main.py hello Alice --age 30
Привет, Alice! Тебе 30 лет.
Что круто:
- Автоматически генерируется
--help
- Пишется почти как обычная функция
- Есть автокомплит в оболочках (bash/zsh)
- Поддержка аннотаций типов и валидации "из коробки"
Если ты всё ещё страдаешь с
argparse
, рекомендую попробовать typer
. Особенно если ты уже кайфуешь от FastAPI — синтаксис и подход очень похожи.👉@BookPython
>>Click here to continue<<