Kivy is an open source Python library for rapid development of cross-platform applications equipped with novel user interfaces, such as multi-touch apps.
kivy is a python library for the development of multi-touch enabled media-rich applications. The aim is to allow for quick and easy interaction design and rapid prototyping while making your code reusable and deployable.
Kivy is written in Python, based on opengl and supports different input devices such as Mouse, Dual Mouse, TUIO, WiiMote, WM_TOUCH, HIDtouch, Apple's products and so on.
Kivy is actively being developed by a community and free to use. It operates on all major platforms (linux, osx, windows, android, ios, raspberry-pi).
The framework contains all the elements for building an application such as:
- extensive input support for mouse, keyboard, TUIO, and OS-specific multitouch events,
- a graphics library using only OpenGL ES 2, and based on Vertex Buffer Object and shaders,
- a wide range of widgets that support multitouch,
- an intermediate language Kv used to easily design custom widgets.
Kivy is the evolution of the PyMT project, and it is recommended for new projects.
UPDATE:
Kivy now supports Material Designs (inspired from Google) and is available via KivyMD kivymd.
The main resource for information is the website. In addition, you can also check the Wikipedia entry for Kivy.