Enthought Tool Suite (ETS) 3.3.0 released

Dave Peterson dpeterson at enthought.com
Thu Jul 16 21:27:09 CEST 2009


Hello,

I'm pleased to announce that Enthought Tool Suite (ETS) version 3.3.0 
has been tagged and released!  Please see below for a partial list of 
changes for this release.

PyPi has been updated with the release, including the availability of 
both Windows binaries (.egg) and source distributions (.tar.gz).  A full 
install of ETS can be done using a command like:
    easy_install -U "ETS[nonets] == 3.3.0"

HOWEVER, it is important to note that there are still package 
dependencies that are outside the scope of easy_install.  Therefore, we 
recommend that you have the following installed prior to installing ETS:
    setuptools: minimum version 0.6c9
    VTK: minimum version 5.0, recommended 5.2 or later
And at least one of:
    wxPython: minimum version 2.8.7.1
    PyQt: minimum version 4.4

For additional installation information, see:
    https://svn.enthought.com/enthought/wiki/Install



What Is ETS?
===========

The Enthought Tool Suite (ETS) is a collection of components developed 
by Enthought and the open-source community, which we use every day to 
construct scientific applications. It includes a wide variety of 
components, including:
  * an extensible application framework
  * application building blocks
  * 2-D and 3-D graphics libraries
  * scientific and math libraries
  * developer tools
The cornerstone on which these tools rest is the Traits package, which 
provides explicit type declarations in Python; its features include 
initialization, validation, delegation, notification, and visualization 
of typed attributes.

More information on ETS is available from the development home page:
    http://code.enthought.com/projects/index.php

ETS 3.3.0 is a feature-added update to ETS 3.2.0, including numerous 
bug-fixes. Some of the notable changes include (sub-projects listed in 
alphabetical order):


Chaco 3.2.0 (July 15, 2009)
===========================

Enhancements
------------

  * Bounded grids - Horizontal and Vertical grid line start and end 
points can now be set to a fixed value in data space, or to be the 
return value of an arbitrary callable.  The start and end tick can also 
be configured via the data_min and data_max traits.

  * Added dictionary interface to ArrayPlotData

  * Added a Traits UI view to the ScalesAxis

  * Added a new chaco.overlays subpackage and a new overlay, the DataBox.

  * Improved appearance of PlotToolbar

  * Changed add_default_axis() in the plot_factory module to take an 
axis class as a keyword argument.

  * Refactored contour plots into a common base class and implemented 
proper event handling when their colormaps or data ranges change.

  * Changed default colormap on img_plot() and contour_plot() method of 
Plot to be Spectral instead of Jet.

  * Added two more color palettes to the auto color palette, and created 
a default_colors module.

  * Added CandlePlot renderer

  * Changed Plot Labels to able to display inside the plot area, instead 
of only on the outside

  * Added optional title attribute to plot legends

  * Updated all containers to respect and use the new 
fixed_preferred_size trait on enable.Component

  * New Examples:
    * Interval trait editor as a Chaco example (from Stefan van der Walt)
    * embedding an interactive Chaco plot inside a VTK RenderWindow 
using the new Enable VTK backend
    * lasso tool on an image plot
    * bounded grid
    * candle plot


Fixes
-----

  * Fixed call signature of ShowAllTickGenerator.get_ticks()
 
  * Plot.title_font is now a delegate to the underlying PlotLabel object 
(from Chris Colbert)

  * Fixed mouse event handling bug in RangeSelection (from Stefan van 
der Walt)

  * ImagePlots now redraw when their input data changes.

  * Fixed cached image invalidation in colormapped image plots

  * Optimized ScatterPlot.map_index() when index_only is True and the 
index data is sorted

  * Changed ColormappedScatterPlot to no longer incorrectly apply the 
fill_alpha to the outline color

  * Improved date ticking heuristics in chaco.scales subpackage, 
specifically eliminating the bug where all times between, midnight and 
1am would be formatted at too course of a time resolution.

  * Cleanup of various examples (titles, appearance)

  * The spectrum.py (audio spectrograph) example now properly closes the 
audio stream.



Enable 3.2.0 (July 15th, 2009)
==============================

enthought.enable Enhancements
-----------------------------

 * Added Slider and Compass widgets

 * Added an OverlayContainer (almost identical to the one in Chaco)

 * Added ImageGraphicsContextEnable class so that one can always import 
a Kiva Image backend-based GraphicsContextEnable

 * renaming marker_trait to MarkerTrait (the old name is still permitted 
for backwards compatibility, but should be avoided)

 * Moved the scatter_markers module from Chaco to Enable, so that Enable 
components can use MarkerTrait

 * Added an experimental VTK backend for Enable, along with an example

 * Changed SVGButtonEditor toggle to draw a SVG under the button SVG 
