Past Meetup

Traits and TraitsUI: Reactive User Interfaces for Python

This Meetup is past

44 people went

Location image of event venue


This is the April CamPUG meeting. Normally some of us go on to the pub afterwards.

Corran Webster from Enthought ( will give a talk on Traits and TraitsUI: Reactive User Interfaces for Python

Traits is a mature reactive programming library for Python that allows application code to respond to changes on Python objects, greatly simplifying the logic of an application. TraitsUI is a tool for building desktop applications on top of the Qt or WxWidgets cross-platform GUI toolkits. Both are BSD licensed open-source libraries which are part of the Enthought Tool Suite.

Traits and TraitsUI provide a programming model for Python that is similar in concept to modern and popular Javascript frameworks like React, Vue and Angular but targeting desktop applications rather than the browser.

This tutorial will introduce the basic concepts of working with these libraries and demo 2D and 3D visualizations built using these tools.

Enthought will be providing pizza.


**How CamPUG uses**

We mainly use meetup as a way of publicising meetings, at which it is very good. We also use the RSVP mechanism to get some idea of how many people will turn up to a meeting, but this is very inaccurate - at best, we normally get
between half and two-thirds of the "yes" numbers attending.

We do not require people to pay for meetings, or acquire tickets, and we do not "take a register" of who actually turns up. We don't even insist that people have to use meetup to indicate they're coming. It is important to me that this be a free and open meeting.

This does mean that we have a problem when a meeting is very popular and reaches the practical room size - i.e., how many will safely fit in our meeting room (although we've really only had that problem once so far).

From now on, I shall put a limit on the number of "yes" RSVP replies that is larger than the actual room size, but hopefully not too large. I shall try harder to send a message or messages before each meeting to remind people to un-RSVP if they cannot come, and I shall count the actual number of attendees to each meeting and monitor the situation.