Pyface

Latest version: v8.0.0

Safety actively analyzes 688803 Python packages for vulnerabilities to keep your Python projects secure.

Scan your dependencies

Page 3 of 4

6.1.1

=============

This is a bugfix release which fixes a number of minor issues with the 6.1.0 release.

Thanks to:

David Baddeley, Christian Brodbeck, Mark Dickinson, Rahul Poruri, Corran Webster.

Change summary
--------------

Fixes

* Remove use of deprecated Traits get() method (403)
* Fix pyqt5 webkit imports (396)
* Remove use of cmp in fix_introspection_bug (395)
* Update CI infrastructure (394, 399)
* Update unittest imports (391)
* Fix bug in argspec usage (393)
* Fix regression in DoLaterTimer API (389)

6.1.0

=============

This release introduces a number of new features and bugfixes. The most
prominent of these is a set of Application classes designed to smooth the
transition between Tasks applications which use only Pyface, and those that
take advantage of the Envisage plug-in framework. Developers can now write
a Pyface TasksApplication and then easily transition to an Envisage
TasksApplication as the needs of their codebase grows. This feature has been
a few years in development, and thanks is due to Jonathan Rocher for helping
push this through to completion.

This release also includes a complete re-write of the Pyface timer code to
make it easier to use and to provide a consistent and more Pythonic API
shared by the different back-ends. A backwards compatible API is still
available, but users of the Pyface timer code are encouraged to update to
the new API.

ToolBars can now embed simple widgets, such as text fields, integer spinners,
and comboboxes, as well as simple TraitsUI views. This is provided via a
new "widget" style for Actions as well as the utility subclasses FieldAction
and TraitsUIWidgetAction.

Although not visible to most users of Pyface, this release removes the use
of 2to3 and now uses a unified codebase supported by the six library. Thanks
to Rahul Poruri for performing this transformation. This should help
significantly with ongoing development work in the coming years.

We also include experimental support for PySide2 (also called "Qt for Python").
We are running CI tests using the 5.11 release of PySide2 with success on OS X
and Linux for Python 3, but are experiencing failures with the 5.12 release.

Finally, this release includes a number of bugfixes and minor enhancements
which should improve the reliability and utility of the codebase.

Thanks to:

Martin Bergtholdt, Mark Dickinson, Robert Kern, Eric Larson, Gregory Lee,
Eric McDonald, Rahul Poruri, Jonathan Rocher, Hamdi Sahloul, Roger Serwy,
Brian Teague, Corran Webster, John Wiggins.

Apologies to any contributors that have been omitted.

Change summary
--------------

Enhancements

* Application classes (334, 355, 345)
* New API for Timers (340, 365)
* Support simple widgets in toolbars (359, 360, 368)
* Experimental support of Pyside2 (318, 335, 358)
* Support single codebase for Python 2 and 3 (322, 351, 369, 370)
* Support ui dispatch for Traits even if TraitsUI not available (363)

Fixes

* Fix context menu behaviour (356)
* Remove TraitsUI dependency in GuiTestAssistant (366)
* Fixes for ProgressDialog (357)
* Fixes for toolbar and statusbar life cycles (332)
* Fixes for CI (342)
* Fix usages of event_loop() in tests (336)
* Fix SplitEditorAreaPane tab dragging on Qt5 (327)
* Fix resource warnings in test suite from un-closed files (326)
* Remove uses of deprecated HasTraits.set() method (320)
* Add Qt5 support for deprecated Qt Style options that Mayavi needs (323)
* Various fixes around Qt API selection (319, 344, 347, 371, 376, 381)
* Fixes for setup.py (380)

6.0.0

=============

This release introduces preliminary support for Qt5 via PyQt5, thanks to the
work of Gregor Thalhammer which got the ball rolling. Qt5 support is
not yet robustly tested in deployed applications, so there may yet be bugs to
find. As part of this effort all occurences of old-style signals and slots
have been removed; and this has greatly improved stability under Qt.

In addition, thanks to the dedicated work of Rob McMullen, we now have Tasks
support for wxPython.

This release also features a great deal of work at the API level to disentangle
the two-way dependencies between Pyface and TraitsUI. This has involved moving
a number of sub-packages between the two libraries, most notably the zipped
image resource support and a number of trait definitions. We have endeavored
to keep backwards compatibility via stub modules in the original locations,
but we can't guarantee that there will be no issues with third party code
caused by the change in locations. We haven't been able to remove all
dependencies, but as of this release on the dock and workbench submodules have
required dependencies on TraitsUI.

