Skip to content

プレビューCLI

フルサーバーを実行せずに設定を検証し、アノテーションスキーマをプレビューする。

プレビューCLI

プレビューCLIは、フルサーバーを実行せずにアノテーション設定を検証し、スキーマがどのようにレンダリングされるかをプレビューします。ラピッドプロトタイピング、デバッグ、CI/CD検証に有用です。

概要

プレビューCLIは以下を提供します:

  • 設定の検証:デプロイ前にエラーと警告をチェック
  • スキーマのプレビュー:アノテーションスキーマがHTMLとしてどのようにレンダリングされるかを確認
  • キーバインド競合の検出:競合するキーボードショートカットを特定
  • 複数の出力形式:サマリー、HTML、JSON、またはレイアウトのみのスニペット

基本的な使い方

bash
# 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

出力形式

サマリー(デフォルト)

設定のテキストサマリーを表示します:

bash
python -m potato.preview_cli config.yaml

出力:

text
============================================================
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ページプレビューを生成します:

bash
python -m potato.preview_cli config.yaml --format html > preview.html

preview.htmlをブラウザで開いて、アノテーションスキーマの見た目を確認できます。

JSON出力

プログラム処理用の構造化されたJSON出力を生成します:

bash
python -m potato.preview_cli config.yaml --format json

レイアウトのみのHTML

アノテーションスキーマのHTMLスニペットのみを生成します:

bash
python -m potato.preview_cli config.yaml --layout-only > task_layout.html

カスタムテンプレートへの埋め込みや、スキーマレンダリングの単独テストに有用です。

コマンドラインオプション

オプション短縮形説明
--format-f出力形式:summaryhtml、またはjson
--layout-only-lタスクレイアウトのHTMLスニペットのみを出力
--verbose-v詳細/デバッグ出力を有効化

設定の検証

プレビューCLIは設定を検証し、問題を報告します:

エラー(ブロッキング)

text
ERROR: Missing required field 'annotation_task_name'
ERROR: Must have either 'data_files' or 'data_directory'

警告(非ブロッキング)

text
WARNING: No annotation schemes found in configuration
WARNING: Key '1' used by both 'schema1:Label1' and 'schema2:Label2'

終了コード

  • 0:設定が有効
  • 1:設定にエラーあり

CI/CDパイプラインで終了コードを使用します:

bash
python -m potato.preview_cli config.yaml || echo "Config validation failed"

使用例

ラピッドプロトタイピング

スキーマデザインを素早く反復します:

bash
# Edit config, then preview immediately
python -m potato.preview_cli config.yaml --format html > preview.html && open preview.html

CI/CD統合

デプロイメントパイプラインで設定を検証します:

yaml
# .github/workflows/validate.yml
- name: Validate Potato Config
  run: python -m potato.preview_cli configs/production.yaml

テンプレート開発

カスタムテンプレート統合用のレイアウトスニペットを生成します:

bash
python -m potato.preview_cli config.yaml --layout-only > templates/includes/schemas.html

APIリファレンス

プレビューCLI関数はプログラムから使用することもできます:

python
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)

トラブルシューティング

「モジュールが見つかりません」エラー

Potatoがインストールされていることを確認してください:

bash
pip install potato-annotation

スキーマレンダリングエラー

スキーマのレンダリングに失敗した場合、出力にエラーメッセージが含まれます。スキーマ設定が完全であることを確認してください。

関連情報

実装の詳細については、ソースドキュメントを参照してください。