À propos du projet

python-for-android (p4a) est un outil de développement open source maintenu par l'équipe Kivy qui empaquette des applications Python en binaires Android natifs. Il fonctionne en compilant de manière croisée l'interpréteur Python et ses dépendances pour les appareils Android, puis en les regroupant avec le code Python de l'application afin que ce code soit interprété sur l'appareil lui-même. L'outil peut générer trois types d'artefacts Android : des fichiers APK pour l'installation et les tests locaux (utilisés par de nombreuses boutiques d'applications mais pas Google Play), des fichiers AAB (Android App Bundle) pour la distribution sur le Google Play Store, et des fichiers AAR (Android Archive) qui servent de bundles de ressources réutilisables pour d'autres projets. Il prend en charge plusieurs architectures de processeurs. Bien qu'il soit étroitement associé au framework Kivy, p4a est conçu pour être flexible concernant les bibliothèques backend grâce à son système de "bootstraps". Il prend également en charge PySDL2, PySDL3 et un backend WebView avec un serveur web Python. Pour les packages Python purs, les dépendances sont gérées automatiquement. Pour les packages avec des dépendances en code C, une "recette" spéciale doit être écrite pour prendre en charge la compilation croisée ; p4a est fourni avec des recettes intégrées pour de nombreuses bibliothèques populaires telles que numpy et sqlalchemy. Le projet recommande d'utiliser p4a via Buildozer, qui garantit que les dépendances correctes sont préinstallées et centralise la configuration, bien que p4a puisse également être utilisé indépendamment. Il est disponible sur PyPI et dispose d'une documentation en ligne complète comprenant un guide de démarrage rapide. Le projet est activement maintenu avec des flux de travail CI/CD pour les tests unitaires, la construction d'applications et la génération d'images Docker, et il suit un code de conduite Contributor Covenant.