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 kivy.app import App
from kivy.uix.button import Button

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

TestApp().run()

Result

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

Download

The current version is 1.10.1, released on July 8th, 2018. Read the Changelog.

Installation instructions can be found here.

Operating System File Instructions Size
Windows Windows 7, 8, 10 (32/64 bit) Python 2.7 and 3.4 to 3.7 are supported. Install using pip, follow the instructions here Installation on Windows ...
MacOSX OS X 10.9 or later

Install using pip, either using the system python (python2.7), or an installed python from 3.5 to 3.7.

Or install using Kivy.app:
Python 3 134.9MB OSX > 10.13.5
Python 2 91.0MB OSX > 10.13.5

Installation on macOS ...
Linux Linux (Ubuntu, Mageia, Arch, ...) Kivy-1.10.1.tar.gz (Mirror) Installation on Linux 23 Mb
Anaconda Conda-Forge

Install using conda with conda-forge: conda install kivy -c conda-forge.

Supports Windows, OSX, and Ubuntu.
For audio/video support also install gstreamer and gst-plugins-base
on OSX and Ubuntu, or ffpyplayer on all platforms.

... ...
Ubuntu Ubuntu PPA

Stable PPA
Daily PPA

Installation on Ubuntu

How to use software from PPA

12 Mb
OpenSUSE OpenSUSE ...

Installation on OpenSUSE

...
Fedora Fedora ...

Installation on 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 on Raspberry Pi 532 Mb
Slackware Slackware SlackBuilds - Downloads for installing Kivy on Slackware Installation on SlackWare ...

Android

Demo examples are published on Google Play:

Create your own APK by following the documentation on Packaging for Android

IOS

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 https://github.com/kivy/kivy

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

Documentation

Community Support

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

Licenses

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.
  • 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.
  • 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 launchpad.net
    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.
  • Andre
    Linux geek and open source addict, he works as a software architect and lives in Spain.
    On IRC, he's AndreMiras.

Contributors
  • Terje Skjaeveland (bionoid)
  • George Sebastian (georgs)
  • Gabriel Ortega
  • Arnaud Waels (triselectif)
  • Thomas Hirsch
  • Joakim Gebart
  • Rosemary Sebastian
  • Jonathan Schemoul
Past core developers
  • Thomas Hansen (hansent)
  • Christopher Denter (dennda)
  • Edwin Marshall (aspidites)
  • Jeff Pittman (geojeff)
  • Brian Knapp (knappador)
  • Ryan Pessa (kived)
  • Ben Rousch (brousch)
Special thanks
  • Mark Hembrow, who was one of our first sponsor, by giving us a Mac Mini. Which was 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.

Talks

Here is a list of talks about Kivy (if you have made a talk, don't hesitate to share it)