À propos du projet

Pygbag est un outil polyvalent conçu pour empaqueter et exécuter des applications Python et Pygame directement dans les navigateurs web modernes, y compris les versions mobiles. Il sert d'empaqueteur, de serveur de test et de simulateur, permettant aux développeurs de porter des jeux Python et des applications interactives sur le web grâce à WebAssembly (Wasm). Fonctionnalités clés : - Exécution directe dans le navigateur : exécute du code Python de manière transparente dans les navigateurs web modernes, y compris Safari et Chrome mobiles. - Boucle compatible asynchrone : nécessite que la boucle principale de l'application soit compatible asynchrone (via asyncio). - REPL interactif : offre un terminal interactif et un environnement REPL pour tester et déboguer directement dans le navigateur. - Interface en ligne de commande : fournit une CLI riche avec des options pour la compilation, l'empaquetage, la personnalisation des noms d'application, des icônes, des modèles et la gestion SSL. - Prise en charge de CPython et Pygame : prend spécifiquement en charge pygame-ce (pygame community edition) et les versions précompilées de CPython (jusqu'à 3.14). - Optimisation des ressources : inclut un optimiseur de ressources et une gestion du cache pour réduire le transfert réseau et améliorer les temps de chargement. Démarrage rapide : Pour utiliser pygbag, installez-le via pip et exécutez-le sur un dossier contenant un main.py avec une boucle asynchrone : pip3 install pygbag --user --upgrade pygbag your.app.folder Ensuite, accédez à l'URL du serveur de test local (par défaut http://localhost:8000) dans un navigateur moderne. Compatibilité : - Les navigateurs basés sur V8 (Chromium, Brave, Chrome) sont préférés en raison des restrictions de chargement de WebAssembly de base. - Pour Safari mobile, iOS 15.x ou version ultérieure est requis. La lecture audio au démarrage doit être évitée, et --ume_block 0 est recommandé.