Preswald
Structured Labs · Programmation
Preswald est un framework open source qui transforme des scripts Python en apps de données interactives et les empaquette en fichiers autonomes qui tournent dans le navigateur sans serveur.

À propos de Preswald
About
Qu'est-ce que Preswald
Preswald est un générateur de sites statiques pour apps de données interactives. Il est développé par Structured Labs et distribué sous licence Apache 2.0. Vous écrivez l'app en Python, puis une seule commande la compile en un dossier de fichiers statiques que vous pouvez ouvrir dans un navigateur ou transmettre à quelqu'un d'autre. Rien n'est à installer sur la machine qui l'exécute.
Le problème visé, c'est la livraison. Un analyste peut monter une analyse avec pandas et Plotly dans un notebook, mais la partager suppose souvent que l'autre personne prépare un environnement Python. Preswald réunit votre code, vos données et votre interface dans un paquet portable qui tourne hors ligne. En interne, il s'appuie sur WebAssembly : il exécute Pyodide pour Python et DuckDB pour les requêtes directement dans l'onglet du navigateur.
Ce choix de conception a des contreparties qu'il vaut mieux connaître d'emblée. Comme tout tourne côté client, les jeux de données très volumineux et les calculs lourds restent limités par la machine et la mémoire du navigateur du visiteur. Le projet est aussi jeune, et plusieurs bugs signalés par la communauté autour du réaffichage des graphiques montrent qu'il mûrit encore. Le site officiel redirige désormais vers Structured Labs, qui poursuit le développement de Preswald aux côtés de ses autres produits.
Pour démarrer
- Installez le paquet avec
pip install preswaldouuv pip install preswald. - Lancez
preswald init my_apppour générer la structure du projet, avec un fichier d'app, une configuration et des données d'exemple. - Modifiez le fichier Python et importez des composants d'interface comme
text,tableetget_dfpour construire l'app. - Lancez
preswald runpour démarrer un serveur de développement local et prévisualiser l'app sur localhost. - Lancez
preswald exportpour générer un paquet statique dans un dossierdist/, qui tourne hors ligne et peut être partagé.
Informations sur le produit
Aperçu des tarifs, des plateformes compatibles et des performances de Preswald.
Idéal pour
Les utilisateurs, tâches et cas d'usage où cet outil convient le mieux.
Utilisateurs
- Analystes de données
- Développeurs Python
- Équipes qui passent le travail à d'autres services
- Équipes soucieuses de la confidentialité
Tâches
- Construire des tableaux de bord d'analyste
- Rédiger des rapports interactifs
- Publier des outils d'inspection de données
- Préparer des kits hors ligne
Cas d'usage
- Confier un outil à un collègue non technique
- Travailler sur des données confidentielles
- Prototyper un produit de données rapidement
- Fournir un outil structuré à un agent IA
Fonctionnalités clés
Écriture centrée sur Python
Vous construisez toute l'app en Python, avec des fonctions d'aide pour le texte, les tableaux, les graphiques et les formulaires. Il n'y a pas de JavaScript à écrire ni de runtime de notebook à affronter. Pour qui est déjà à l'aise avec pandas, le passage du script d'analyse à l'app fonctionnelle est court.
Export basé sur les fichiers
Une seule commande preswald export compile l'app en site statique dans un dossier dist/. Cette sortie contient tout le nécessaire pour l'exécuter : vous pouvez la compresser, l'héberger ou la déposer dans un dossier partagé. Elle fonctionne hors ligne dans tout navigateur moderne.
Calcul dans le navigateur avec Pyodide et DuckDB
Le runtime exécute Python via Pyodide et les requêtes via DuckDB, tous deux compilés en WebAssembly. Le traitement réel se fait donc dans l'onglet, pas sur un serveur distant. DuckDB traite vite du SQL analytique sur des fichiers locaux, et c'est ce qui rend possibles des apps de données réactives dans le navigateur.
Moteur réactif
Preswald suit un graphe de dépendances de votre état et ne réexécute que les parties de l'app touchées par un changement. Quand l'utilisateur bouge un filtre, l'app recalcule seulement les sorties concernées au lieu de tout le script. Les apps interactives restent ainsi réactives à mesure qu'elles grossissent.
Composants d'interface composables
Le framework fournit des briques prêtes à l'emploi : tableaux, graphiques, formulaires et éléments de mise en page. Vous les placez dans votre script et elles s'affichent dans une interface cohérente. Vous évitez ainsi d'écrire à la main le balisage et le style des vues de données courantes.
Exécution locale par défaut
Comme les apps tournent entièrement dans le navigateur, il n'y a pas de backend à déployer, sécuriser ou payer. Les données restent sur la machine où l'app tourne, ce qui convient aux jeux sensibles et au travail de terrain hors ligne. Cette même propriété limite la quantité de données et de calcul qu'une app peut absorber.
Open source sous Apache 2.0
Preswald est sous licence Apache 2.0 et développé ouvertement sur GitHub : vous pouvez lire le code, ouvrir des tickets et contribuer. Le projet est maintenu par Structured Labs, avec une communauté active sur Slack et dans les discussions GitHub.
Avantages et inconvénients
Avantages
- Vous écrivez les apps en Python, donc les analystes partagent leur travail sans apprendre une pile front-end.
- La sortie est un paquet statique autonome qui tourne hors ligne dans le navigateur, sans serveur à déployer.
- DuckDB et Pyodide amènent du vrai SQL et de la vraie exécution Python jusqu'à l'onglet du navigateur.
- Les réexécutions réactives gardent les tableaux de bord interactifs véloces à mesure qu'ils grandissent.
- La licence Apache 2.0 écarte toute dépendance à un fournisseur et laisse une liberté totale d'auto-hébergement.
Inconvénients
- Tout tourne côté client, donc les gros jeux de données et les calculs lourds butent sur les limites de mémoire et de vitesse de la machine du visiteur.
- Le projet est jeune, et les bugs signalés par la communauté sur le réaffichage des graphiques montrent que le runtime mûrit encore, donc des aspérités restent possibles.
- Aucune API cloud documentée n'existe, donc les équipes qui veulent un backend managé doivent chercher ailleurs ou héberger elles-mêmes.
- Livrées via le navigateur, les apps dépendent d'un navigateur moderne et ne conviennent pas aux tâches planifiées ou aux serveurs sans interface.
Questions fréquentes
Preswald crée des apps de données interactives en Python et les empaquette en fichiers statiques qui tournent dans le navigateur. Il convient aux tableaux de bord, rapports, outils d'inspection de données et prototypes à partager sans demander à quiconque de préparer un environnement Python.
Contenus associés
Découvrez des outils, des compétences et des articles liés à Preswald.
Alternatives à Preswald

Udon
Udon · Programmation · ProductivitéUdon transforme un Mac Apple Silicon en serveur personnel piloté depuis le navigateur, avec conteneurs, partages de fichiers et un administrateur système IA en option.

offstage
offstage cloud · Programmation · Productivitéoffstage confie aux agents IA et aux jobs de CI un vrai Mac : un compte macOS 27 sur Apple silicon, piloté par API et facturé à la seconde.
BotBus
Chengdu Tuyang Tusen Technology Co., Ltd. · Programmation · ProductivitéBotBus permet de contrôler des agents IA depuis son téléphone ou sa montre, même quand ils tournent sur l’ordinateur resté au bureau : vous validez les commandes, lancez des tâches et lisez les résultats.