Another long-desired feature was the ability to write toolkit backends for
Pyface and TraitsUI that are not part of the main codebase. This is now
possible by contributing new toolkit backends to the "pyface.toolkit"
pkg_resources entry point in a setup.py. This work was accompanied by an
overhaul of the toolkit discovery and loading infrastructure; in particular
Pyface and TraitsUI now share the same code for performing these searches
and loading the backends.

Finally, the testing infrastructure has been overhauled to provide a one-stop
location to run tests in self-contained environments using Enthought's EDM
package management tool. Tests can be run from any python environment with the
"edm" command available and the "click" library installed with the "etstool.py"
script at the top level of the repository. In particular::

python etstool.py test_all

will run all relevant tests for all available toolkits in all supported
python versions. The TravisCI and Appveyor continuous integration tools have
been updated to make use of these facilities as well.

Thanks to Florian Bender, Kit Choi, Mark Dickinson, Simon Jagoe, Robert Kern,
Rob McMullen, nprksh, Prabhu Ramachandran, Gregor Thalhammer, Senganal
Thirunavukkarasu, Ioannis Tziakos, Joris Vankerscharver, and Corran Webster.
Apologies to any contributors that have been omitted.

Change summary
--------------

Enhancements

* Tasks support for wxPython (223, 247)
* Qt5 Support (170, 256, 264, 265, 268, 271, 279, 292)
* Disentangling Pyface and TraitsUI (221, 250)
* EDM-based test runner (243, 296, 298)
* Improved toolkit selection (259, 260, 276, 304, 305)
* Move wxPython-specific code to pyface.wx (261)
* Single choice dialog for Qt toolkit (was already in wx toolkit) (217)
* Add 'detail' and 'informative' to window dialog helpers (181)
* Code coverage reporting (214)
* All Pyface widgets now have visible and enabled traits (284)
* Allow "qt" as a synonym for "qt4" (304)
* PythonShell widget history exposed via the API (314)
* Experimental PySide2 support (303)

Fixes

* Documentation fixes (220, 231)
* Testing and CI fixes (224, 226, 239, 248, 252, 253, 257, 267, 270,
277, 278, 281, 283)
* Fix bug updating Tasks window titles (225)
* Python 3 compatibility fixes (228)
* Remove use of cmp in the AdvancedEditorAreaPane (237)
* AutoPEP8 of Pyface codebase (241)
* Minor WxPython fixes (230, 269, 275, 294)
* Don't use sendPostedEvents in Qt GUI.do_trait_later (273)
* Fix ordering of items when appending to an ActionManager default group (290)
* Explicit life-cycle for Qt event filters on Widgets (300)
* Fixes to ensure demos and examples work (308)

5.1.0

=============

5.0.0

=============

This release introduces preliminary support for Python 3 with the Qt toolkit!

This is based in large part on the work of Yves Delley and Pradyun Gedam, but
also owes a lot to Ioannis Tziakos for implementing container-based continuous
integration and Prabhu Ramachandran and Corran Webster for tracking down the
few remaining bugs. Python 3 support is probably not yet ready for production
use, but feedback and bug reports are welcome, and all future pull requests
will be expected to work with Python 3.4 and later. Python 3 support requires
Traits 4.5 or greater, and TraitsUI 5.0 or greater.

This release also bring support for wxPython 3.0, while dropping support for
wxPython 2.6 and earlier. There are also a couple of minor bug fixes detailed
below.

Finally, this release changes the default GUI toolkit from Wx to Qt. This
changes the behaviour of the library in the case where both WxPython and
PyQt/PySide are installed and the user or code doesn't specify the toolkit to
use explicitly.

4.5.2

=============

This release includes a large number of additions to the test suite that
provide at least basic smoke-test coverage of the core of the library. There
has also been work done to improve the continuous integration testing of
the library. Much more work needs to be done on this front, but the situation
is improving.

The process of adding these tests also discovered a number of minor bugs
which have been fixed.

Finally, this release warns that as of Pyface 5.0 the default GUI toolkit
will switch from Wx to Qt. This future update will change the behaviour of
the library in the case where both WxPython and PyQt/PySide are installed and
the user or code doesn't specify the toolkit to use explicitly.

Page 3 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.