instead of drawing a plain box

 * Added labels for SVGButton

 * Improving backbuffering performance on the Mac by creating the layer 
context from the window context instead of from a bitmap.

 * Adding a "fixed_preferred_size" trait to Components, so that relative 
size preferences can be expressed amongst different components in a 
container


enthought.enable Fixes
----------------------

 * Improved the backend selection to match the Traits UI backend unless 
ETSConfig.enable_toolkit is explicitly set

 * Fixed demo_main() in example_support.py so that it doesn't crash IPython

 * Fixed RGBAColorTrait so it can be used with the null toolkit

 * Changed the "sys_window" color to be the same as the Traits UI 
"WindowColor" constant

 * Fixed backend_cairo's get_text_extent() implementation to match other 
backends


enthought.kiva Enhancements
---------------------------

 * Added basic gradients to Kiva


enthought.kiva Fixes
--------------------

 * Fixed Python 2.6 datatype errors

 * Fixed memory leak as reported in ticket 1815

 * The macport test is only run on Darwin systems

 * Removed deprecated calls to old numpy APIs



Traits 3.2.0
============

 * Implemented editable_labels attribute in the TabularEditor for 
enabling editing of the labels (i.e. the first column) * 
Saving/restoring window positions works with multiple displays of 
different sizes

 * New ProgressEditor

 * Changed default colors for TableEditor

 * Added support for HTMLEditor for QT backend using QtWebKit

 * Improved support for opening links in external browser from HTMLEditor

 * Added support for TabularEditor for QT backend

 * Added support for marking up the CodeEditor, including adding 
squiggles and dimming lines

 * Added SearchEditor

 * Improved unicode support

 * Changed behavior of RangeEditor text box to not auto-set

 * Added support in RangeEditor for specifying the method to evaluate 
new values.

 * Add DefaultOverride editor factory courtesy Stéfan van der Walt

 * Removed sys.exit() call from SaveHandler.exit()


TraitsBackendQt 3.2.0 (July 15, 2009)
=====================================

 * Fixed a plethora of layout bugs

 * Implemented RGBColor trait

 * Fixed events not fired for 'custom' TextEditor

 * Improved the method by which the QT backend dispatches trait handlers 
when dispatch='ui'. Before, the code only worked when on the main 
application thread or a QThread. Now it works for regular Python threads 
too.

 * Fixed events not being fired correctly in TableEditor

 * Added support or 'click' and 'dclick' factory attributes to the 
TableEditor

 * TableEditor instances now editable

 * Improved FileEditor to look and act like the WX editor

 * Fixed missing minimize/maximize buttons for resizable dialogs

 * New HTMLEditor using QtWebKit

 * New TabularEditor

 * Added support for panel buttons

 * New SearchEditor

 * Added support for clipboard

 * Now responds to SIGINT correctly rather than raising KeyboardInterrupt



TraitsBackendWX 3.2.0 (July 15, 2009)
=====================================

 * Fixed bug in DateEditor which would not display Feb correctly if the 
current date was visible and greater than the number of days in Feb

 * Reduced border_size from 1 to 4 for Group instances

 * Fixed layout issues:
   * Windows are now resized if they are larger than the desktop
   * Windows are now put in a valid location if they were opened off-screen
   * Windows with smaller parent are no longer opened at invalid 
positions with negative y values

 * Implemented editable_labels attribute in the TabularEditor for 
enabling editing of the labels (i.e. the first column) * Fix bug in 
ListEditor where a trait change listener would be fired when 
intermediate traits changed (when extended_name was of the type 
item1.item2.item3..) leading to a traceback. * Saving/restoring windows 
now works with multiple displays of different sizes

 * New ProgressDialog

 * Improved window colors to match desktop colors more closely

 * Replaced calls of wx.Yield() with wx.GetApp().Yield(True)

 * Changed default font to use system font

 * Fixed TabularEditor compatibility problem with wx 2.6 regarding the 
page-down key

 * Fixed bug in propagating click events in the TabularEditor to parent 
windows

 * DateEditor wx 2.6 compatability fixed

 * TableEditor scrollbar fixed

 * Improved support for opening links in external browser from HTMLEditor

 * Reduced the number of update events the PythonEditor fired

 * moved grid package from TraitsGui egg into enthought.pyface.ui.wx

 * moved clipboard from enthought.util.wx into pyface



TraitsGUI 3.1.0 (July 15, 2009)
===============================

 * Removed Theming support from DockWindows. Borders and tabs are now 
drawn using lines instead of stretching images. * Changed default font 
to use the system font

 * Moved enthought.util.wx.clipboard to Pyface

 * Moved the grid package out of pyface and into pyface.ui.wx, left 
deprecated warnings

 * Improved info shown to the user if toolkits don't work as expected




More information about the Python-announce-list mailing list