
Kivy
Python framework for building cross-platform GUI apps, including mobile, desktop and embedded.
- Stars
- 19k
- Forks
- 3.1k
- Licence
- MIT
- Language
- Python
- Last update
- 4 days ago
- Type
- Framework
What it is
Kivy is an open-source Python framework for making graphical apps that run on Windows, macOS, Linux, Android and iOS from one codebase. It is written in Python and Cython, built on OpenGL ES 2.0, and includes a widget library with multitouch support. People use it for quick interface prototyping and for shipping the same app across several platforms.
- Build a desktop GUI app in Python that runs on Windows, macOS and Linux
- Package a Python interface as an Android or iOS app using the sibling tools
- Prototype a multitouch user interface before committing to a platform
- Run the bundled examples to learn widget and layout patterns
Great for
- Python developers who want one codebase for desktop and mobile apps
- Developers prototyping touch-friendly interfaces quickly
- Projects that need multitouch input support
- Hobbyists targeting Raspberry Pi OS or other embedded Linux devices
Not ideal for
- People who need native-looking platform widgets, since Kivy draws its own widgets (inferred from its OpenGL-based design; the README does not discuss this directly)
- Developers who want to avoid Python entirely
- Teams needing a web-only app; Kivy targets desktop, mobile and embedded platforms
How to get it
- 1
Install with a package manager
You'll need: Python 3
Install from PyPI
pip install kivy - 2
Run it
- Install Python and Kivy as described in the documentation at kivy.org/docs
- Run one of the bundled examples from the examples folder
- Edit the example code and rerun it to see your changes
- 3
Get the most out of it
- Use the bundled examples folder to learn widgets and layouts
- Package mobile builds with Buildozer, a sibling project listed in the README
- Use Python for Android or Kivy iOS for mobile toolchains
- Browse Garden, the user-maintained collection of widgets and libraries
Downloads
Strengths
- One codebase targets Windows, macOS, Linux, Android and iOS
- MIT licensed and actively developed with a large community
- Documentation, tutorials, API reference and bundled examples are provided
Trade-offs
- Installation details live on the external documentation site rather than in the README
- Mobile packaging relies on separate sibling projects such as Buildozer and Python for Android
- The README does not state a minimum Python version, so check the docs before starting
How it compares
| Project | Stars | Type | Level | Updated | Best for |
|---|---|---|---|---|---|
| kivy (this) | 19k | Framework | intermediate | 4 days ago | Python developers who want one codebase for desktop and mobile apps |
| popcorntime | 10.7k | App | intermediate | 2 months ago | People who want one app to browse movies and TV shows across platforms |
| yazi | 43.2k | App | intermediate | 4 days ago | People who already spend time in a terminal and want a faster way to browse folders |
| super-productivity | 23.4k | App | beginner | 4 days ago | People who want a personal task list with built-in time tracking |
| mui | 13.5k | Framework | intermediate | 1.5 years ago | Developers who want to build mobile-style web or hybrid app screens with HTML, CSS and JavaScript |
| react-native-elements | 25.9k | Library | intermediate | 6 months ago | React Native developers who want ready-made UI components |
Stats synced from GitHub. The assessment above was drafted with AI from the project's README on 2026-10-29 and may miss recent changes — check the README before relying on a command. MIT licence: free to use, modify and distribute, including commercially, as long as you keep the copyright notice.