+1 -1 +9
Vote on this proposal

Enaml: Pythonic, toolkit independent, declarative UIs

by Puneeth Chaganti (speaking)

Software Development Tools
Session type
Technical level


The talk aims at introducing the audience to Enaml and help them get started with using Enaml and Traits for building GUI applications.


Enaml is a DSL for writing platform independent, declarative UIs. In a model-view-controller world, Enaml makes it very easy to develop the view and controller. Typically, the model is built with Traits, but it's model is framework agnostic and provides hooks for using custom model frameworks.

The DSL is a strict superset of Python and provides a simple Pythonic syntax for declaring a UI that binds and reacts to changes in the models. Enaml is dynamically executed and it lets you bind to arbitrary Python expressions. It uses a constraint based layout system which makes it possible to have layouts that are not typically possible with traditional UI toolkits. Enaml also supports asynchronous UIs which allow one to have multiple UIs connecting to the same model running in the same process or out of process. This, in theory, opens up the possibility for a web-based UI to be used to control a model.

Speaker bio

Puneeth Chaganti is currently employed at Enthought and writes Python code for his bread and butter. He's not the author of Enaml, but has worked with it on a few small projects and is excited by and loves it's simplicity for developing GUIs.


  • 1

    [-] Jaidev Deshpande 912 days ago

    Hi, why not change this into a tutorial?

  • 1

    [-] Anand Chitipothu 911 days ago

    Any URLs to know more about Enaml and Traits?

    • 1

      [-] Puneeth Chaganti 911 days ago

      This is a 20 minute demo of Enaml by the main author -- https://www.youtube.com/watch?v=ycFEwz_hAxk

  • 1

    [-] Jaidev Deshpande 911 days ago

    Enaml: www.github.com/enthought/enaml

    Traits: http://code.enthought.com/projects/traits/

  • 1

    [-] Anand B Pillai 910 days ago

    Hi, since you are taking two dependent libraries and doing a demo, this looks more suitable for a tutorial.

    • 1

      [-] Puneeth Chaganti 910 days ago

      I don't intend to talk about Traits in any length. The whole talk is intended to be an overview of the possibilities of Enaml and getting people to try it. Also, we have already proposed a tutorial on traits.

Login with Twitter or Google to leave a comment →