# About QPython OL
QPython is the Python engine for android. It contains some amazing features such as Python interpreter, runtime environment, editor, QPYI and SL4A library. It makes it easy for you to use Python on Android. And it's FREE.
QPython already has millions of users worldwide and it is also an open source project.
For different usage scenarios, QPython has two branches, namely QPython Ox and 3x.
QPython 3x is mainly for experienced Python users, and it provides some advanced technical features.
This is QPython OL, which is mainly aimed at programming learners, and it provides more friendly features for beginners.
# Amazing Features
- Offline Python 3, Python 2 interpreters: no Internet is required to run Python programs
- It supports running multiple types of projects, including: console program, SL4A program, webapp program
- Convenient QR code reader for transferring codes to your phone
- QPYPI and a custom repository for prebuilt wheel packages for enhanced scientific libraries, such as numpy, scipy, matplotlib, scikit-learn etc
- Easy-to-use editor
- Builtin QPyNotebook, which is compatible with jupyter notebook.
- INTEGRATED & EXTENDED SCRIPT LAYER FOR ANDROID LIBRARY (SL4A): IT LETS YOU DRIVE THE ANDROID WORK WITH PYTHON
- Good documentation and customer support
# SL4A Features
With SL4A features, you can use Python programming to control Android work:
- Android Apps API, such as: Application, Activity, Intent & startActivity, SendBroadcast, PackageVersion, System, Toast, Notify, Settings, Preferences, GUI
- Android Resources Manager, such as: Contact, Location, Phone, Sms, ToneGenerator, WakeLock, WifiLock, Clipboard, NetworkStatus, MediaPlayer
- Third App Integrations, such as: Barcode, Browser, SpeechRecongition, SendEmail, TextToSpeech
- Hardwared Manager: Carmer, Sensor, Ringer & Media Volume, Screen Brightness, Battery, Bluetooth, SignalStrength, WebCam, Vibrate, NFC, USB
[ API Documentation Link ]
[ API Samples ]
[ IMPORTANT NOTE ]
IT MAY REQUIRE THE BLUETOOTH / LOCATION / READ_SMS / SEND_SMS / CALL_PHONE AND OTHER PERMISSIONS, SO THAT YOU CAN PROGRAM ITH THESE FEATURES. QPYTHON WILL NOT USE THESE PERMISSIONS IN BACKGROUND.
IF YOU GET EXCEPTION IN RUNTIME WHILE USING SL4A API, PLEASE CHECK WHETHER THE RELEVANT PERMISSIONS IN THE SYSTEM SETTINGS ARE ENABLED.
# How To Get Professional Customer Support
Please follow the guide to get support https://github.com/qpython-android/qpython/blob/master/README.md
[ QPython community ]
[ FAQ ]
A: Why can't I use the SMS API of SL4A
Q: Because Google Play and some app stores have strict requirements on the permissions of apps, in QPython Ox, we use x to distinguish branches with different permissions or appstores. For example, L means LIMITED and S means SENSITIVE.
Sometimes you cannot use the corresponding SL4A APIs because the version you installed does not have the corresponding permissions, so you can consider replace what you have installed with the right one.
You can find other branches here:
# OPEN SOURCE
It's a opensource project, you can check it out https://github.com/qpython-android/qpython