Para desarrollar una aplicación móvil multi-plataforma, debes utilizar un conjunto de herramientas de widgets multi-plataforma: Toga. Toga abstrae las diferencias entre las distintas plataformas móviles, proporcionando una API común en Python para el desarrollo de aplicaciones.

Esta API utiliza las capacidades de Rubicon y VOC para acceder a bibliotecas de sistemas nativos. Rubicon es una librería puente que te da acceso transparente a todas las clases nativas de Objective C que proporciona iOS. VOC, por otro lado es un transpilador - toma el código fuente de Python, lo compila a un árbol de sintaxis abstracta, AST (por sus siglas en inglés) y luego transpila ese AST en bytecode compatible con Java. El resultado final es que los archivos de código fuente de Python se compilan directamente en un archivo Java .class, que se puede empaquetar en una aplicación de Android. VOC también le permite acceder a los objetos Java nativos como si fueran objetos Python, implementar interfaces Java con clases en Python y subclases de Java con clases Python. Utilizando esto, puedes escribir una aplicación de Android directamente usando las API de Android nativas.

Una vez que hayas escrito tu aplicación móvil, puedes usar Briefcase para empaquetar tu código Python para plataformas específicas. Briefcase toma la definición de config.py de distutils para tu proyecto de Python, y usa esa metadata para generar un proyecto de iOS o Android, compilar tu código de Python y ubicar los artefactos compilados para que se encuentren cuando se ejecute la aplicación. El proyecto de base se genera utilizando la Plantilla Python para iOS y la Plantilla Python para Android.

Sigue el tutorial en los documentos de Briefcase para empezar!