Preview CLI
Используйте preview CLI в Potato, чтобы проверять конфигурации YAML, просматривать схемы разметки и получать статический предпросмотр интерфейса без запуска полного сервера.
Preview CLI проверяет конфигурации разметки и показывает, как будут отрисованы схемы, без запуска полного сервера. Это удобно для быстрого прототипирования, отладки и проверок в CI/CD.
Обзор
Preview CLI даёт:
- Проверку конфигурации: поиск ошибок и предупреждений до развёртывания
- Предпросмотр схем: как схемы разметки будут выглядеть в HTML
- Поиск конфликтов горячих клавиш: выявление пересекающихся сочетаний
- Несколько форматов вывода: сводка, HTML, JSON или только фрагмент разметки страницы
Базовое использование
# Default summary output
python -m potato.preview_cli config.yaml
# Or using the module directly
python -m potato.preview_cli path/to/your/config.yamlФорматы вывода
Сводка (по умолчанию)
Показывает текстовую сводку по конфигурации:
python -m potato.preview_cli config.yamlВывод:
============================================================
ANNOTATION TASK PREVIEW
============================================================
Task Name: Sentiment Annotation
Task Directory: ./my_task
Validation: PASSED
ANNOTATION SCHEMAS (2 total):
----------------------------------------
[radio] sentiment
Select the sentiment of the text...
Labels: 3
Keybindings: 3
[multiselect] topics
Select all relevant topics...
Labels: 5
Keybindings: 0
============================================================
Вывод в HTML
Сформируйте предпросмотр полной HTML-страницы:
python -m potato.preview_cli config.yaml --format html > preview.htmlОткройте preview.html в браузере, чтобы увидеть, как будут выглядеть ваши схемы разметки.
Вывод в JSON
Сформируйте структурный вывод JSON для программной обработки:
python -m potato.preview_cli config.yaml --format jsonТолько фрагмент HTML
Сформируйте только HTML-фрагмент схемы разметки:
python -m potato.preview_cli config.yaml --layout-only > task_layout.htmlЭто удобно для встраивания в свои шаблоны или для проверки отрисовки схемы в отрыве от остального.
Параметры командной строки
| Параметр | Кратко | Описание |
|---|---|---|
--format | -f | Формат вывода: summary, html или json |
--layout-only | -l | Вывести только HTML-фрагмент разметки страницы задачи |
--verbose | -v | Включить подробный отладочный вывод |
Проверка конфигурации
Preview CLI проверяет вашу конфигурацию и сообщает о проблемах:
Ошибки (блокирующие)
ERROR: Missing required field 'annotation_task_name'
ERROR: Must have either 'data_files' or 'data_directory'
Предупреждения (неблокирующие)
WARNING: No annotation schemes found in configuration
WARNING: Key '1' used by both 'schema1:Label1' and 'schema2:Label2'
Коды возврата
0: конфигурация корректна1: в конфигурации есть ошибки
Используйте коды возврата в конвейерах CI/CD:
python -m potato.preview_cli config.yaml || echo "Config validation failed"Сценарии применения
Быстрое прототипирование
Быстро дорабатывайте устройство схем:
# Edit config, then preview immediately
python -m potato.preview_cli config.yaml --format html > preview.html && open preview.htmlИнтеграция с CI/CD
Проверяйте конфигурации в своём конвейере развёртывания:
# .github/workflows/validate.yml
- name: Validate Potato Config
run: python -m potato.preview_cli configs/production.yamlРазработка шаблонов
Формируйте фрагменты разметки страницы для встраивания в свои шаблоны:
python -m potato.preview_cli config.yaml --layout-only > templates/includes/schemas.htmlСправочник по API
Функции preview CLI можно вызывать и программно:
from potato.preview_cli import (
load_config,
validate_config,
get_annotation_schemes,
detect_keybinding_conflicts,
generate_preview_html,
)
# Load and validate
config = load_config("config.yaml")
issues = validate_config(config)
# Extract schemes and check for conflicts
schemes = get_annotation_schemes(config)
conflicts = detect_keybinding_conflicts(schemes)
# Generate output
html = generate_preview_html(schemes)Решение проблем
Ошибка «Module not found»
Убедитесь, что Potato установлен:
pip install potato-annotationОшибки отрисовки схемы
Если схема не отрисовывается, в выводе будет сообщение об ошибке. Проверьте, что конфигурация схемы заполнена полностью.
Что почитать дальше
- Основы конфигурации — полный справочник по конфигурации
- Схемы разметки — типы схем разметки
- Настройка интерфейса — как настроить интерфейс
Детали реализации — в исходной документации.