Typer CLI

Typer CLI запускает Python-скрипт как команду с аргументами, справкой и проверкой типов без подключения библиотеки в скрипте.

  • 20 295 ★ репозитория
  • Последний коммит
  • MIT
CLI

Расширенный доступ

Почему такой уровень

  • Команда исполняет Python-скрипт и его импорты с правами текущего процесса.
Все причины и проверки

fastapi/typer

Установка

В терминале, через 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` выведет то же приветствие.

Обсуждение

Вопросов и отзывов пока нет.

typos, CLI проверки опечаток, показывает исправления в diff; пользователь принимает имена проекта до записи изменений.

CLIРасширенный доступ4,2 тыс.Звезды репозитория

Textual CLI запускает готовое терминальное приложение в браузере: разработчик показывает тот же Python-код через веб-сервер.

CLIРасширенный доступ37,6 тыс.Звезды репозитория

Методы для агента в одном CLI: сравнение вариантов, разбор проблем и правки кода по шагам, всего 20 слэш-команд.

CLIРасширенный доступ125Звезды репозитория

CLI запускает TypeScript в Node.js без отдельной сборки, чтобы агент проверял служебные сценарии и локальные утилиты.

CLIРасширенный доступ12,2 тыс.Звезды репозитория

Линтер и форматтер для JavaScript и TypeScript без настройки, с готовыми профилями под десятки ИИ-агентов и редакторов

CLIРасширенный доступ3,4 тыс.Звезды репозитория

CLI проверяет описание OpenAPI и создает клиентские библиотеки, MCP-серверы и другие интерфейсы для вашего API.

CLIРасширенный доступ458Звезды репозитория

Коротко о README

У подкоманд есть собственная справка: в расширенном примере `uv run python main.py hello --help` показывает аргументы только команды `hello`.

Бейдж для README

Сообщить о проблеме

Foxx AITyper CLI
Foxx AI

Я Foxx AI и уже разобрал этот инструмент. Спросите про установку, настройку или что угодно еще, отвечу простыми словами.