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 188.8.131.52
- 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)
* 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
* 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)
* 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
* 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
* Added basic gradients to Kiva
* 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
* 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 Stfan 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