Typer CLI
Typer CLI запускает Python-скрипт как команду с аргументами, справкой и проверкой типов без подключения библиотеки в скрипте.
- 20 295 ★ репозитория
- Последний коммит
- MIT
Расширенный доступ
Почему такой уровень
- Команда исполняет Python-скрипт и его импорты с правами текущего процесса.
Установка
В терминале, через SkillFoxx CLI
npx skillfoxx add cli/typer-cliОпределит агенты на машине, покажет уровень доступа и зафиксирует версию.
Другие способы установки
Доступ и проверки
Как мы проверяемРасширенный доступИнструмент запускает код или ходит в сеть, а внешние данные только читает.
- Команда исполняет Python-скрипт и его импорты с правами текущего процесса.
Это чужой код. Посмотрите файлы в репозитории перед установкой.
Что делает
Typer читает сигнатуру функции Python и строит командный интерфейс: имена параметров становятся аргументами, аннотации задают ожидаемые типы. Если обязательный аргумент пропущен, пользователь видит его имя в сообщении об ошибке и подсказку для открытия справки. Тело функции переписывать не нужно. CLI подходит для уже готового служебного скрипта. Для приложения с несколькими операциями автор создает `typer.Typer()` и помечает функции декоратором `@app.command()`. В справке появятся отдельные подкоманды со своими аргументами; их можно запускать через Python.
Для кого. Разработчикам служебных Python-скриптов, которые передают коллегам команды с понятными параметрами и встроенной справкой.
Подходит, если
- Коллега запускает служебный скрипт, но не помнит порядок его аргументов.
- Python-функция уже готова, и автор добавляет к ней терминальный интерфейс.
- Входные числа и пути передаются из оболочки, где легко ошибиться в типе значения.
- Несколько служебных операций выросли в приложение с отдельными подкомандами.
Не подходит, если
- Нельзя выполнять содержимое выбранного Python-скрипта.
- Аннотации типов должны подтвердить корректность бизнес-логики.
- Требуется готовая прикладная команда без собственного скрипта.
Пример запроса к агенту
Покажи справку для моего проверенного main.py через Typer CLI и объясни параметры, не запуская рабочую обработку.Ограничения
Первый способ установки добавляет Typer в проект через uv, а исполняемая команда находится в его `.venv`, не в глобальном окружении. Прямой вызов `typer` и дополнение команд в оболочке требуют активации этого окружения в текущем терминале. Интерфейс зависит от сигнатуры функции и аннотаций: проверка типов ввода не подтверждает корректность прикладной логики. Скрипт и его импорты выполняются с правами процесса, поэтому даже просмотр справки следует делать только для доверенного кода.
Как отключить. Остановите скрипт и удалите зависимость из проекта при необходимости. Команда исчезнет из соответствующего окружения.
Частые вопросы
Как передать параметр обычной функции?
В примере README функция `main(name: str)` в `main.py` печатает приветствие. Вызов `typer main.py run Camila` передаст ей имя и выведет `Hello Camila`.
Как посмотреть аргументы примера?
Используйте `typer main.py run --help` для проверенного файла.
После `uv add typer` команда не найдена?
Она установлена в `.venv` проекта. На Linux и macOS выполните в его каталоге `source .venv/bin/activate`, затем повторите вызов `typer`. Для другой оболочки выберите команду в разделе Activate the Virtual Environment официального руководства.
Откуда берутся типы аргументов?
Из аннотаций функции: например, строковый параметр становится строковым аргументом. Справка показывает ожидаемый ввод.
Как вызвать тот же пример через Python?
Добавьте в скрипт `import typer` и вызов `typer.run(main)` под условием `if __name__ == "__main__"`. Затем `uv run python main.py Camila` выведет то же приветствие.
Обсуждение
Вопросов и отзывов пока нет.
Похожие
CLI-инструментыtypos, CLI проверки опечаток, показывает исправления в diff; пользователь принимает имена проекта до записи изменений.
Textual CLI запускает готовое терминальное приложение в браузере: разработчик показывает тот же Python-код через веб-сервер.
Методы для агента в одном CLI: сравнение вариантов, разбор проблем и правки кода по шагам, всего 20 слэш-команд.
CLI запускает TypeScript в Node.js без отдельной сборки, чтобы агент проверял служебные сценарии и локальные утилиты.
Линтер и форматтер для JavaScript и TypeScript без настройки, с готовыми профилями под десятки ИИ-агентов и редакторов
CLI проверяет описание OpenAPI и создает клиентские библиотеки, MCP-серверы и другие интерфейсы для вашего API.
Коротко о README
У подкоманд есть собственная справка: в расширенном примере `uv run python main.py hello --help` показывает аргументы только команды `hello`.