Version 1.1#
DataLab Version 1.1.0 (2026-02-02)#
✨ Nouvelles fonctionnalités#
API Web pour l’intégration HTTP/JSON :
DataLab propose désormais une API Web HTTP/JSON moderne comme alternative à l’interface XML-RPC existante. C’est la voie d’intégration recommandée pour les nouveaux projets, notamment pour les notebooks Jupyter et les outils web.
Accessible via : Fichier → API Web → Démarrer le serveur API Web (ou définir la variable d’environnement
DATALAB_WEBAPI_ENABLED=1)Avantages clés :
JSON pour les métadonnées et NPZ pour les données binaires (transfert efficace de grands tableaux)
Authentification par jeton Bearer pour la sécurité
Conventions REST avec documentation OpenAPI
Compatibilité WASM/Pyodide (fonctionne dans les environnements navigateur)
Points d’accès inclus :
Listage, récupération, création et suppression d’objets
Gestion des métadonnées et transfert de données binaires (format NPZ)
API de calcul pour exécuter des opérations de traitement à distance
Découverte automatique : DataLab-Kernel trouve et se connecte automatiquement à une instance DataLab en cours d’exécution sans configuration manuelle
Sécurité : Liaison localhost par défaut, avec contournement optionnel du jeton localhost pour simplifier le développement local
Compatibilité PyQt6 :
DataLab prend désormais entièrement en charge PyQt6 en plus de PyQt5
Correction de la récupération de la géométrie de l’écran pour utiliser
primaryScreen()pour la compatibilité Qt5-Qt6Le pipeline CI inclut désormais les tests PyQt6 pour garantir une compatibilité continue
Améliorations de l’API de contrôle à distance :
Remarque : Ces nouvelles fonctionnalités concernent également l’API des commandes de macro, car les macros utilisent la même interface proxy que les clients de contrôle à distance.
Ajout de la méthode
call_method()à la classeRemoteProxypour appeler n’importe quelle méthode publique sur la fenêtre principale de DataLab ou les panneaux :Permet l’accès programmatique à des opérations non exposées via des méthodes proxy dédiées (par exemple,
remove_object,delete_all_objects,get_current_panel)Prend en charge la résolution automatique des méthodes : vérifie d’abord la fenêtre principale, puis le panneau actuel si la méthode n’est pas trouvée
Le paramètre optionnel
panelpermet de cibler un panneau spécifique (« signal » ou « image »)Exécution thread-safe : les opérations GUI s’exécutent automatiquement dans le thread principal pour éviter le gel
Gestion appropriée des exceptions : les exceptions levées lors de l’exécution de la méthode (par exemple, tenter d’appeler des méthodes privées) sont capturées et propagées au client sous forme d’objets
xmlrpc.client.Faultavec le message d’erreur originalUn nouvel exemple de macro
test_call_method.pydémontre l’utilisation : suppression d’objets, obtention du panneau actuel et opérations spécifiques au panneauÉtend les capacités d’automatisation pour des flux de travail de macro avancés et le contrôle d’applications externes
Ajout de la méthode
remove_object()à l’interface proxy (locale et distante) pour la suppression sélective d’objetsSupprime l’objet actuellement sélectionné du panneau actif
Paramètre optionnel
forcepour ignorer la boîte de dialogue de confirmationComplète la méthode existante
reset_all()qui efface l’ensemble de l’espace de travail (y compris toutes les macros)
Dépendances :
Mise à jour de la dépendance Sigima vers la version 1.1.0 qui inclut de nouvelles fonctionnalités et corrections de bugs
Ajout des dépendances pour l’API Web : FastAPI, Uvicorn et Pydantic (incluses dans l’installation standard)