Skip to content

MorphUI

MorphUI is a modern, flexible UI framework for Kivy that provides beautiful, themeable components with dynamic color management. Built on Material You's dynamic color system, it gives you a rich set of widgets with automatic theming, smooth animations, and a powerful behavior architecture — without being locked to Material Design rules.


Key Features

  • Dynamic Theming

    Material You-inspired color system. Switch between light/dark mode or reseed colors at runtime — all widgets update automatically.

  • Rich Component Library

    Buttons, chips, text fields, dialogs, dropdowns, tooltips, progress indicators, and more — all fully themed and animated.

  • Data Visualization

    Optional matplotlib integration via morphui[visualization] for charts and inline plots inside your Kivy UI.

  • Smooth Animations

    Built-in ripple effects, hover states, motion behaviors, and value-animated progress indicators.

  • Modular Behaviors

    Mix and match fine-grained behaviors — theming, hover, ripple, elevation, sizing, composition — to compose custom widgets.

  • Cross-Platform

    Runs on Windows, macOS, Linux, Android, iOS, and web via Kivy's platform abstraction.


Installation

pip install morphui
pip install morphui[visualization]
git clone https://github.com/j4ggr/MorphUI.git
cd MorphUI
pip install -e .

Quick Start

from morphui.app import MorphApp
from morphui.uix.boxlayout import MorphBoxLayout
from morphui.uix.label import MorphLabel
from morphui.uix.button import MorphButton

class MyApp(MorphApp):
    def build(self):
        self.theme_manager.theme_mode = 'Dark'
        self.theme_manager.seed_color = 'Blue'

        return MorphBoxLayout(
            MorphLabel(text="Welcome to MorphUI!"),
            MorphButton(text="Click Me"),
            orientation='vertical',
            spacing=10,
            padding=20,
        )

if __name__ == '__main__':
    MyApp().run()

Where to Go Next

Getting Started Installation, first app, and theme setup
Components Buttons, chips, dialogs, text fields, and more
Layouts Layout containers and structural widgets
Theme System Dynamic color palette and typography
Behaviors Modular behavior mixins for custom widgets
API Reference Full auto-generated API documentation