Kivy
====
Innovative user interfaces made easy.
Kivy is an open source, cross-platform [Python](https://www.python.org)
framework for the development of applications that make use of innovative,
multi-touch user interfaces.
The aim is to allow for quick and easy interaction design and rapid prototyping
whilst making your code reusable and deployable.
Kivy is written in Python and [Cython](http://cython.org/), based on OpenGL ES
2, supports various input devices and has an extensive widget library. With the
same codebase, you can target Windows, macOS, Linux, Android and iOS. All Kivy
widgets are built with multitouch support.
Kivy is MIT licensed, actively developed by a great community and is supported
by many projects managed by the [Kivy Organization](https://kivy.org/#organization).
[![Bountysource](https://www.bountysource.com/badge/tracker?tracker_id=42681)](https://www.bountysource.com/trackers/42681-kivy?utm_source=42681&utm_medium=shield&utm_campaign=TRACKER_BADGE)
[![Backers on Open Collective](https://opencollective.com/kivy/backers/badge.svg)](#backers)
[![Sponsors on Open Collective](https://opencollective.com/kivy/sponsors/badge.svg)](#sponsors)
[![Coverage Status](https://coveralls.io/repos/kivy/kivy/badge.svg?branch=master)](https://coveralls.io/r/kivy/kivy?branch=master)
[![Windows Unittests Status](https://github.com/kivy/kivy/workflows/Windows%20Unittests/badge.svg)](https://github.com/kivy/kivy/actions?query=workflow%3A%22Windows+Unittests%22)
[![Ubuntu Unittests Status](https://github.com/kivy/kivy/workflows/Ubuntu%20Unittests/badge.svg)](https://github.com/kivy/kivy/actions?query=workflow%3A%22Ubuntu+Unittests%22)
[![OSX Unittests Status](https://github.com/kivy/kivy/workflows/OSX%20Unittests/badge.svg)](https://github.com/kivy/kivy/actions?query=workflow%3A%22OSX+Unittests%22)
[![Windows wheels Status](https://github.com/kivy/kivy/workflows/Windows%20wheels/badge.svg)](https://github.com/kivy/kivy/actions?query=workflow%3A%22Windows+wheels%22)
[![Manylinux wheels Status](https://github.com/kivy/kivy/workflows/Manylinux%20wheels/badge.svg)](https://github.com/kivy/kivy/actions?query=workflow%3A%22Manylinux+wheels%22)
[![Raspberry Pi wheels Status](https://github.com/kivy/kivy/workflows/RPi%20wheels/badge.svg)](https://github.com/kivy/kivy/actions?query=workflow%3A%22RPi+wheels%22)
[![OSX wheels Status](https://github.com/kivy/kivy/workflows/OSX%20wheels%2Fapp/badge.svg)](https://github.com/kivy/kivy/actions?query=workflow%3A%22OSX+wheels%2Fapp%22)
Installation, Documentation and Examples
----------------------------------------
Extensive installation instructions as well as tutorials and general
documentation, including an API reference, can be found at https://kivy.org/docs.
A [PDF version](https://media.readthedocs.org/pdf/kivy/latest/kivy.pdf) is also available.
Kivy ships with many examples which can be found in the `examples` folder.
Support
-------
If you need assistance, you can ask for help on our mailing list:
* User Group : https://groups.google.com/group/kivy-users
* Email : kivy-users@googlegroups.com
We also have a Discord channel:
* Server : https://chat.kivy.org
* Channel : #support
Contributing
------------
We love pull requests and discussing novel ideas. Check out our
[contribution guide](https://kivy.org/docs/contribute.html) and
feel free to improve Kivy.
The following mailing list and Discord channel are used exclusively for
discussions about developing the Kivy framework and its sister projects:
* Dev Group : https://groups.google.com/group/kivy-dev
* Email : kivy-dev@googlegroups.com
Discord channel:
* Server : https://chat.kivy.org
* Channel : #dev
Sister projects
---------------
- [Buildozer](https://github.com/kivy/buildozer): generic Python packager
for Android and iOS.
- [Plyer](https://github.com/kivy/plyer): platform-independent Python wrapper
for platform-dependent APIs.
- [Pyjnius](https://github.com/kivy/pyjnius): dynamic access to the Java/Android
API from Python.
- [Pyobjus](https://github.com/kivy/pyobjus): dynamic access to the
Objective-C/iOS API from Python.
- [Python for Android](https://github.com/kivy/python-for-android): toolchain
for building and packaging Python applications for Android.
- [Kivy iOS](https://github.com/kivy/kivy-ios): toolchain for building and
packaging Kivy applications for iOS.
- [Audiostream](https://github.com/kivy/audiostream): library for direct access
to the microphone and speaker.
- [KivEnt](https://github.com/kivy/kivent): entity-based game engine for Kivy.
- [Garden](https://github.com/kivy-garden): widgets and libraries created and
maintained by users.
* [Oscpy](https://github.com/kivy/oscpy/): a fast and tested python2/3
implementation of OSC.
Licenses
--------
- Kivy is released under the terms of the MIT License. Please refer to the
LICENSE file.
- The provided fonts Roboto and Roboto Mono are licensed and
distributed under the terms of the
[Apache License, Version 2.0](https://www.apache.org/licenses/LICENSE-2.0).
The DejaVuSans (used for the virtual keyboard) license can be viewed
[here](https://github.com/dejavu-fonts/dejavu-fonts/blob/master/LICENSE).
- The current UI design has been adapted from Moblintouch theme's SVGs
and is licensed under the terms of the
[LGPLv2.1](https://www.gnu.org/licenses/old-licenses/lgpl-2.1).
## Contributors
This project exists thanks to all the people who contribute. [[Contribute](.github/CONTRIBUTING.md)].
## Backers
Thank you to all our backers! 🙏 [[Become a backer](https://opencollective.com/kivy#backer)]
## Sponsors
Support this project by becoming a sponsor. Your logo will show up here with a link to your website. [[Become a sponsor](https://opencollective.com/kivy#sponsor)]