Создаем красивые и удобные CLI-приложения на Python с помощью Typer и Rich
Публикация показывает, как уйти от громоздкого argparse к современному стеку для CLI на Python. Связка Typer (автогенерация команд, аргументов и --help из аннотаций типов и докстрингов, встроенная валидация) и Rich (цвета, таблицы, прогресс-бары, подсветка) сокращает boilerplate и повышает юзабилити. Автор демонстрирует переход от ручного парсинга к декларативному стилю и обосновывает ценность UX даже для консольных утилит.
В части практики собирается утилита site-checker: вход — список URL, далее HTTP-проверка через requests, индикация через track(), результаты в таблице Rich с цветовым кодом по диапазонам статусов (2xx/3xx/4xx/5xx) и обработкой исключений. Зависимости устанавливаются одной командой: pip install typer rich requests. Базовый таймаут заложен как 5 секунд.
- Инициативы: вынести интерфейс в аннотации типов; стандартизировать справку и валидацию.
- Решения: Rich-таблицы для структурированных результатов; прогресс-бары для долгих операций.
- Задания для развития: опции
--timeout/-t,--output/-o(CSV),--input-file; бонус — асинхронный вариант наasyncio+httpx. - Проблема: рост boilerplate и падение удобства при увеличении числа флагов в argparse.
Читайте также
MVVM для курильщика: почему ваша ViewModel — это помойка на 2000 строк и как это исправить
Заглянуть под капот ИИ-агентов: новый инструмент раскрывает «магию» Claude Code
Запуск gpt-oss на 20B и 120B параметров на Core i9: сравнение инференса на CPU и GPU (RTX 4090)
Telegram Bot API 9.4: цветные кнопки и премиум-эмодзи
Идеально размещённые тултипы: по углам
- Стандарт CLI на Python: Typer вместо argparse: Для внутренних консольных утилит принимаем Typer как базовый инструмент: параметры и команды описываются аннотациями типов, справка и валидация генерируются автоматически. Это уменьшает boilerplate, ускоряет онбординг и делает интерфейсы самодокументируемыми.
[Инструмент]
Зарегистрированные пользователи видят только два тезиса.
Зарегистрироваться