Size: 3362
Comment: Update Chaquopy
|
Size: 3349
Comment: Add native package list links
|
Deletions are marked like this. | Additions are marked like this. |
Line 4: | Line 4: |
|| Python versions || Open-source || Google Play links || User interface || Other Android APIs || Java-to-Python integration || 3rd party libraries || Standalone Android APK || iOS || Desktop OSs || || '''[[https://beeware.org|BeeWare]]''' is a collection of tools for building native user interfaces. || 3.4+ || Yes || None || Native Android || All || Yes || Pure Python, plus any Java library || Yes || Yes || Yes || || '''[[https://chaquo.com/chaquopy/|Chaquopy]]''' is a plugin for Android Studio's Gradle-based build system. || 3.8 || No || [[https://play.google.com/store/apps/details?id=com.chaquo.python.demo3|Demo]] || Native Android || All || Yes || Pure-Python and [[https://chaquo.com/pypi-7.0/|selected native]] || Yes || No || No || || '''[[https://kivy.org/docs/guide/android.html|Kivy]]''' is a cross-platform OpenGL-based user interface toolkit. || 2.7, 3.5, 3.6 || Yes || [[https://play.google.com/store/apps/details?id=org.kivy.showcase|Demo]] || Kivy || All via PyJNIus, or some via Plyer || No || Pure-Python and selected native || Yes || Yes || Yes || || '''[[https://www.riverbankcomputing.com/software/pyqtdeploy/intro|pyqtdeploy]]''' is a tool for deploying PyQt applications. || 3.6 || Yes || None || Qt || Any exposed by Qt || No || Pure Python and selected native || Yes || Yes || Yes || || '''[[http://www.qpython.com/|QPython]]''' is an on-device script engine and development environment. || 2.7, 3.2, 3.6 || Yes || [[https://play.google.com/store/apps/details?id=org.qpython.qpy|Python 2]] <<BR>> [[https://play.google.com/store/apps/details?id=org.qpython.qpy3|Python 3]] || Kivy, SL4A || All via PyJNIus, or some via SL4A || No || Pure-Python and selected native || No || No || No || || '''[[https://termux.com/|Termux]]''' is a Linux distribution for Android that ships Python as well as a local build environment || 2.7, 3.6 || Yes || [[https://play.google.com/store/apps/details?id=com.termux|Termux]], [[https://play.google.com/store/apps/details?id=com.termux.api|Termux:API]] (command-line wrappes) || terminal || only by calling termux's command line wrappers || No || any where dependencies are packaged || No || No || No || |
|| Python versions || Open-source || Google Play links || User interface || Other Android APIs || Java-to-Python integration || Native Python packages || Standalone Android APK || iOS || Desktop OSs || || '''[[https://beeware.org|BeeWare]]''' is a collection of tools for building native user interfaces. || 3.4+ || Yes || None || Native Android || All || Yes || None || Yes || Yes || Yes || || '''[[https://chaquo.com/chaquopy/|Chaquopy]]''' is a plugin for Android Studio's Gradle-based build system. || 3.8 || No || [[https://play.google.com/store/apps/details?id=com.chaquo.python.demo3|Demo]] || Native Android || All || Yes || [[https://chaquo.com/pypi-7.0/|List]] || Yes || No || No || || '''[[https://kivy.org/docs/guide/android.html|Kivy]]''' is a cross-platform OpenGL-based user interface toolkit. || 2.7, 3.5, 3.6 || Yes || [[https://play.google.com/store/apps/details?id=org.kivy.showcase|Demo]] || Kivy || All via PyJNIus, or some via Plyer || No || [[https://github.com/kivy/python-for-android/tree/develop/pythonforandroid/recipes|List]] || Yes || Yes || Yes || || '''[[https://www.riverbankcomputing.com/software/pyqtdeploy/intro|pyqtdeploy]]''' is a tool for deploying PyQt applications. || 3.6 || Yes || None || Qt || Any exposed by Qt || No || Some || Yes || Yes || Yes || || '''[[http://www.qpython.com/|QPython]]''' is an on-device script engine and development environment. || 2.7, 3.2, 3.6 || Yes || [[https://play.google.com/store/apps/details?id=org.qpython.qpy|Python 2]] <<BR>> [[https://play.google.com/store/apps/details?id=org.qpython.qpy3|Python 3]] || Kivy, SL4A || All via PyJNIus, or some via SL4A || No || [[http://qpypi.qpython.org/search/|List]] || No || No || No || || '''[[https://termux.com/|Termux]]''' is a Linux distribution for Android that ships Python as well as a local build environment || 2.7, 3.6 || Yes || [[https://play.google.com/store/apps/details?id=com.termux|Termux]], [[https://play.google.com/store/apps/details?id=com.termux.api|Termux:API]] (command-line wrappes) || terminal || only by calling termux's command line wrappers || No || Any where dependencies are packaged || No || No || No || |
There are several ways to use Python on Android. The following table summarizes those projects which are currently active:
Project |
General |
APIs |
Build |
|||||||
Python versions |
Open-source |
Google Play links |
User interface |
Other Android APIs |
Java-to-Python integration |
Native Python packages |
Standalone Android APK |
iOS |
Desktop OSs |
|
BeeWare is a collection of tools for building native user interfaces. |
3.4+ |
Yes |
None |
Native Android |
All |
Yes |
None |
Yes |
Yes |
Yes |
Chaquopy is a plugin for Android Studio's Gradle-based build system. |
3.8 |
No |
Native Android |
All |
Yes |
Yes |
No |
No |
||
Kivy is a cross-platform OpenGL-based user interface toolkit. |
2.7, 3.5, 3.6 |
Yes |
Kivy |
All via PyJNIus, or some via Plyer |
No |
Yes |
Yes |
Yes |
||
pyqtdeploy is a tool for deploying PyQt applications. |
3.6 |
Yes |
None |
Qt |
Any exposed by Qt |
No |
Some |
Yes |
Yes |
Yes |
QPython is an on-device script engine and development environment. |
2.7, 3.2, 3.6 |
Yes |
Kivy, SL4A |
All via PyJNIus, or some via SL4A |
No |
No |
No |
No |
||
Termux is a Linux distribution for Android that ships Python as well as a local build environment |
2.7, 3.6 |
Yes |
Termux, Termux:API (command-line wrappes) |
terminal |
only by calling termux's command line wrappers |
No |
Any where dependencies are packaged |
No |
No |
No |
In addition, there are a number of projects which are inactive or incomplete:
- SL4A (Scripting Layer for Android), originally named ASE (Android Scripting Environment), is a set of "facades" which expose a greatly-simplified subset of the Android API. The project was originally developed within Google, but is no longer supported by them. However, a fork of the library is distributed with QPython.
PySide (the Python binding for the Qt toolkit) has some preliminary support for Android.
Although Android's primary programming language is Java, there is no known port of Jython to the platform. Android support in BeeWare is achieved using VOC, a tool that compiles Python source code to Java class files. This allows Python code to be executed as a native binary on the JVM.