Kivy is an open-source Python framework for developing GUI applications that run cross-platform, including desktop (Windows, macOS, Linux), mobile (Android, iOS), and embedded platforms. It facilitates rapid prototyping and easy interaction design, supporting multi-touch applications with a reusable codebase. Kivy is released under the MIT License, actively developed by a strong community, and is currently at version 2.3.1.
pip install kivyVerified import paths — ran on the pinned version, not inferred.
This minimal Kivy application creates a simple window displaying 'Hello, Kivy!'. It defines an `App` subclass, overrides the `build` method to return a `Label` widget, and then runs the application instance. The `kivy.require()` call is a good practice to ensure compatibility with your current Kivy version.
Ensure you are using Python 3.6 or newer. For Kivy 2.3.1, Python 3.8-3.13 are supported.
Upgrade your Python installation to 3.8 or newer (3.8-3.13 for Kivy 2.3.1) and ensure you are using a 64-bit operating system if on Windows.
Refer to the Kivy 2.3.0 changelog for specific replacements and updated APIs. These deprecated features will be removed entirely in Kivy 3.0.0.
Use `pip install "kivy[full]"` to include common binary dependencies for most platforms, or install specific `kivy-deps` packages manually. Ensure you're in an activated virtual environment.
Actively monitor the Kivy project's announcements and changelogs for Kivy 3.0.0 to identify and migrate away from any deprecated features in your codebase.
Activate your virtual environment (if using one) and reinstall Kivy using `pip install "kivy[full]"`. Verify the Python interpreter being used by your IDE or terminal.
Install Kivy with the `full` extra: `pip install "kivy[full]"`. If the problem persists, ensure your system has up-to-date graphics drivers and consider installing Visual C++ Build Tools on Windows for source compilation.
Carefully review your .kv file for correct indentation, proper use of `app`, `root`, and `self` keywords, and adherence to Kv language syntax. Ensure no mixed tabs and spaces.