Spec-Zone.ru › click

Добро пожаловать в Click

_images/click-logo.png

Click — это пакет Python для создания красивых интерфейсов командной строки композиционным способом с минимальным количеством кода. Это «Набор инструментов для создания интерфейсов командной строки». Он высоко настраиваемый, но поставляется с разумными значениями по умолчанию.

Он призван сделать процесс написания инструментов командной строки быстрым и увлекательным, одновременно предотвращая любые разочарования, вызванные невозможностью реализовать задуманный API командной строки.

Click в трех пунктах:

  • произвольное вложение команд
  • автоматическое создание страницы справки
  • поддержка отложенной загрузки подкоманд во время выполнения

Как это выглядит? Вот пример простой программы Click:

import click

@click.command()
@click.option('--count', default=1, help='Number of greetings.')
@click.option('--name', prompt='Your name',
              help='The person to greet.')
def hello(count, name):
    """Simple program that greets NAME for a total of COUNT times."""
    for x in range(count):
        click.echo(f"Hello {name}!")

if __name__ == '__main__':
    hello()

И как это выглядит при запуске:

$ python hello.py --count=3
Your name: John
Hello John!
Hello John!
Hello John!

Он автоматически генерирует хорошо отформатированные страницы справки:

$ python hello.py --help
Usage: hello.py [OPTIONS]

  Simple program that greets NAME for a total of COUNT times.

Options:
  --count INTEGER  Number of greetings.
  --name TEXT      The person to greet.
  --help           Show this message and exit.

Вы можете получить библиотеку напрямую из PyPI:

pip install click

Документация

Эта часть документации проведет вас через все шаблоны использования библиотеки.

  • Почему Click?
    • Почему не Argparse?
    • Почему не Docopt и т.д.?
    • Почему жёстко заданные поведения?
    • Почему нет автоматической коррекции?
  • Быстрый старт
    • virtualenv
    • Демо-ролик и примеры
    • Основные понятия - создание команды
    • Эхо
    • Вложенные команды
    • Регистрация команд позже
    • Добавление параметров
    • Переключение на Setuptools
  • Интеграция с Setuptools
    • Введение
    • Тестирование скрипта
    • Скрипты в пакетах
  • Параметры
    • Отличия
    • Типы параметров
    • Имена параметров
    • Реализация пользовательских типов
  • Опции
    • Назовите свои опции
    • Основные опции значения
    • Опции нескольких значений
    • Кортежи как опции нескольких значений
    • Несколько опций
    • Счёт
    • Флаги булевых значений
    • Переключатели функций
    • Опции выбора
    • Запрос
    • Ввод паролей
    • Динамические значения по умолчанию для запросов
    • Обратные вызовы и немедленные опции
    • Параметры "Да"
    • Значения из переменных среды
    • Несколько значений из переменных среды
    • Другие символы префиксов
    • Диапазонные опции
    • Обратные вызовы для валидации
    • Необязательное значение
  • Аргументы
    • Основные аргументы
    • Аргументы с переменным числом значений
    • Аргументы файлов
    • Аргументы пути к файлам
    • Безопасность открытия файлов
    • Переменные среды
    • Аргументы типа опций
  • Команды и группы
    • Вызов обратного вызова
    • Передача параметров
    • Обработка и контексты вложенных элементов
    • Декорирование команд
    • Вызов группы без команды
    • Пользовательские многокомандные элементы
    • Объединение многокомандных элементов
    • Цепочки многокомандных элементов
    • Многокомандные конвейеры
    • Переопределение значений по умолчанию
    • Значения по умолчанию контекста
    • Возвращаемые значения команд
  • Ввод пользователя
    • Запросы опций
    • Запросы ввода
    • Подтверждающие запросы
  • Документирование скриптов
    • Тексты справки
    • Предотвращение перевода строк
    • Усечение текстов справки
    • Мета-переменные
    • Короткая справка по команде
    • Справка по эпилогу команды
    • Настройка параметра справки
  • Сложные приложения
    • Основные понятия
    • Создание клона Git
    • Леничная загрузка подкоманд
  • Расширенные шаблоны
    • Псевдонимы команд
    • Изменения параметров
    • Нормализация токенов
    • Вызов других команд
    • Порядок оценки обратных вызовов
    • Передача неизвестных опций
    • Доступ к глобальному контексту
    • Определение источника параметра
    • Управление ресурсами
  • Тестирование Click-приложений
    • Основные тесты
    • Изоляция файловой системы
    • Потоки ввода
END_OF_DOCUMENT_MARKER
  • Утилиты
    • Вывод в стандартный вывод
    • Цвета ANSI
    • Поддержка средства просмотра страниц
    • Очистка экрана
    • Получение символов из терминала
    • Ожидание нажатия клавиши
    • Запуск редакторов
    • Запуск приложений
    • Вывод имён файлов
    • Стандартные потоки
    • Интеллектуальное открытие файлов
    • Поиск папок приложений
    • Отображение полос прогресса
  • Завершение команд
    • Включение завершения
    • Настройка завершения типов
    • Переопределение завершения значений
    • Добавление поддержки оболочки
  • Обработка исключений
    • Где обрабатываются ошибки?
    • Что делать, если я этого не хочу?
    • Какие исключения существуют?
  • Поддержка Unicode
    • Обработка суррогатных пар
  • Заметки по консоли Windows
    • Аргументы Unicode
    • Вывод и ввод Unicode

Справочник API

Если вы ищете информацию о конкретной функции, классе или методе, эта часть документации для вас.

  • API
    • Декораторы
    • Утилиты
    • Команды
    • Параметры
    • Контекст
    • Типы
    • Исключения
    • Форматирование
    • Разбор
    • Завершение команд
    • Тестирование

Дополнительные страницы

  • click-contrib
  • Обновление до более новых версий
    • Обновление до версии 7.0
    • Обновление до версии 3.2
    • Обновление до версии 2.0
  • Лицензия BSD-3-Clause
  • Изменения
    • Версия 8.1.8
    • Версия 8.1.7
    • Версия 8.1.6
    • Версия 8.1.5
    • Версия 8.1.4
    • Версия 8.1.3
    • Версия 8.1.2
    • Версия 8.1.1
    • Версия 8.1.0
    • Версия 8.0.4
    • Версия 8.0.3
    • Версия 8.0.2
    • Версия 8.0.1
    • Версия 8.0.0
    • Версия 7.1.2
    • Версия 7.1.1
    • Версия 7.1
    • Версия 7.0
    • Версия 6.7
    • Версия 6.6
    • Версия 6.4
    • Версия 6.3
    • Версия 6.2
    • Версия 6.1
    • Версия 6.0
    • Версия 5.1
    • Версия 5.0
    • Версия 4.1
    • Версия 4.0
    • Версия 3.3
    • Версия 3.2
    • Версия 3.1
    • Версия 3.0
    • Версия 2.6
    • Версия 2.5
    • Версия 2.4
    • Версия 2.3
    • Версия 2.2
    • Версия 2.1
    • Версия 2.0
    • Версия 1.1
    • Версия 1.0

© Copyright 2014 Pallets.
Licensed under the BSD 3-Clause License.
We are not supported nor endorsed by Pallets.
https://click.palletsprojects.com/en/8.1.x/index.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API