Authors: The ETS Developers
We’re happy to announce the release of multiple major projects, including:
- Traits 4.4.0
- Chaco 4.4.1
- TraitsUI 4.4.0
- Envisage 4.4.0
- Pyface 4.4.0
- Codetools 4.2.0
- ETS 4.4.1
These packages form the core of the Enthought Tool Suite (ETS, http://code.enthought.com/projects), a collection of free, open-source components developed by Enthought and our partners to construct custom scientific applications. ETS includes a wide variety of components, including:
an extensible application framework (Envisage)
application building blocks (Traits, TraitsUI, Enaml, Pyface, Codetools)
2-D and 3-D graphics libraries (Chaco, Mayavi, Enable)
scientific and math libraries (Scimath)
developer tools (Apptools)
You can install any of the packages using Canopy‘s package manager, using the Canopy or EPD ‘enpkg \’ command, from PyPI (using pip or easy_install), or by building them from source code on github. For more details, see the ETS intallation page.
This set of releases was an 8-month effort of Enthought developers along with:
- Yves Delley
- Pieter Aarnoutse
- Jordan Ilott
- Matthieu Dartiailh
- Ian Delaney
- Gregor Thalhammer
Many thanks to them!
General release notes
The major new feature in this Traits release is a new adaptation mechanism in the “traits.adaptation“ package. The new mechanism is intended to replace the older traits.protocols package. Code written against “traits.protocols“ will continue to work, although the “traits.protocols“ API has been deprecated, and a warning will be logged on first use of “traits.protocols“. See the ‘Advanced Topics’ section of the user manual for more details.
These new releases of TraitsUI, Envisage, Pyface and Codetools include an update to this new adaptation mechanism.
All ETS projects are now on TravisCI, making it easier to contribute to them.
As of this release, the only Python versions that are actively supported are 2.6 and 2.7. As we are moving to future-proof ETS over the coming months, more code that supported Python 2.5 will be removed.
We will retire firstname.lastname@example.org since it is lightly used and are now recommending all users of Chaco to send questions, requests and comments to email@example.com or to StackOverflow (tag “enthought” and possibly “chaco”).
More details about the release of each project are given below. Please see the CHANGES.txt file inside each project for full details of the changes.
The ETS developers
Traits 4.4.0 release notes
The Traits library enhances Python by adding optional type-checking and an event notification system, making it an ideal platform for writing data-driven applications. It forms the foundation of the Enthought Tool Suite.
In addition to the above-mentioned rework of the adaptation mechanism, the release also includes improved support for using Cython with `HasTraits` classes, some new helper utilities for writing unit tests for Traits events, and a variety of bug fixes, stability enhancements, and internal code improvements.
Chaco 4.4.0 release notes
Chaco is a Python package for building efficient, interactive and custom 2-D plots and visualizations. While Chaco generates attractive static plots, it works particularly well for interactive data visualization and exploration.
This release introduces many improvements and bug fixes, including fixes to the generation of image files from plots, improvements to the ArrayPlotData to change multiple arrays at a time, and improvements to multiple elements of the plots such as tick labels and text overlays.
TraitsUI 4.4.0 release notes
The TraitsUI project contains a toolkit-independent GUI abstraction layer, which is used to support the “visualization” features of the Traits package. TraitsUI allows developers to write against the TraitsUI API (views, items, editors, etc.), and let TraitsUI and the selected toolkit and back-end take care of the details of displaying them.
In addition to the above-mentioned update to the new Traits 4.4.0 adaptation mechanism, there have also been a number of improvements to drag and drop support for the Qt backend and some modernization of the use of WxPython to support Wx 2.9. This release also includes a number of bug-fixes and minor functionality enhancements.
Envisage 4.4.0 release notes
Envisage is a Python-based framework for building extensible applications, providing a standard mechanism for features to be added to an
application, whether by the original developer or by someone else.
In addition to the above-mentioned update to the new Traits 4.4.0 adaptation mechanism, this release also adds a new method to retrieve a service that is required by the application and provides documentation and test updates.
Pyface 4.4.0 release notes
The pyface project provides a toolkit-independent library of Traits-aware widgets and GUI components, which are used to support the “visualization” features of Traits.
The biggest change in this release is support for the new adaptation mechanism in Traits 4.4.0. This release also includes Tasks support for Enaml 0.8 and a number of other minor changes, improvements and bug-fixes.
Codetools release notes
The codetools project includes packages that simplify meta-programming and help the programmer separate data from code in Python. This library provides classes for performing dependency-analysis on blocks of Python code, and Traits-enhanced execution contexts that can be used as execution namespaces.
In addition to the above-mentioned update to the new Traits 4.4.0 adaptation mechanism, this release also includes a number of modernizations of the code base, including the consistent use of absolute imports, and a new execution manager for deferring events from Contexts.