--- id: kivy version: "2.3.1" license: MIT license_treatment: permissive maintenance: active --- # Kivy — An open-source Python framework for developing GUI apps that work cross-platform, including desktop, mobile and embedded platforms. License: permissive · Maintenance: active · Downloads: 279.3K/mo ## What it is and what it does Kivy is a production-stable Python GUI framework built on OpenGL ES 2.0 that lets you write desktop and mobile applications once and deploy them to Windows, macOS, Linux, Android, and iOS. It emphasizes rapid prototyping and code reuse through a unified widget library with native multitouch support. The framework is written in Python and Cython and comes with an extensive, extensible widget set. You use Kivy to design interactive user interfaces declaratively, bind them to event handlers, and package them for multiple platforms. It handles the platform-specific rendering and input abstraction, so your application logic remains portable. The framework depends on system graphics libraries and platform-specific binary packages (SDL2, GLEW, ANGLE), which are managed through companion packages like kivy-deps.sdl2. Use it for: - Build a desktop application in Python that runs identically on Windows, macOS, and Linux without code changes. - Develop a mobile app for Android or iOS using Python, avoiding platform-specific languages while sharing core logic. - Create a touchscreen interface for embedded systems or kiosks with multitouch gesture support. - Prototype interactive data visualization or scientific applications with real-time UI updates. - Build games or multimedia applications that require hardware-accelerated graphics and input handling. ## Worth the install? AI-flagged interpretation of the facts above — verify before relying. Kivy is a Python framework for building graphical user interfaces that run on desktop, mobile, and embedded platforms from a single codebase, with native support for multitouch input and cross-platform deployment. Yes, if you need to build cross-platform GUIs in Python and are willing to manage platform-specific dependencies. Kivy is production-stable, actively maintained, and has no known vulnerabilities. The medium install friction is a trade-off for genuine code reuse across desktop and mobile. Not recommended if you need native platform look-and-feel or tight integration with platform-specific APIs—consider platform-specific frameworks for those cases. ## Install pip install kivy uv add kivy poetry add kivy ## Installing Kivy Before you install: Medium install friction due to compiled dependencies (SDL2, GLEW, ANGLE on Windows) and platform-specific wheels. Actively maintained with recent commits; production-stable status and 18992 repository stars indicate solid community backing. License in practice: MIT license permits commercial and private use with minimal restrictions. Bundled fonts (Roboto, DejaVuSans) and UI design elements carry separate Apache 2.0 and LGPLv2.1 licenses, which do not restrict your own code. Quickstart: pip install Kivy from kivy.app import App from kivy.uix.label import Label class HelloApp(App): def build(self): return Label(text='Hello Kivy') if __name__ == '__main__': HelloApp().run() Requires system graphics libraries (OpenGL ES 2.0 support); on Windows, kivy-deps.angle, kivy-deps.sdl2, and kivy-deps.glew are installed automatically but may need Visual C++ redistributables. Verify before relying: - Performance characteristics and memory footprint for complex UIs or large datasets - Maturity and stability of iOS and Android deployment workflows via companion tools - Real-world app store submission experience and toolchain reliability ## Package facts - License: MIT (permissive) - Python support: supports_current - Install friction: medium - Maintenance: active - Downloads: 279.3K/month (top 15,000 on PyPI) - Known vulnerabilities: none known ## Tags cross-platform GUI framework Python, mobile app development Python, desktop application framework, multitouch UI framework, Python GUI builder, cross-platform-gui, mobile-development, multitouch [View on SkillFed](https://skillfed.io/packages/kivy) · [View on PyPI](https://pypi.org/project/kivy/)