Category Archives: Enthought Tool Suite

PyGotham: In Their Own Words

PyGotham is officially over. Many thanks to all the volunteers and organizers for working so hard to make PyGotham a success! Many thanks as well to those of you who decided to attend the Enthought track. We hope we were able to help you solve at least a few of your GPU/Parallel Python/UI/visualization problems. Please don’t hesitate to contact us with any follow-up questions. Finally, a special thank you to Chris Mueller for joining us as a special guest! Your Disco/MapReduce talk was great!

For those of you looking for copies of the slides etc, please stay tuned to this blog. We will be aggregating the materials and will provide a link once we find a home for them.

In the meantime, we hope you enjoy the brief recap video above. The featured researchers, Kate and Michelle, work on macro-molecular proteins at Columbia and are not married to or related to any Enthought staff (as far as I know). Enthought values its relationship with the academic community (come visit us at Scipy!) and we are always happy to see scientists using our tools.

Enthought at EAGE Copenhagen!

Enthought is at the European Association of Geophysicists and Engineers Conference & Exhibition in Copenhagen! Phew, that’s a mouthful. Enthought cut its teeth on seismic applications and, as you can see from the screenshot above, continues to cultivate its geoscience roots.

If you are in town, please come visit us at Stand 2132 in the Bella Center. We’d love to chat over a smørrebrød!

Just released! EPD 7.3 plus beta version of EPD 8.0

Today we have for you not just one, but two exciting EPD releasesan update of EPD to 7.3 and a beta release previewing new features coming in EPD 8.0.

The EPD 7.3 update adds several new packages including Shapely, openpyxl, and a new package from Enthought named Enaml.  Enaml is a new package for rapidly building UIs using a very “Pythonic” declarative language heavily inspired by Qt’s QML langage.

EPD 7.3 also includes a host of package updates, including adding OpeNDAP support to the NetCDF4 package. Overall over 30 packages have been updated, including Cython, IPython, pandas, basemap, scikit-learn, Twisted and SQLAlchemy.

EPD 8.0 beta takes all that we know and love in EPD 7.x and adds an all-new graphical development and analysis environment.  The new GUI is focused on providing a fast, lightweight interface designed for scientists and engineers.  Some of the key features are:

  • A Python-centric text editor including tab-completion plus on-the-fly code analysis.
  • An interactive Python (IPython) prompt integrated with the code editor to enable rapid prototyping and exploration.
  • A Python package manager to make is easier to discover, install, and update packages in the Enthought Python Distribution.
  • Integrated documentation, both on the GUI itself and standard online documentation.

Which version should you install?  EPD 7.3 is the current production release and has the most testing behind it.  If you want to try out EPD 8.0 beta we would love to hear what you think.  EPD 8 is designed to work with earlier versions so once you install the GUI you can either setup a new EPD environment or tell it to use your existing one.  And don’t worry, it’s safe — it won’t modify your existing EPD.

As always, if you have an existing EPD 7.x install that you want to keep you can update all of the Python packages to EPD 7.3 by running the command “enpkg epd” from the command line.  Or, if you have installed the EPD 8 GUI, just open the package manager, select the ‘EPD’ package and click ‘Install’.  It will update you EPD 7.x environment for you.

EPD 8 can be downloaded from https://beta.enthought.com/EPD_8/download/.

Any comments, questions, complaints, or compliments on the beta release can be sent to beta-feedback@enthought.com.

PyGotham Sneak Peek: Interactive Plots with Chaco

Visualization is an important part of any analysis. While well-designed static plots can tell rich stories about data, sometimes a little interactivity can go a long way to build intuition around a subject. Chaco is an open source plotting library that allows developers to create highly interactive plots that offer multiple perspectives on a piece of analysis. Enjoy!

You can learn more about PyGotham here.

Enthought at PyGotham: June 8th & 9th

To the PyCluster!

Enthought is a proud sponsor of the second annual PyGotham conference in New York City (June 8th and 9th). As part of our commitment, we are also offering a High Performance Python track that will illustrate how to build applications and utilize parallel computing techniques with various open source projects. Stayed tuned for more details as they become available.

