There is only one file type that uses the .KV extension:
Kivy Language File
A KV file is a Kivy language file created by Kivy, an open-source Python library used to develop multi-touch enabled, cross-platform applications. It stores source code in the Kivy syntax, which may include rule definitions, a root widget, dynamic class definitions, and templates.
Kivy is a framework that assists developers in creating cross-platform apps with Python code. It is specifically focused on describing the user interface and interactions in an app.
The Kivy language features several constructs:
- Root widget - Widgets are the building blocks of GUIs in Kivy and a KV file can contain only one root widget.
- Rules - A Kivy rule applies to a specific widget and is used in a KV file to modify the widget, such as specifying interactive behavior or adding a graphical representation of a widget.
- Dynamic classes - A Kivy dynamic class allows you to quickly create new widgets or rules without any Python declaration.
- Templates - Before being deprecated, Kivy templates were used to save the user time when styling content, like only having to specify the value of a button once for buttons that are used repeatedly. Templates were replaced by dynamic classes in version 1.7.0 of Kivy.
Below is a simple example of a KV file containing a root widget. A KV file should always start with the Kivy header, with the correct Kivy language version used, and then followed by the content:
text: 'Hi there'
You can open KV files with Kivy, which is free and available for Windows, macOS, Linux, Android, and iOS. You can edit KV files with JetBrains PyCharm (multiplatform), a Python IDE and Microsoft Visual Studio Code (multiplatform), a source code editor.
Since KV files are saved in plain text, you can also open and edit KV files with a plain text editor, such as Microsoft Notepad (bundled with Windows) or Apple TextEdit (bundled with macOS). However, these text editors do not provide helpful source code editing features.
Updated: May 25, 2021