Kivy: GUI and Mobile applications with Python

Kivy is an open source library, written in Python that becomes widely used for rapid development of cross-platform mobile applications and GUI.

KivyKivy is an open source library, written in Python that becomes widely used for rapid development of cross-platform mobile applications and GUI.

Originally it was programmed on the base of PyMT, another multi-touch Python library, that is why one of the strongest points of Kivy is  its powerful multi-touch support out of the box, and it also let’s you design your own gestures.

Another thing that differentiate  Kivy from other  Python frameworks is  programming an application  layout with widgets.  For some it may take up a bit of time getting used to, but it will be worth it in the end. After you learn how to manage different widgets,  building layouts will come with ease and less time spent.  The  framework additionally provides Kivy DSL for application layout programming.

Kivy has its own pythonic language that is somewhat comparable to QML.  As soon as you get a grasp on it, building layouts for mobile application will transform into simple wireframing  rather than your typical programming.

Kivy is a relatively  young project but with an extremely enthusiastic community - every day its programmers (Mathieu Virbel, Thomas Hansen, Gabriel Pettier, Akshay Arora among many) present new functionality.

Main Features

Cross platform

Kivy is rather flexible. It can be run on the OS of your choice, be it Linux, Windows, MacOSX, Android and IOS. The same piece of code can be executed on all supported platforms.

Another point goes to Kivy for its native support of  most inputs protocols and devices, among which you can find WM_Touch, AAnotherWM_Pen, Mac OS X Trackpad and Magic Mouse, Mtdev, Linux Kernel HID, TUIO. It also comes with a multi-touch mouse simulator.

Business Friendly

Since it’s an open source project, Kivy is available for a free use, and distributed  under LGPL 3 licence.  The library was developed by true professionals in their respective fields, is continuously updated and widely used for building mobile applications.  Although the framework is young it projects stability and reliability.  All you need to know to start developing with Kivy is provided in its extensive documentation.


GPU Accelerated

Kivy gets an edge with its graphics engine, based on OpenGL ES 2, utilizing only future-forward graphical technologies. The toolkit consist of  more than extensible widgets, mostly Cython-based. each one underwent a battery of regression tests.

First and foremost Kivy is a Python framework used to develop mobile applications for touch devices. However OpenGL-based engine allows to apply the library for graphics application development such as games or information displays. Kivy can be used both to develop prototypes as well as products that are available through the usual app stores.

In short, if you are looking for a way to create cross-platform mobile apps using Python, look no further. Try out Kivy, or contact us for  professional assistance.

Connect with our experts Let's talk