Version 1.1#
DataLab Version 1.1.1 (08/04/2026)#
Remarque : Il s’agit d’une version de maintenance qui corrige un seul bug affectant uniquement la version exécutable autonome de DataLab pour Microsoft Windows. Si vous avez installé DataLab via
pip,conda, ou si vous utilisez DataLab sur Linux ou macOS, vous n’êtes pas affecté par ce bug et il n’est pas nécessaire de mettre à jour vers cette version.
🛠️ Corrections de bugs depuis la version 1.1.0#
Les fonctionnalités de rotation/symétrie échouent ou se bloquent dans la version autonome :
Correction des fonctionnalités de rotation et de symétrie d’image (« Symétrie horizontale », « Symétrie verticale », « Rotation 90° gauche/droite », « Symétrie diagonale ») qui plantaient avec un
ImportErrorou se bloquaient indéfiniment dans la version autonome Windows (build PyInstaller)Le problème était causé par le worker exécuté en mode multiprocessus qui devait importer la chaîne complète des modules GUI de DataLab lors du dé-pickling du wrapper de transformation géométrique, déclenchant des imports circulaires dans l’exécutable PyInstaller
Le code de post-traitement géométrique a été déplacé vers un module autonome sans dépendances GUI, de sorte que le processus de travail ne déclenche plus la chaîne d’importation GUI de DataLab
Cela n’était pas reproductible avec la version package Python de DataLab, uniquement avec l’exécutable autonome
Ceci clôture Issue #304 - Les fonctionnalités de rotation/symétrie échouent ou se bloquent dans la version autonome (PyInstaller)
DataLab Version 1.1.0 (02/02/2026)#
✨ 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)