+1 -1 +10
Vote on this proposal

Building interactive applications with ETS

by Prabhu Ramachandran (speaking)

Section
Software Development Tools
Session type
Tutorial
Technical level
Intermediate

Objective

This tutorial aims to provide a good starting point for someone starting off with building GUI applications, and help them build more sophisticated applications with a clean architecture.

Description

The Enthought Tool Suite (ETS) is a suite of fundamental building blocks to make rich interactive applications in Python. ETS is open source and distributed under the terms of the BSD. It is developed and maintained by Enthought. It forms the basis for all applications that Enthought builds. ETS consists of the following core packages:

  • Traits: traits is the cornerstone of ETS and provides explicit type declarations in Python. One can think of them as Python object attributes on steroids. It allows one to create objects with attributes supporting initialization, validation, delegation, notification and visualization using a GUI.

  • TraitsUI: provides a way to declaratively define a user interface for objects that have traits.

  • Chaco: a powerful, interactive 2d plotting toolkit.
  • Mayavi: a powerful 3D visualization package.
  • Envisage: a framework for building extensible applications with plugins.

In this tutorial we take a good look at each of these packages and learn to use them to create a simple desktop application that integrates 2D and 3D visualization. This talk aims to provide a good starting point for someone starting off with building GUI applications, and help them build more sophisticated applications with a clean architecture.

We expect a decent knowledge of Python and comfort with object oriented programming.

Hardware/Software setup

  • A laptop
  • A python install with numpy, scipy, traits, traitsui, chaco and mayavi.

On a recent enough Linux distribution these should all be available and packaged, you just need to install them.

On Mac/Windows you will find all the requirements (except Mayavi) in EPD Free, which is available here: http://www.enthought.com/products/epd_free.php

Speaker bio

Prabhu Ramachandran and Pankaj Pandey will be conducting this tutorial.

Prabhu Ramachandran has been a faculty member at the Department of Aerospace Engineering, IIT Bombay, since 2005. He is also the managing director of Enthought India. His research interests are primarily in particle methods and applied scientific computing. He has been active in the FOSS community for more than a decade. He co-founded the Chennai Linux User Group in 1998 and is the creator, and lead developer of Mayavi. He has contributed to the Python wrappers of the Visualization Toolkit. Prabhu has a Ph.D. in Aerospace Engineering from IIT Madras. He is an active member of the SciPy community as well as a member the Society for Industrial and Applied Mathematics and a nominated member of the Python Software Foundation.

Pankaj earned his Bachelor and Master of Technology in Aerospace Engineering from IIT Bombay. Prior to joining Enthought, he worked on smoothed particle hydrodynamics (SPH) modeling. For his masters research, Pankaj implemented load balancing and solid mechanics in the PySPH framework for SPH simulations.