Monthly Archives: April 2009

EPD 4.2.30201 released

I am pleased to announce that EPD (Enthought Python Distribution) version
4.2.30201 has been released. You may find more information about EPD, as
well as download a 30 day free trial here:

You can check out the release notes here:

The Enthought Python Distribution (EPD) is a “kitchen-sink-included”
distribution of the Python Programming Language, including over 80
additional tools and libraries. The EPD bundle includes NumPy, SciPy,
IPython, 2D and 3D visualization, database adapters, and a lot of
other tools right out of the box.

It is currently available as a single-click installer for Windows XP (x86),
Mac OS X (a universal binary for OS X 10.4 and above),
RedHat 3, 4 and 5 (x86 and amd64), as well as Solaris 10 (x86).

EPD is free for academic use. An annual subscription including installation
support is available for individual and commercial use. Additional
support options, including customization, bug fixes and training classes
are also available:

– Ilan

hash() differences for 32bit and 64bit systems

I was working on a client/server project where we send collections of data across the wire. I needed a method of matching datasets on the client and server, and the python hash function seemed ideal. I suspected that the hash function might have different behaviour on different systems, but conveniently forgot to test it until after I tried to deploy it.

I expected differences, but I didn’t really know to what extent, so I did a little research. So far, ints are the only thing I have found that hash the same, because int’s __hash__ function just returns the int value. Otherwise, Python’s hash functions depend on multiplication using long ints.

While doing my research, I found a page discussing hashing in Python 2.3. The algorithms are similar to the C implementations in Python 2.6.

Of course, I got bit because Python 2.5 on OS X 10.4 and 64bit RedHat 5 didn’t hash my objects the same. In the end, I serialized the data’s metadata and performed a md5 instead, which requres more CPU cycles, but at least it works…

Try out the Beta2 of the next version of EPD

I missed a date with my wife on Friday to help push the beta release of EPD out for all 10 platforms we are currently supporting (WinXP, WinVista, Mac OS X 10.5(10.4)-intel(ppc), RH3 (x86, amd64), RH5 (x86, amd64)). The 6 different binaries were uploaded to our download servers early Saturday morning (4:00 am Central Time). I’m excited for people to try the new release as it brings together recent NumPy, SciPy, matplotlib, and Ipython together with many additional tools.

One of the things I’m very enthused to have people try is an alpha version of EPDLab which comes in the distribution. EPDLab is an open-source Envisage application which offers an IPython shell along with a linked code editor to allow highly interactive development. EPDLab also contains a “search documentation strings” widget which uses Whoosh and some Robert Kern indexing Fu to provide a very useful search for all of the powerful tools pre-packaged with EPD.

Get the beta2 today and start using a very full-featured distribution of Python across your organization today.

If you try this recent beta, I’d love to hear from you about any feedback you may have (both positive and negative). Email me at The final version of the next release of EPD (4.2.30201) should be out by early next week.


We may drop OS X 10.4 and PPC support from future EPD releases

We’ve had a number of recent internal discussions about EPD during which the phrases “that won’t work on OS X 10.4” or “does upstream have PPC support?” came up quite often. For example, a recent discussion about the importance of relocatable EPD egg installs sputtered because we realized Mac OS X 10.4 doesn’t support RPATH settings in binary headers, which meant we’d have to do something special just for that platform.

Once we realized this commonality, we next wondered how important OS X 10.4 and PPC support actually is for the EPD user community. Thus the point of this blog post: to get some community input. This is your chance to speak up if you need OS X 10.4 and/or PPC support. I can’t promise that a single ‘yes’ will sway our decision making, but certainly the more people who speak up, the more likely we are to try to continue the support.

Intro to Scientific Computing in Python, June 15-19, Austin TX

Enthought is offering “Introduction to Scientific Computing in Python” at our offices in Austin, Texas from June 15th to June 19th. This course is intended for scientists and engineers who want to learn to use Python for day-to-day computational tasks.

  • Day 1: Introduction to the Python Language
  • Day 2: Array Calculations with NumPy
  • Day 3: Numeric Algorithms with SciPy
  • Day 4: Interfacing Python with Other Languages
  • Day 5: Interactive 2D Visualization with Chaco

The cost for the course is $2500. Please see the course description on the Enthought website for details.

Space is still available in our course on Python for Science, Engineering, and Financial Analysis, May 18th to 21st, in New York City