Kivy - Open source Python library for rapid development of applications
that make use of innovative user interfaces, such as multi-touch apps.
Kivy runs on Linux, Windows, OS X, Android and iOS. You can run the same code on all supported platforms.
It can natively use most inputs, protocols and devices including WM_Touch, WM_Pen, Mac OS X Trackpad and Magic Mouse, Mtdev, Linux Kernel HID, TUIO. A multi-touch mouse simulator is included.
Kivy is 100% free to use, under an MIT license (starting from 1.7.2) and LGPL 3 for the previous versions. The toolkit is professionally developed, backed and used. You can use it in a commercial product.
The framework is stable and has a well documented API, plus a programming guide to help you get started.
The graphics engine is built over OpenGL ES 2, using a modern and fast graphics pipeline.
The toolkit comes with more than 20 widgets, all highly extensible. Many parts are written in C using Cython, and tested with regression tests.
Be social !
See how easy it is to create a simple Hello World application that shows an actionable button:
from kivy.app import App from kivy.uix.button import Button class TestApp(App): def build(self): return Button(text='Hello World') TestApp().run()
The current version is 1.9.1, released on Jan 1st, 2016. Read the Changelog.
Installation instructions can be found here.
|Windows 7, 8, 10 (32/64 bit)||Install using pip, follow the instructions here||Installation for Windows||...|
|OS X 10.9 or later||Install using pip, follow the instructions here||Installation for macOS||...|
|Linux (Ubuntu, Mageia, Arch, ...)||Kivy-1.9.1.tar.gz (Mirror)||Installation for Ubuntu||27 Mb|
|Ubuntu PPA||How to use software from PPA||12 Mb|
|Android (>= 2.2, with OpenGL ES 2)||Kivy Laucher 1.9.0 ( APK )||Packaging for Kivy Launcher||13 Mb|
|Raspberry Pi||KivyPie - Image for Raspberry Pi containing Kivy||Installation for Raspberry Pi||532 Mb|
|Slackware||SlackBuilds - Downloads for installing Kivy on Slackware||Installation for SlackWare||...|
Demo examples are published on Google Play:
Create your own APK by following the documentation on Packaging for Android
We haven't published our demos, but the winner of the first Kivy game contest has been packaged for IOS: Deflectouch on iTunes.
Read the documentation on Packaging for IOS
A Virtual Machine with Android SDK and NDK and all other pre-requisites pre installed to ease apk generation:
git clone https://github.com/kivy/kivy
Take a look at our guide toinstallation of the development version.
- Report a bug or request a feature in our issue tracker
- Ask your questions on the Kivy users forums
- Or send an email to firstname.lastname@example.org
The Kivy logo was made by Vincent Autin. The logo is placed under
All the screenshots on the website that came from Kivy's examples are under the Public Domain.
All the screenshots in the Gallery are from their respective owners. Contact them first if you want to use the content.
Kivy is a community project, led by professional software developers. We are responsible for developing and supporting Kivy, alongside of the community. We also work for companies that use Kivy for their professional products.
- Core developers
He became a programming expert from working in IT for years before starting with Kivy. He's French, and founded Melting Rocks.
On IRC, he's tito.
He is a freelance developer. He is from India.
On IRC, he's qua-non.
He is a Python, Android, and Linux lover who thinks tablets will be everyone's computer in the future. He lives in Michigan.
On IRC, he's brousch.
He is an independent game developer who is very interested in creating game development tools for Android. He lives in Utah.
On IRC, he's kovak.
He is a postdoc in physics, with a little time to make fun graphical interfaces. He lives in the UK.
On IRC, he's inclement.
Matthew EinhornHe is a developer using Kivy with Python to automate scientific research. He lives in the eastern USA.
On IRC, he's matham.
Richard LarkinRichard is an educational software developer (B.Sc, Hons) from South Africa. He likes being silly, meditating, music and hugging fluffy things. On IRC, he's ZenCODE.
Ryan PessaHe is a software developer in Kansas City. He enjoys being well-bearded. He has a cat.
On IRC, he's kived.
Sebastian ArminHe is an independent developer from the Carpathian wilderness.
On IRC, he's dessant.
Thomas-Karl PietrowskiPython developer and Debian/Ubuntu package creator, who publishes new, interessant projects or other software in his PPAs on launchpad.net
On IRC, he's thopiekar, but you should prefer contacting him by mail.
Peter BadidaHe is a hobby coder, bookworm and pianist, who fancies portability and simplicity. He lives in Eastern Slovakia.
On IRC, he's KeyWeeUsr.
Terje Skjaeveland (bionoid)
George Sebastian (georgs)
Arnaud Waels (triselectif)
- Past core developers
- Thomas Hansen was one of the initial authors of the framework. Besides his tremendous work on shaping Kivy, including his contributions to the graphics pipeline, he has also supported our annual contests.
- Christopher Denter (dennda) who was a core-developer in the first stage of the project. He contributed a lot by improving the documentation, implementing the Kivy extension system, pep8 hook and fixes, spelling provider. He also did 1 GSOC on the previous PyMT framework on implementing a virtual keyboard with a better navigation.
- Edwin Marshall (aspidites) helped with quality and documentation, as well as adding a few features.
- Jeff Pittman who helped with documentation and features, and have been a core-contributor for a long time, before moving to other adventures.
- Brian Knapp was a core-developer who created Kivy's interactive launcher and provided many valuable patches for the framework.
- Special thanks
- Mark Hembrow, who is one of our first sponsor, by giving us a Mac Mini. Which is currently used for all the build system: unit test on Windows / OS X and Ubuntu + building the HTML and PDF documentation.
- Vincent Autin for his work as a designer for the project, specially on the logo.
Many people have contributed to Kivy and we're always interested in growing our community. If you want to help in terms of writing code, improving documentation, testing, etc. or simply making a donation, please do not hesitate to contact us.
Here is a list of talks about Kivy (if you have made a talk, don't hesitate to share it)
Interfaces tactiles et mobiles avec Kivy.
27 Octobre 2013 - Gabriel Pettier
Pycon-fr, Strasbourg, France
Our journey to Kivy
3 Octobler 2013 - Richard Larkin
PyconZA 2013 in Cape Town, South Africa
Utah Python August 2013 meeting
8 August 2013 - Jacob Kovac
Utah Python August 2013 meeting
Kivy Intro and Tutorial
2 March 2013 - Ben Rousch
GrDevDay 2013 in Grad Rapids, MI, USA.
OpenGL and Python on computer and embed devices
24 July 2012 - Mathieu Virbel
EuroPython 2012 in Florence, Italia.
Kivy - Python UI Library for Any OS
28 April 2012 - Rokas Aleksiūnas
PyCon LT 2012 in Vilnius
NIU en Python: Kivy
(Starting at 2:28:00 in the video)
28 November 2011, Gabriel Pettier
La Cantine in Paris, France
Spaß mit Natural User Interfaces und Python
October 2011 - Ernesto Rico Schmidt
PyCon DE 2011
Quick Multitouch Apps using Kivy and Python
September 2011 - KP Singh (kpsfoo), N Chadha
PyCon India 2011
GLES2 Python framework for NUI
19 July 2011 - Mathieu Virbel
RMLL 2011 in Strasbourg, France
Lightning talk about Kivy
22 June 2011 - Mathieu Virbel
Europython 2011 in Florence, Italia