Monthly Archives: June 2009

Revamped Plot Toolbar

Last October I added a toolbar for Chaco plots. It was functional, but it wasn’t very pretty. I decided to rewrite it from scratch, with emphasis on improving the appearance and improving the auto-hide feature.

The new toolbar also employs a new feature to Enable: gradients! Gradient support is still a work in progress, but improving daily.

PlotToolbar example screenshot

June EPD Webinar: Parallel Processing with iPython

We see our EPD Webinar sessions as a great venue for us to provide subscribers with personalized support. Is there a particular challenge you’ve encountered while using EPD? Do you feel like it would be helpful for us to walk you through a process? We encourage you to submit your questions ahead of time so that we can prepare materials and demos to meet your needs.The webinar format enables us to respond to your questions (either by chat or VOIP, depending on your preference) and share our screen to provide examples and demonstrations. We feel that this could become an invaluable channel of communication for EPD users, and are excited to see how it progresses.July’s webinar will be held next Thursday at 1pm to accomodate Independence Day weekend. We plan to give an overview and demonstration of parallel processing with iPython, as we’ve seen the tremendous utility of this EPD feature overlooked in the past. Once again, however, if you have a special topic that you’d like to have addressed, feel free to write us an e-mail to tell us what content you’d like to have covered in Thursday’s session.

EPD Webinar: Thursday July 2, 20091pm CDT/6pm UTC.Register at GoToMeeting. A password to enter the webinar will be provided in your confirmation.

June 19 Public Webinar on Python for Scientific Computing

I had such a blast at the last public webinar that we did to promote Python for Scientific Computing. I am really looking forward to the next webinar which is only a week away (June 19). We had 100 people attend the last one. I know that some who wanted to attend could not because of a mix-up on times, or a problem with the fact that GoToMeeting doesn’t support Linux (I’m not very happy about that, but I don’t see another option right now). I apologize for all those problems, but hope you will try to attend again.

There is a lot that we could cover in these webinars, and I’m anxious for your feedback about what you would like to see. My plan is to put a schedule together so the topics are listed through the end of December after this next webinar. Now is the chance to make your opinion known if you’d like to steer these webinars in a particular direction. Schedules are busy and varied, so I’d like to give plenty of notice so that more people can attend the webinar they are most interested in.

In this upcoming webinar we are going to provide an introduction and demo of Chaco (which we didn’t get to the last time). If there is time, I will also continue the Mayavi demonstration (particular the mlab interface) that we started last time, but I also wanted to showoff EPDLab to a wider audience. You can register for the webinar at

In the EPD subscriber webinar on June 5th, we discussed EPDLab (an open-source interactive Python environment included as part of EPD). Because EPDLab is a free and open-source project that anyone can participate in, contribute code to, and use as they would like, I think it deserves some attention at this next public webinar. Not only does it provide an enhanced scientific computing environment, it also provides an introduction to the Enthought Tool Suite (a free and open-source collection of tools for building compelling scientific applications — it goes by the abbreviation ETS).

I hope you will excuse a brief aside to clarify ETS and its relationship to EPD. Because we do sell a binary distribution of Python tools called the Enthought Python Distribution (EPD — which also happens to contain ETS), there is sometimes some confusion regarding the license and availability of ETS. ETS is a large BSD-licensed open-source collection of tools with a public SVN repository that anyone can contribute to and participate in the development of. Enthought has released a lot of code in that library which has made it possible for us to write sophisticated, compelling, and attractive scientific computing applications for our customers. ETS contains multiple separate projects. The most important and developed of these projects are Mayavi, Chaco, Traits, TraitsUI, and Envisage. You can learn more about ETS at Enthought’s open source portal.

But, Enthought is a small company and the majority of our marketing effort right now is centered around getting the word out about EPD and our other products and services like training and custom software creation. We don’t have the man-power to advertise ETS very well at the same time, and it can be a little confusing that EPD the distribution does cost money for commercial use, but ETS is free and open-source. Fortunately, people like Gael Varoquaux and Prabhu Ramachandran lead the internet charge to spread the word about the great tools in ETS.

I’m looking forward to seeing many of you on-line again at 1:00pm (Central Daylight Time) on Friday, June 19th. Slides and a recording of the webinar will also be made available here after conclusion of the webinar.

First EPD Webinar

