pyface icon indicating copy to clipboard operation
pyface copied to clipboard

pyface: traits-capable windowing framework

========================================== Pyface: Traits-capable Windowing Framework

The Pyface project contains a toolkit-independent GUI abstraction layer, which is used to support the "visualization" features of the Traits package. Thus, you can write code in terms of the Traits API (views, items, editors, etc.), and let Pyface and your selected toolkit and back-end take care of the details of displaying them.

The following GUI backends are supported:

  • PySide2 (stable) and PySide6 (experimental)
  • PyQt5 (stable) and PyQt6 (in development)
  • wxPython 4 (experimental)

Installation

GUI backends are marked as optional dependencies of Pyface. Some features or infrastructures may also require additional dependencies.

To install with PySide2 dependencies::

$ pip install pyface[pyside2]

To install with PySide6 dependencies (experimental)::

$ pip install pyface[pyside6]

To install with PyQt5 dependencies::

$ pip install pyface[pyqt5]

To install with wxPython4 dependencies (experimental)::

$ pip install pyface[wx]

pillow is an optional dependency for the PILImage class::

$ pip install pyface[pillow]

To install with additional test dependencies::

$ pip install pyface[test]

Documentation

  • Online Documentation <http://docs.enthought.com/pyface/>_.

  • API Documentation <http://docs.enthought.com/pyface/api/pyface.html>_.

Prerequisites

Pyface depends on:

  • Traits <https://github.com/enthought/traits>_

  • a GUI toolkit as described above

  • Pygments for syntax highlighting in the Qt code editor widget.

  • some widgets may have additional optional dependencies such as NumPy or Pillow.

.. end_of_long_description

Developing Pyface

The etstool.py script provides utilities to assist developers wanting to work on Pyface. To use it, you will need to have the source checked out via Git, Enthought's EDM <http://docs.enthought.com/edm/>__ distribution manager, and a minimal environment containing at least the Click <http://click.pocoo.org/>__ library.

You can then follow the instructions in etstool.py. In particular:

  • use etstool.py install to create environments for particular toolkits and runtimes
  • use etstool.py shell to activate those environments
  • use etstool.py test to run the tests in those environments
  • use etstool.py flake8 to perform style checks
  • use etstool.py docs to build the documentation
  • use etstool.py test-all to run the tests across all supported runtimes and toolkits

License

Pyface source code is licensed with a BSD-style license. Some default images are licensed with other licenses. See the license files for further information.