.. _roadmap:

Roadmap
=======

The following development releases (i.e. prior to the release of v1.0) are
planned:

v0.5 :mod:`dip.model` Review
    - investigate the ability to bind to other models (e.g. SQLAlchemy)
    - eliminate any dependencies on PyQt.

v0.6 :mod:`dip.plugins` Review
    - support for discovering plugins via the :mod:`dip.io` module and allowing
      the user to enable or disable discovered plugins.

v0.7 :mod:`dip.io` Review
    - implement import and export functions
    - validate the structured storage APIs
    - eliminate any dependencies on PyQt.

v0.8 :mod:`dip.automate` Review
    - eliminate any dependencies on PyQt
    - resolve outstanding issues, particularly on OS/X.

v0.9 ``dip-builder`` Review
    - add support for at least one non-distutils packaging solution.

v0.10 Final Architecture Review
    - resolve all outstanding issues.  This will be a release candidate for
      v1.0.

In addition, the following enhancements and additional features are planned for
some future version of dip:

- adding support to ``dip-builder`` for additional Python packaging tools (e.g.
  PyInstaller) so that a single executable file for an application can be
  created with a few mouse clicks

- full session management support including the saving and restoring of GUI
  geometry and other internal state

- a user preferences system that can be extended by plugins with specific 
  preferences

- a user documentation system that can be extended by plugins with specific
  documentation

- adding support for additional toolkits (e.g. PyKDE).

The above is not a complete list and does not reflect any planned order of
implementation.

Suggestions for additional features are always welcome.