I wanted to thank everybody who came to the first EPD Webinar which was held today at 1:00pm CDT in our offices at Austin. We had a few technical glitches which our team resolved quickly. I then spent about 30 minutes showing off new features of EPD such as EPDLab, indexed searching of docstrings with Whoosh, and the new curve_fit function from scipy.optimize. Dave Peterson then spent about 30 minutes showing the use of enpkg which is a command in EPD to allow update, upgrade, and rollback service for egg-packages. This tool should allow subscribers to EPD to keep up to date without having to download and install new installers every time a release is made.

A packaging tool like enpkg has been on the roadmap since the beginning, and it was encouraging to see it in action. There are still a few speed and “verbosity” issues that we are cleaning up, but it looks like a good start to what should be a very useful feature for EPD.

In the future, the EPD webinars will contain about 30-45 minutes of training material drawn from the 7-days of course material on scientific computing with Python that we teach regularly. If there are particular points you would like to see covered, please let us know at The current plan for the next EPD Webinar is to provide training on the statistical capabilities of SciPy.

All who attended had the chance to ask questions directly of the Enthought attendees. We look forward to answering more of your questions in the future. The next EPD webinar is scheduled for Friday, July 3 at 1:00pm CDT. If you are an EPD Subscriber at the Basic level, please register. We look forward to your attendance and questions. Feel free to send pre-webinar questions to

The next public webinar for general scientific computing with Python is
Friday, June 19 at 1:00pm CDT. This webinar is open to all that would like to attend. Right now the plan is to show-off the open-source EPDLab and give an overview of all the tools that are brought together in EPD. You can sign up now for the event. I look forward to seeing many of you attend.

EPD: Aiming for x86_64 OS X builds

We’ve recently made the decision to start applying resources to generating x86_64 OS X builds of EPD. Because of limited resources, this means we’re officially dropping PPC support in EPD. It also means that it may take us months to get things released for the x86_64 (also known as amd64) architecture.

As an example of some of the issues we’ll face, we’ll need to decide how to handle the GUI backend situation. You see, the wxWidgets project hasn’t yet released 64-bit build support for OS X’s Cocoa framework, and the Carbon framework isn’t 64-bit, so we’re stuck either starting with a “server” / console build of EPD, shipping on an unreleased version of wxWidgets, delaying the release while we help finalize x86_64 Cocoa builds of wxWidgets and wxPython, or switching to a different backend like Qt.

While Qt and the PyQt (Python bindings for Qt) seems like a no-brainer technology-wise, the license situation is a hurdle for us to overcome. We’ve tried hard, but haven’t always succeeded, to avoid GPL licensed projects in EPD in order to make it more palatable to commercial users, like even our own consulting projects. And, yes, Qt itself recently came out with an LGPL license option that would suit EPD’s needs, but PyQt isn’t similarly licensed (yet). So now we have to decide whether such a core capability (the only GUI backend of OS X x86_64) would be acceptable to be GPL licensed.

If any one has any thoughts or suggestions on how to resolve this issue, please don’t hesitate to let us know!

By the way, regarding the PPC situation, we have effectively already started to drop PPC support with the EPD Py25 v4.3.0 release. We made a good faith effort to build in the PPC support but simply didn’t do significant testing of the results. In the end, it turns out that at least one core module, SciPy, ended up with binaries that don’t fully support PPC. Sorry, but we do not plan to issue fixes for this.

If you’re a PPC user, the last working version of EPD for PPC was EPD Py25 v4.2.30201.

The EPD repository has RSS feeds

We’ve just updated the EPD product website with links to a new EPD repository RSS feed:

This feed is updated every time we release an update / upgrade to a project included in EPD, and soon everytime we publish a new installer. All entries into the feed specify the platform the update / upgrade was released for, the date and time of release, the name of the thing being updated / upgraded, and a short description of the project being updated.

We’ve added this feed to both the main EPD product page, and also the ‘Download’ page — they’re the same feed so no need to subscribe twice! For those with browsers that recognize RSS declarations in the page/HTML headers, you’ll see the RSS feed icon in your browser’s URL field when visiting these pages. For others, simply click on the explicit RSS link on the main page right under the big, red, “Download Now” button.

As an alternative to this all-platforms feed which is available to everyone, even those without an EPD subscription at all, current EPD subscribers with access to the repository can subscribe to a filtered RSS feed for their target platform(s). These can be found within the various platform-specific directories under the top-level ‘eggs’ directory. Note that only those with ‘Basic’ subscriptions and above can access the repository.

Please don’t hesitate to send us suggestions on how we can continue to improve EPD!