Enable

Latest version: v6.0.0

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

Scan your dependencies

Page 1 of 4

6.0.0

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

This is a major version update to add support for Python 3.11, PySide 6.4+, and
TraitsUI 8. As part of this update, a number of backwards-incompatible changes
were made. Perhaps the most significant of these was the removal of the
partially implemented and buggy OpenGL Kiva backend, but it also included
removing support for legacy Numeric APIs, changing modules with "qt4" in their
name to use "qt" instead, some changes to make the various Kiva APIs more
consistent, and some changes to the mapping of font families to bring them in
line with documentation and other libraries.

Building Enable, with its complex dependencies has sometimes been challenging
for users, so this release includes Github actions that use cibuildwheel to
automatically build binary wheels across a wide variety of Python versions,
operating systems and architectures and upload them to PyPI. This should make
pip-based installs of Enable significantly easier.

Finally, as is usual for a release, there are a number of smaller bugfixes and
minor improvements, such as bringing the PyCairo and Quartz backends back into
a working state.

Thanks to:

* Mark Dickinson
* Chengyu Liu
* Didrik Pinte
* Corran Webster
* John Wiggins

Enhancements
------------

* Move `kiva.image` to `kiva.oldagg` and make `kiva.image` a stub (1054)
* Map `MODERN` fonts to monospace and `TELETYPE` to typewriter (977)
* Normalize setting of colors across backends (1052)
* Support for PySide 6.4+ (1045, 1053)
* Remove support for old Numeric APIs (1011)
* Python 3.11 support (1042)
* Remove OpenGL backend (1029)
* Code modernization (933, 1015)

Fixes
-----

* Fix `draw_path_at_points` for the Quartz Kiva backend (1051)
* Do explicit type conversions for PyQt5 on Python 3.10+ (1041)
* Handle namespace changes for Pyface 8 and TraitsUI 8 (1025, 1028, 1033, 1043)
* Better feedback for constraints examples if kiwisolver unavailable (1019)

Testing and CI
--------------

* Automated wheel building (1039)
* Maintenance of CI and tests (1007, 1035, 1044)

5.3.1

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

This is a bugfix release that aims to improve compatibility and completeness
of the various Kiva backends. In particular, there are improvements for font
selection and rendering, and some fixes for path and curve rendering
(particularly for arcs). There are still some discrepancies in how things are
drawn, but it is more likely that something reasonable will be produced on all
backends.

This also includes some fixes provided by Brecht Machiels to return the
wxPython backend to a working condition.

On the build and CI front, we have added SWIG to the pyproject.toml, and no
longer ship any Cython-generated C++ files. With these changes it should be
possible to pip install Enable in an environment with the appropriate C/C++
compilers.

Thanks to:

* Mark Dickinson
* Brecht Machiels
* Rahul Poruri
* Corran Webster
* John Wiggins

Fixes
-----

* Fix the SCRIPT font family (975)
* Improve font rendering (973, 978, 980, 990)
* Fix curve and path rendering (970, 987, 988)
* Correct Quartz backend string encoding (966)
* Restore the WxPython backends to working order (950)

Documentation
-------------

* Sphinx copy button support in documentation (948)

Build and Continuous Integration
--------------------------------

* add a github workflow for publishing releases to PyPI (967)
* don't ship Cython-generated C++ files (958)
* add SWIG to pyproject.toml dependencies (954)

5.3.0

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

This release focused on support for PySide6, modernization of Traits code,
and improving font handling.

Thanks to:

* Aaron Ayres
* Mark Dickinson
* Frank Fishburn
* Rahul Poruri
* Joris Vankerschaver
* Corran Webster
* John Wiggins

Enhancements
------------

* A new font trait, including support for Pyface Font objects, including
support for more font weights (929)
* A new cross-toolkit Font editor that uses Enable internally (928)
* Unification of the various color traits (917, 924)
* Support for PySide6 (897, 900)

Fixes
-----

* Fix incorrect fallback font path (931)
* Ensure toolkits are initialized before they are used (921)
* Fix incorrect trait definitions for mouse pointer traits (911)
* Validate line dash arguments (910)
* Fixes for font file parsing and discovery (906, 918, 919)
* Support pyparsing >= 3 for SVG parsing (888)

Documentation
-------------

* Improvements to Kiva documentation (914)

Maintenance
-----------

* Modernization of trait definitions (925)

Build and Continuous Integration
--------------------------------

* CI is now run on Python 3.8 and PySide 6 (927)
* Replace use of Hypothesis by unittest subTest (912)
* Use Ubuntu 18.04 for CI (889)
* Some tests were not being run in CI (929, 937)

5.2.1

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

Fixes
-----

* Fix FontManager bug when no fonts are available (871)
* Fix the dpi rounding issues with newer versions of pillow (875)

5.2.0

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

Thanks to:

* Aaron Ayres
* Rahul Poruri
* John Wiggins

Enhancements
------------

* Provide better support for mixed writing systems (763, 764 767, 768)

Fixes
-----

* Fix listeners hooked up using observe but unhooked using on_trait_change (766)
* Handle preferred size computation when container isnt resizable (778)
* Fix alignment trait on "HStackedContainer" (780)
* Update custom marker as scale_ctm expects floats (782)

Documentation
-------------

* Convert to : to improve docstrings in markers (784)
* Document EnableTestAssistant (800)

Maintenance
-----------

* Remove "use_draw_order" code path (777)
* Add useful objects to "enable.api" (779, 788)
* Remove Python 2 or 3 only conditionals (785, 810)
* Remove dead code (786)
* Remove deprecated "str_to_font" and "points_in_polygon" functions. (787)
* Update super usage (789, 790)
* Remove deprecated intercept_events trait on Container (801)
* Use non deprecated font families styles etc (806)
* Replace use of deprecated GetItemPyData with its new replacement GetItemData (807)
* Remove unused tk related drawing methods (809)
* Remove old deprecated drawing methods (814)
* Remove AbstractWindow.bg_color trait (816)
* Remove unused enable/trait_defs/ui/wx/enable_rgba_color_editor.py module (817)
* Deal with __getstate__ methods (804, 841)

Build and Continuous Integration
--------------------------------

* Skip markers tests if not using agg (799)
* Add pyproject.toml to specify cython and numpy as build deps (808, 836, 847)
* Verify swig version in setup.py (811)

5.1.1

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

Thanks to:

* Kit Yan Choi

Fixes
-----

* Fix artefact in Qt caused by a wrong QRectF size. (820)

Page 1 of 4

© 2024 Safety CLI Cybersecurity Inc. All Rights Reserved.