We’ve just released ActivePython 3.1. There are lots of cool and useful things in this release, but since I’m not one of the Python gurus around here, I sent some questions about it to Sridhar Ratnakumar, who is. Here’s the resulting Q & A:
- What do you do at ActiveState?
- I am currently the main developer behind ActivePython. I’m working on extending the distribution and creating a binary package management system similar to ActivePerl’s ppm.
- Core Python 3.1 was released on June 27th. ActivePython 3.1 was released two days later. That’s a fast turn-around. How did you manage that?
- We had an interim public release of 3.1b1 which required some build issue fixes, but the 3.1 final release did not introduce further build errors. We’ve put a lot of work into automating the ActivePython build system, so once Python 3.1 was released, I was able to prepare the RCs the next day. We then put the builds through QA before public release.
- There are now Windows x64 builds with this release. Have a lot of people been asking for this?
- Lack of Win64 builds was a common complaint both from the community and our enterprise users, so we focused on resolving the Windows x64 build issues to make it available in the 188.8.131.52 and 184.108.40.206 releases (April 27).
- Have we contributed any changes or fixes to core Python recently?
- Yes, I think a couple of them related to build issues were committed to trunk after the 3.1 release. We already have a set of private patches that fix build issues on old Unix platforms. These will also be submitted back to the Python community.
- What’s the process for doing this?
- There is no fixed process, it is simply a matter of reporting the bug (optionally with the patch) at bugs.python.org and then letting the discussion evolve.
- There are obviously a number of changes to the language between 2.5 and 3.0. Are there any differences between 3.0 and 3.1 that people should be aware of?
- As with any major.minor version upgrade, yes. It is recommended that people read the “What’s New In Python 3.1” document. Those moving from Python 2.x should definitely have a look at “What’s New In Python 3.0“.
- There are a lot of bug fixes and improvements in 3.1 too. Any of these worth mentioning?
- The I/O library has been rewritten in C in the 3.1 release, and thus is significantly faster than 3.0’s pure Python version. Tcl/Tk was upgraded to 8.5.7 and Tix to 8.4.3 [for tkinter]. We upgraded openssl in the previous release (220.127.116.11 and 3.1.0b1.1).
There are also two new classes in the collections module – ordered dictionaries (OrderedDict) and Counter. The tkinter.ttk module adds theming support for the tkinter GUI toolkit, and the importlib module, contributed by Brett Cannon, provides a pure-python (portable) implementation of