QPython3 - Python for Android v3.9.1
APK · 72.8 MB · version code 392 · Android 8.0+ · uploaded Jun 2, 2026
- Signature matches the Google Play version Details
Quick check before downloading
Answer this to unlock the download. It keeps automated downloaders away.
File information
- Version
- v3.9.1 (392)
- Uploaded
- Jun 2, 2026
- Size
- 72.8 MB
- Requires
- Android 8.0+ (API 26)
- CPU support
- ARM 64-bit
- Graphics
- OpenGL ES 2.0+
- Screen
- Small screens and larger
- MD5
- 011f1836f767bcf845c51ea9c9c4d69f
- Signing certificate (SHA-1)
- D1:BD:7A:07:53:15:4F:EC:F1:10:A5:81:06:0E:D0:FE:41:0C:11:31
- Signed by
- CN=Yan Hecun, OU=NEXS, O=NEXS, L=Beijing, ST=Beijing, C=CN
- File name
- org-qpython-qpy3-392-75021814-011f1836f767bcf845c51ea9c9c4d69f.apk
- Package
- org.qpython.qpy3
- Downloads (all versions)
- 1M+
- Age rating
- PEGI 3 · Everyone
What's new in v3.9.1
What's NEW with v3.0.0
The first version of the QPython project has been restarted, with a new name
- It added the qsl4ahelper as a built-in package
- It added a QPySL4A App project sample into built-in editor, you can create QSLAApp by creating an project
- It rearranged permissions
- It fixed ssl error bugs
Visit https://www.qpython.org/en/qpython_3x_featues.html to get more detail.
Permissions (49)
This version requests 49 permissions, 16 of them sensitive.
- Approximate location Sensitive android.permission.ACCESS_COARSE_LOCATION
- Bluetooth connect Sensitive android.permission.BLUETOOTH_CONNECT
- Bluetooth scan Sensitive android.permission.BLUETOOTH_SCAN
- Call phone Sensitive android.permission.CALL_PHONE
- Camera Sensitive android.permission.CAMERA
- Display over other apps Sensitive android.permission.SYSTEM_ALERT_WINDOW
- Find accounts on the device Sensitive android.permission.GET_ACCOUNTS
- Location in the background Sensitive android.permission.ACCESS_BACKGROUND_LOCATION
- Modify shared storage Sensitive android.permission.WRITE_EXTERNAL_STORAGE
- Precise location Sensitive android.permission.ACCESS_FINE_LOCATION
- Read contacts Sensitive android.permission.READ_CONTACTS
- Read phone numbers Sensitive android.permission.READ_PHONE_NUMBERS
- Read phone status and identity Sensitive android.permission.READ_PHONE_STATE
- Read shared storage Sensitive android.permission.READ_EXTERNAL_STORAGE
- Record audio (microphone) Sensitive android.permission.RECORD_AUDIO
- Write settings Sensitive android.permission.WRITE_SETTINGS
- Access notification policy android.permission.ACCESS_NOTIFICATION_POLICY
- Add home-screen shortcuts com.android.launcher.permission.INSTALL_SHORTCUT
- Basic phone state android.permission.BASIC_PHONE_STATE
- Bluetooth android.permission.BLUETOOTH
- Bluetooth admin android.permission.BLUETOOTH_ADMIN
- Capture video output android.permission.CAPTURE_VIDEO_OUTPUT
- Change network state android.permission.CHANGE_NETWORK_STATE
- Change wifi state android.permission.CHANGE_WIFI_STATE
- Control vibration android.permission.VIBRATE
- Flashlight android.permission.FLASHLIGHT
- Foreground service data sync android.permission.FOREGROUND_SERVICE_DATA_SYNC
- Full network access android.permission.INTERNET
- Get tasks android.permission.GET_TASKS
- Install shortcut android.permission.INSTALL_SHORTCUT
- Internal broadcast protection (app-defined) org.qpython.qpy3.DYNAMIC_RECEIVER_NOT_EXPORTED_PERMISSION
- Kill background processes android.permission.KILL_BACKGROUND_PROCESSES
- Local mac address android.permission.LOCAL_MAC_ADDRESS
- Media projection (custom) android.permision.MEDIA_PROJECTION
- Modify phone state android.permission.MODIFY_PHONE_STATE
- Nfc android.permission.NFC
- Permission run tasks (custom) net.dinglisch.android.tasker.PERMISSION_RUN_TASKS
- Prevent the device from sleeping android.permission.WAKE_LOCK
- Read media storage android.permission.READ_MEDIA_STORAGE
- Read privileged phone state android.permission.READ_PRIVILEGED_PHONE_STATE
- Receive user present android.permission.RECEIVE_USER_PRESENT
- Remove home-screen shortcuts com.android.launcher.permission.UNINSTALL_SHORTCUT
- Reorder tasks android.permission.REORDER_TASKS
- Run at startup android.permission.RECEIVE_BOOT_COMPLETED
- Run foreground services android.permission.FOREGROUND_SERVICE
- Show notifications android.permission.POST_NOTIFICATIONS
- Uninstall shortcut android.permission.UNINSTALL_SHORTCUT
- View Wi-Fi connections android.permission.ACCESS_WIFI_STATE
- View network connections android.permission.ACCESS_NETWORK_STATE
Security & authenticity
Security rating: Trusted
Signing certificate
- Signature matches the Google Play version Checked by the source store on Jun 2, 2026.
- Certificate issued to “NEXS” This is the certificate of the Google Play version.
- Same certificate as the 2 other versions checked
Store checks
- Developer signature verified Jun 2, 2026
- Validated against Google Play Jun 2, 2026
- Uploaded by “appupdater” Gold tier · 117,810 followers · uploading since 2020
Scans come from the source store; the certificate comparisons are AAPKs's own, made from the files' published signatures (2 other versions compared). AAPKs doesn't scan files itself.
How to install QPython3 - Python for Android on Android 8.0+
You'll need about 145.7 MB of free space.
- Download the APK — tap Download APK above (72.8 MB). Chrome shows “File might be harmful” for every APK file; choose Download anyway only if you trust this file.
- Open the file — tap the download notification, or open Files › Downloads and tap org-qpython-qpy3-392-75021814-011f1836f767bcf845c51ea9c9c4d69f.apk.
- Allow the install (first time only) — Android 8 and later asks for permission the first time an app opens an APK: tap Settings in the prompt, turn on Allow from this source, then go back. Manual path: Settings › Apps › Special app access › Install unknown apps (on Samsung: Settings › Apps › ⋮ › Special access). On Android 7 and older: Settings › Security › Unknown sources.
- Check the file (optional) — the MD5 of the downloaded file should be 011f1836f767bcf845c51ea9c9c4d69f. If it differs, the file is damaged or was changed: delete it and download again.
- Tap Install — Android asks “Do you want to install this app?”. If Google Play Protect shows a warning, read it before you continue: the source store rated this file Trusted, but only install apps from sources you trust. If an earlier version is installed, this one only installs as an update when it is signed with the same certificate (SHA-1 shown above).
- Open QPython3 - Python for Android — tap Open on the install screen, or find it in your app drawer.
Common install problems
- “App not installed” — a version signed with a different certificate, or a newer version, is already installed (Android doesn't allow downgrades). Uninstall it first; back up your data, because uninstalling deletes it.
- “There was a problem parsing the package” — the file is incomplete, or your Android is too old (this version needs Android 8.0+). Download it again, or pick an older version.
- “App not compatible with your device” — this build contains native code for ARM 64-bit only. Devices with other processors can't install it.
- Blocked by Play Protect — Play Protect checks apps from outside the Play Store. Only continue if you trust the source.