Here’s the lineup so far:

  • Python with Parallelism in Mind. Rarely does code just happen to be “embarrassingly parallel.” We will discuss some simple rules, structural changes, and diagnostic tools that can help optimize the parallel efficiency of your code. This session will also introduce several common parallel communication technologies that can lower the barrier to parallel computing.
  • GPU Computing with CLyther. GPU computing has come a long way over the past few years but still requires knowledge of CUDA or OpenCL. Similar to Cython, CLyther is a Python language extension that makes writing OpenCL code as easy as Python itself.
  • MapReduce with the Disco Project. MapReduce frameworks provide a powerful abstraction for distributed data storage and processing. Our friend, Chris Mueller, will talk about the Disco Project, a refreshing alternative to the Hadoop hegemony that uses Python for the front-end and Erlang for the back-end. More importantly, he will discuss when a MapReduce framework makes sense and when it doesn’t.
  • Interactive Plotting with Chaco. Most “big data” problems don’t stop with distributed computation. You have to render your results in a way that a larger audience can understand. Chaco is an open source library that helps developers generate performant, interactive data visualizations.
  • Declarative UIs with Enaml. Enaml is pythonic UI development done right. Enaml shares Python’s goals of simplicity, conciseness and elegance. Enaml implements a constraint based layout system which ensures that UI’s built with Enaml behave and appear identical on Windows, Linux and OSX. This introduction to Enaml will get you started on the path of writing non trivial UI’s in an afternoon.
  • Tie It Together: Build An App. In an updated version of his Pycon talk, Jonathan Rocher ties together time series data — from storage to analysis to visualization — in a demo application. We’ll also walk through a more computationally demanding application to illustrate concepts introduced in the previous talks.

Look forward to seeing everyone there!

Yet Another Pycon Recap

It’s been a while since the Enthought blog was updated with something other than the odd EPD release announcement. Pycon would have been a good time to recommit ourselves to blogging, but of course technical difficulties with the blog threw a wrench into that plan.

Pycon recaps are now all over the internet and it seems silly to review talks that are readily available on pyvideo.org. Pycon 2012 does mark something of a turning point, however. Enthought has been involved with the Python community for some time. In fact, it came out that Eric Jones, Enthought’s CEO, has been to all 10 Pycons! How do ya like them apples!? In that time, the Python community has grown from a small rag-tag group of rebels into a very large and shiny unicorn.

The latest Pycon was the slickest iteration to date. Some of the old Pycon hands were a bit surprised at the step function upward in expo hall booth quality. It was a veritable cornucopia of booth lounges, t-shirts, and other swag. Recruiting has become much more of a focus as Python has entered the mainstream. The sheer number of people involved has grown more daunting as well (at least for the introverts among us). The YouTube party proved, however, that some things remain the same (can you guess what it is?).

Nevertheless, “community” remained one of the central themes of the conference and we are certain that the next couple of years will offer some interesting developments as programmers push the Python envelope further (e.g. PyPy, domain specific languages, etc.).

Enthought contributed in its own small way. Jonathan Rocher talked about “Storing, manipulating, and visualizing time series data using open source packages” in his Pycon presentation. Enthought staff participated in a number of BOF sessions and Chris Colbert managed to squeak in his lightning talk on Enaml, a domain specific language for declarative UIs. A slightly longer version of his lightning talk is included below for those of you looking to simplify your UI development.

All in all, Santa Clara was a gracious host and we look forward to seeing everyone again next year!

ETS 4.0 Released

Last night, Ilan Schnell announced the release of ETS 4.0. The first major release of the Enthought Tool Suite in almost three years, 4.0 implements a significant change: The ‘enthought’ namespace has been removed from all projects.

For example:
  from enthought.traits.api import HasTraits
is now simply:
  from traits.api import HasTraits

For backwards compatibility, a proxy package ‘etsproxy’ has been added, which should permit existing code to work. This package also contains a refactor tool ‘ets3to4’ to convert projects to the new namespace so that they don’t rely on ‘etsproxy’.

If you want to download the source code of all ETS projects, you can download http://www.enthought.com/repo/ets/ALLETS-4.0.0.tar (41MB).
The projects themselves are now hosted on: https://github.com/enthought

We understand that the namespace refactor (which prompted this major release in the first place) is a big change, and even though we have tested examples and some of our own code against this ETS version, we expect there to be little glitches. We are therefore already planning a 4.0.1 bug-fix release in about 2-3 weeks.

We are looking forward to your feedback on the ETS mailing list, and hope you enjoy ETS 4.