LibraryActive

Kivy

Open source Python library for rapid development of multi-touch applications.

Open source page

Product features

Product features

add_widget()

Add a widget as a child.

API reference

Comprehensive API reference.

App Class

Subclass the App class and implement build() to create an application.

Background for Layout

Add a background to a layout.

Canvas Before and After Groups

Canvas instructions can be grouped into before and after sets for rendering order.

Canvas Extensions

Extend canvas instructions within KV rules.

clear_widgets()

Remove all children from a widget.

config.ini

Configuration file for Kivy

Configuration

Use KIVY_CONFIG to specify a custom configuration file.

Context Instructions

Instructions that manipulate OpenGL context, such as rotate, translate, scale, and color changes.

Contribution guide

Guide for contributing to Kivy.

Core Providers

Abstracts core tasks like windowing, text, audio, video, and camera.

Cross-platform

Pre-packaged binaries are available for Windows, macOS, and Linux.

Drawing instructions

Dynamic Classes

Define dynamic widget classes in KV language.

KIVY_HOME

Environment variable controlling config location

Environment Variable Control

Control Kivy's initialization and behavior via environment variables.

Event Bindings

Bind widget events to callbacks in a natural manner.

Event Dispatching

Widgets and event dispatching for handling user interactions.

Event Loop

Control event loop behavior via environment variables.

Event dispatcher

Gallery of examples

Includes a gallery of examples demonstrating features.

Getting started

Provides getting started guide.

Graphics

Control graphics behavior via environment variables.

Input Management

Handles various input types including mouse, touchscreen, accelerometer, gyroscope.

Input Provider Plugins

Support for various input sources including mouse, touch, and HID devices.

Input Providers

Provides support for various input sources like mouse, touchscreen, and TUIO.

Joystick Support

Supports joystick input including Xbox 360 controller.

KV Language

Declarative language for building widget trees and bindings.

Layout system

App Life Cycle

Kivy apps have a defined life cycle from initialization to running.

Metrics

Control metrics behavior via environment variables.

Motion Events

Generates touch and no-touch events from input providers.

Multi-touch apps

Specifically designed for multi-touch applications.

Multi-touch support

Support for novel user interfaces such as multi-touch apps.

Nesting Layouts

Combine layouts to create complex interfaces.

Novel user interfaces

Rapid development of applications with novel user interfaces.

Packaging

Supports packaging applications for various platforms.

Path Control

Set custom directories for data, modules, and home via KIVY_DATA_DIR, KIVY_MODULES_DIR, KIVY_HOME.

Programming guide

Detailed programming guide.

Properties system

remove_widget()

Remove a widget from the children list.

Restrict Core to Specific Implementation

Restrict core modules to specific implementations, e.g., KIVY_TEXT=pil for PIL text rendering.

Size and Position Metrics

Set and measure widget size and position.

Traversing the Tree

Navigate through the widget tree.

Tutorials

Includes tutorials like Pong Game and Paint App.

Twisted Integration

Install a twisted reactor that runs inside the kivy event loop.

Vertex Instructions

Instructions that draw shapes and textures on the canvas.

Multi-touch aware widgets

A growing library of multi-touch aware widgets.

Widget Tree

The build() method returns a Widget instance as the root of the widget tree.

Z Index

Control the stacking order of widgets.