Enaml

Create rich user interfaces with ease using Enaml's declarative syntax

Desktop License: BSD Best for: Declarative desktop UIs
Official docs All frameworks

Demo

Declarative syntax over Qt widgets

Overview

Enaml is a Python framework for building and maintaining a high-performance, cross-platform desktop GUI using a declarative syntax. It leverages model-view architecture to create robust applications with minimal code.

Key features

  • Declarative syntax for cleaner and more readable code
  • Advanced binding capabilities
  • Rich set of GUI widgets
  • Support for creating custom widgets
  • Cross-platform support (Windows, macOS, Linux)

Common use cases

  • Building desktop applications with complex UIs
  • Developing scientific and engineering applications
  • Creating data visualization tools
  • Prototyping UI designs rapidly

Installation

pip install enaml

Example

from enaml.widgets.api import Window, Container, Label, PushButton, Application

enamldef Main(Window):
    Container:
        PushButton:
            text = 'Click me!'
            clicked :: print('Button clicked!')
        Label:
            text = 'Hello, Enaml!'

if __name__ == '__main__':
    app = Application()
    view = Main()
    view.show()
    app.start()

Related frameworks