PyCon 2012

This year I will join colleagues in the Python-hacking world at PyCon Uruguay, PyCon Argentina and PythonBrasil8 for a 15-days trip around South America.I have been asked to prepare a keynote talk on GUI programming (in wxPython), a talk on the scientific track and a tutorial on wxPython (for very beginners).

Below you will find the abstracts of these talks, their slides (in PDF format). The tutorials are also available online on my website:


“import wx”: a Tale of Neverending GUI Power (PDF slides)

Learn how to harness the power of a robust, cross-platform and extensible GUI framework.

Andrea Gavana (Maersk Oil)

The talk will introduce the wxPython application development framework, as of today providing the nicest and most powerful yet easy to use library for cross-platform Python GUI programming. We will go through a general description of wxPython and the reasons why it is such a popular GUI library for Python.

Then we will move to some general GUI programming concepts, showing some examples of wxPython widgets and describing the concept of "event-loop"-driven user interfaces.

The talk will then highlight the importance of good-looking cross-platform designs, together with best practices to get your UI to look great: the concept of Sizers is central to this objective.

We will show the extensibility of wxPython by diving into the AGW library, a large collection of owner-drawn and custom widgets shipped officially with every new release of wxPython. In doing this, we will examine some lessons-learned, tips and HOWTOs related to custom widgets in wxPython.

Finally, the talk will present a brief walk-through for the next generation of wxPython, code-named Phoenix, and its improvements over the current wxPython framework.


Oily Python: a Reservoir Engineering Perspective (PDF slides)

Applications of Python in the oil industry, with focus on number crunching and automation, data processing, 2D/3D visualization, and graphical user interfaces.

Andrea Gavana (Maersk Oil)

In reservoir simulation studies a reservoir engineer typically has to get the grips with both the intrinsic complexity of non-unique inversion with uncertain and incomplete data, and the practical problems in dealing with many models with each a large amount of observables. In this talk, we shall introduce these domain problems, and explain how Python can effectively come to help and increase the simulation engineer’s effectiveness.

The combined effect of the massive amount of data and simulation results, the non-linearity of the problems, the issues around quality and sources of field measurements, the constraints that need to be honoured and the inter-disciplinary aspects of the job creates one of the most challenging of reservoir engineering tasks.

This is where the power of visualization comes in: the ability to rapidly process and turn huge simulation data sets into revealing 2D/3D images can give quick insights and allows the engineer to spot inconsistent data. Python makes it easy to automate repetitive tasks, saving time and ruling out human errors. Last but not least, graphical user interfaces may be used to glue everything together, harnessing the power of Python and its libraries in number crunching, visualization and automation into a nice-looking, point-and-click GUI.


Hands-on wxPython at PyCon Argentina (online tutorial)

Andrea Gavana (Maersk Oil)

Start learning wxPython through a self-directed tutorial and practice problems (one-hour tutorial). Topics includes:

  • How to build a skeleton of an app starting from scratch
  • Basics of creating custom controls with wxPython


Hands-on wxPython at PythonBrasil[8] (online tutorial)

Andrea Gavana (Maersk Oil)

Start learning wxPython through a self-directed tutorial and practice problems (four-hours tutorial). Topics includes:

  • How to build a skeleton of an app starting from scratch
  • Window layout management with Sizers and AUI (Advanced User Interface)
  • Learn how to use the most common core widgets
  • Basics of creating custom controls with wxPython