Skip to content

CLI de prévisualisation

Utilisez la CLI de prévisualisation de Potato pour valider les configurations YAML, inspecter les schémas d'annotation et rendre un aperçu statique de votre interface sans lancer le serveur complet.

La CLI de prévisualisation valide les configurations d'annotation et montre comment les schémas seront rendus, sans exécuter le serveur complet. C'est utile pour le prototypage rapide, le débogage et la validation en CI/CD.

Vue d'ensemble

La CLI de prévisualisation offre :

  • Validation de la configuration : détectez erreurs et avertissements avant le déploiement
  • Aperçu des schémas : voyez comment les schémas d'annotation seront rendus en HTML
  • Détection des conflits de raccourcis : repérez les raccourcis clavier en conflit
  • Plusieurs formats de sortie : résumé, HTML, JSON ou extraits de mise en page seuls

Utilisation de base

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

Formats de sortie

Résumé (par défaut)

Affiche un résumé textuel de la configuration :

bash
python -m potato.preview_cli config.yaml

Sortie :

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

============================================================

Sortie HTML

Générez l'aperçu d'une page HTML complète :

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

Ouvrez preview.html dans un navigateur pour voir le rendu de vos schémas d'annotation.

Sortie JSON

Générez une sortie JSON structurée pour un traitement programmatique :

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

HTML de mise en page seule

Générez seulement l'extrait HTML du schéma d'annotation :

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

C'est utile pour l'intégrer dans des gabarits personnalisés ou pour tester le rendu d'un schéma isolément.

Options de ligne de commande

OptionCourtDescription
--format-fFormat de sortie : summary, html ou json
--layout-only-lNe produire que l'extrait HTML de mise en page de la tâche
--verbose-vActiver la sortie détaillée/de débogage

Validation de la configuration

La CLI de prévisualisation valide votre configuration et signale les problèmes :

Erreurs (bloquantes)

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

Avertissements (non bloquants)

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

Codes de sortie

  • 0 : la configuration est valide
  • 1 : la configuration comporte des erreurs

Utilisez les codes de sortie dans vos pipelines CI/CD :

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

Cas d'usage

Prototypage rapide

Itérez vite sur la conception des schémas :

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

Intégration CI/CD

Validez les configurations dans votre pipeline de déploiement :

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

Développement de gabarits

Générez des extraits de mise en page pour les intégrer à des gabarits personnalisés :

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

Référence de l'API

Les fonctions de la CLI de prévisualisation s'utilisent aussi par programme :

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)

Dépannage

Erreur « Module not found »

Vérifiez que Potato est installé :

bash
pip install potato-annotation

Erreurs de rendu de schéma

Si un schéma ne parvient pas à être rendu, la sortie contiendra un message d'erreur. Vérifiez que la configuration de votre schéma est complète.

Pour aller plus loin

Pour les détails d'implémentation, voir la documentation source.