Source Code: http://www.github.com/enthought/apptools
The apptools project includes a set of packages that Enthought has found
useful in creating a number of applications. They implement functionality
that is commonly needed by many applications
- apptools.appscripting: Framework for scripting applications.
- apptools.help: Provides a plugin for displaying documents and examples
and running demos in Envisage Workbench applications.
- apptools.io: Provides an abstraction for files and folders in a file
- apptools.logger: Convenience functions for creating logging handlers
- apptools.naming: Manages naming contexts, supporting non-string data
types and scoped preferences
- apptools.permissions: Supports limiting access to parts of an
application unless the user is appropriately authorised (not full-blown
- apptools.persistence: Supports pickling the state of a Python object
to a dictionary, which can then be flexibly applied in restoring the state of
- apptools.preferences: Manages application preferences.
- apptools.selection: Manages the communication between providers and
listener of selected items in an application.
- apptools.scripting: A framework for automatic recording of Python
- apptools.sweet_pickle: Handles class-level versioning, to support
loading of saved data that exist over several generations of internal class
- apptools.template: Supports creating templatizable object hierarchies.
- apptools.type_manager: Manages type extensions, including factories
to generate adapters, and hooks for methods and functions.
- apptools.undo: Supports undoing and scripting application commands.
All packages in apptools require:
The apptools.preferences package requires:
Many of the packages provide optional user interfaces using Pyface and
Traitsui. In additon, many of the packages are designed to work with the
Envisage plug-in system, althought most can be used independently:
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.