Cross platform

Kivy runs on Linux, Windows, OS X, Android, iOS, and Raspberry Pi. 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.

Business Friendly

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.

GPU Accelerated

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 !

Usage example

See how easy it is to create a simple Hello World application that shows an actionable button:

from import App
from kivy.uix.button import Button

class TestApp(App):
    def build(self):
        return Button(text='Hello World')



Result of the example: A window with the text 'hello world' positioned in the middle.


The current version is 1.10.0, released on May 7st, 2017. Read the Changelog.

Installation instructions can be found here.

Operating System File Instructions Size
Windows 7 Windows 7, 8, 10 (32/64 bit) Install using pip, follow the instructions here Installation for Windows ...
MacOSX OS X 10.9 or later Install using pip, follow the instructions here Installation for macOS ...
Linux Linux (Ubuntu, Mageia, Arch, ...) Kivy-1.10.0.tar.gz (Mirror) Installation for Ubuntu 24 Mb
Ubuntu Ubuntu PPA

Stable PPA
Daily PPA

How to use software from PPA 12 Mb
Opensuse Opensuse

One-Click-Installation for Factory
One-Click-Installation for 13.2
One-Click-Installation for 13.1
One-Click-Installation for Tumbleweed

Installation-guide for OpenSuSE

Fedora Fedora

Repository for Fedora 21
Repository for Fedora 20

Installation-guide for Fedora

Android Android (>= 2.2, with OpenGL ES 2) Kivy Laucher 1.9.0 ( APK ) Packaging for Kivy Launcher 13 Mb
Raspberry Pi Raspberry Pi KivyPie - Image for Raspberry Pi containing Kivy Installation for Raspberry Pi 532 Mb
Slackware 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


Read the documentation on Packaging for IOS

Virtual Machine (for Android/buildozer)

Version 2.0, released the 13 May 2017 (Changelog)

A Virtual Machine for Virtualbox: buildozer, python-for-android, and others pre-requisites ready to use for generating an Android/APK (1.2GB):

For this Virtual Machine, the user is "kivy" and the password is "kivy".

Source code

git clone

Take a look at our guide toinstallation of the development version.


Community Support

You can also try to contact us on IRC (online chat), but make sure to read the IRC rules before connecting. Connect to Webchat


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.

About us

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
  • Mathieu
    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.
  • Gabriel
    Gabriel Pettier
    He is an Information Systems engineer and working at Tangible Display, an NUI/innovative interactions company. He lives in France.
    On IRC, he's tshirtman.
  • Akshay
    He is a freelance developer. He is from India.
    On IRC, he's qua-non.
  • Ben
    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.
  • kovak
    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.
  • Alexander
    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.
  • Matt
    Matthew Einhorn
    He is a developer using Kivy with Python to automate scientific research. He lives in the eastern USA.
    On IRC, he's matham.
  • Richard
    Richard Larkin
    Richard 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.
  • kived
    Ryan Pessa
    He is a software developer in Kansas City. He enjoys being well-bearded. He has a cat.
    On IRC, he's kived.
  • dessant
    Armin Sebastian
    He is an independent developer from the Carpathian wilderness.
    On IRC, he's dessant.
  • thopiekar
    Thomas-Karl Pietrowski
    Python developer and Debian/Ubuntu package creator, who publishes new, interessant projects or other software in his PPAs on
    On IRC, he's thopiekar, but you should prefer contacting him by mail.

  • keyweeusr
    Peter Badida
    He 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)
  • Gabriel Ortega
  • Arnaud Waels (triselectif)
  • Thomas Hirsch
  • Joakim Gebart
  • Rosemary Sebastian
  • Jonathan Schemoul
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)