Kivy is open source Module or platform to develop cross platform application in python. it supports python 2 and python 3 both. It is fully implemented in Cython (python library to write c code)
2. Index of content
Introduction
Kivy Language
Life cycle
Architecture
API’s
First Program
Packaging
Kivy Virtual Machine
Merits/Demarites
Projects
Queries
3. Introduction
Open Source Python framework.
Cross-platform multi-touch mobile apps
Implemented in C
Runs on GPU
Fresh, Fast, Flexible, Free.
4. KV Language
Kivy allows construction of widget trees
It seperates logical and Gui programming
Parse by python interpreter
Loaded in python
Same as XML in android programming with JAVA
Other Features
10. Packaging
Create Packagages for Windows using PyInstaller
Creating packages for OS X
Creating packages for Android
Create a package for IOS using Buildozer
• Using Buildozer
• Using PyInstaller without Homebrew
• Packaging with python-for-android
• Packaging with Kivy Launcher
• Packaging with Buildozer
11. Packaging for windows using PyInstaller
PyInstaller is a program that freezes (packages) Python programs into stand-alone executables,
under Windows, Linux, Mac OS X, FreeBSD, Solaris and AIX.
Optional console mode (see standard output and standard error at runtime).
Installing guides
python –m pip install PyInstaller
Or simply
pip install PyInstaller
Packaging commands
python -m PyInstaller --name appname --icon icon.ico main.py
python -m PyInstaller appname.spec
12. Buildozer
Buildozer is a tool that automates the entire build process. It downloads and sets up all the
Prequisites for python-for-android, including the android SDK and NDK, then builds an apk
that can be automatically pushed to the device.
Installing guides
Packaging commands
sudo pip3 install buildozer
buildozer init
Sudo buildozer android debug
Sudo buildozer android debug deploy run
Sudo buildozer osx debug
13. Python-for-android
python-for-android is an open source build tool to let you package Python code
Into standalone android APKs that can be passed around, installed, or uploaded to
Marketplaces such as the Play Store just like any other Android app.
Installing guides
pip install python-for-android
Dependencies
• git
• ant
• Python2 or 3
• cython
• a Java JDK
• zlib (including 32 bit)
• libncurses (including 32 bit)
• unzip
• virtualenv
For python 3 it
depends on
CrystaX NDK and
pythoncrystax
14. Kivy Virtual Machine
Kivy Android applications can only be built in a Linux environment configured with
python-for-android, the Android SDK and the Android NDK.
Preinstalled Buildozer and other necesary libraries
No additonal memory required
Easy to use
15. Merit/demarits
Merits
Easy, Fast, Simple, Flexible.
You can get help very fast on IRC channel.
Relatively simple to deploy with Buildozer without any need to dive too
deep into the details of particular platform.
You can run your app on desktop also, so there is no need to install some
extra emulators/VMs to get it work.
Demarits
Take large Memory
Pretty messy documentation.
Not that much information in Internet.
Official examples are quite ugly.
16. The Kivy GUI Library
The Python-For-Android compilation tool.
The Kivy-iOS compilation tool.
The PyJNIus library for interfacing with Java from Python.
The PyOBJus library for interfacing with Objective-C from Python.
The Plyer platform-independent Python wrapper for platform dependent APIs.
Buildozer - A generic Python packager for Android, iOS, and desktop.
KivEnt - A 2d Game Engine that provides optimized methods of handling large amounts of
dynamic visual data.
Kivy Designer - A graphical GUI designer for Kivy built in Kivy.
Projects