Apptools

Latest version: v5.3.0

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

Scan your dependencies

Page 1 of 2

5.3.0

~~~~~~~~~~~~~

Released: 2024-07-05

This is a minor release, focusing primarily on bringing apptools up to date
with respect to more recent versions of Python and 3rd party packages.
Support for Python 3.7 has been dropped.

Thanks to the following contributors:

* Mark Dickinson
* Stewart Ferguson
* Frank Longford
* Tony Ni
* Sai Rahul Poruri

Fixes
-----
* Drop support for Python 3.7. (339)
* Replaced uses of ``numpy.alltrue``, for compatibility with NumPy 2.0. (341)
* Don't write to preferences on ``PreferencesHelper`` creation. (343)
* Fix a test that was broken in the presence of Mayavi / TVTK. (352)

Documentation
-------------
* Moved Sphinx-generated man page to section 3. (89)

Build System
------------
* TraitsUI, Pyface and configobj are now optional dependencies. TraitsUI
and Pyface will be installed with ``pip install apptools[gui]``. configobj
will be installed with ``pip install apptools[preferences]``. (351)

5.2.1

~~~~~~~~~~~~~

Released: 2023-06-23

This is a bugfix release fixing a Python 3.11 compatibility issue in
StatePickler.

Thanks to the following contributors:

* Mark Dickinson
* Tony Ni
* Rahul Poruri

Fixes
-----
* Fix StatePickler for Python 3.11. (328)
* Add encoding as an attribute for LogFileHandler initialization. (324)

Build
-----
* Drop Python 3.6 and macOS from EDM test matrix. (330, 332)
* Update Github workflows. (326)

5.2.0

~~~~~~~~~~~~~

Released: 2022-08-16

This is a minor release, focusing primarily on Python 3.8 support and updating
of development workflows.

Thanks to the following contributors:

* Aaron Ayres
* Mark Dickinson
* Jonas Heinrich
* Robert T. McGibbon
* Sai Rahul Poruri
* Corran Webster

Features
--------
* Replace some uses of ``on_trait_change`` and ``depends_on`` with ``observe``.
(285, 289)
* Use ``importlib.resources`` in preference to ``importlib_resources``
on new enough Python versions. (284)

Fixes
-----
* Replace ``eval`` with ``ast.literal_eval`` in ``apptools.preferences``.
(299)
* Use context managers to handle locks in ``apptools.preferences``. (306)
* Fix test failures due to ``collections.abc`` changes in Python 3.10. (313)
* Remove a redundant ``elif`` branch in ``preference_binding``. (298)

Documentation
-------------
* Copyrights have been updated for 2022. (307)
* A Read the Docs configuration file has been added. (296)
* A use of the deprecated ``contributes_to`` decorator in the documentation
has been fixed. (286)

Build
-----
* The default branch has been renamed from ``master`` to ``main``. (297)
* ``etstool.py`` now supports Python 3.8 as well as Python 3.6, and test
workflows will run on both Python 3.6 and Python 3.8. (316)
* Continuous integration now uses GitHub Actions instead of Travis CI
and Appveyor. (288, 291, 292)
* Added a GitHub Actions test workflow that tests against PyPI packages instead
of EDM packages. (314)
* Added a GitHub Actions workflow to automatically publish releases to PyPI.
(315)
* Cron job failures are now reported to the main ETS Slack channel, not the
bots channel. (295, 308)
* The cron job can now also be triggered manually. (294)

5.1.0

~~~~~~~~~~~~~

Released : 2021-01-13

This is a minor release in which the modules in the apptools.undo subpackage are
modified to import from pyface.undo rather than redefining the classes. This
should help ease the transition to using pyface.undo in place of the now
deprecated apptool.undo.

Deprecations
------------
* Import from pyface.undo.* instead of redefining classes in apptools.undo.* (272)

Documentation changes
---------------------
* Add module docstrings to the various api modules in apptools subpackages (274)

5.0.0

~~~~~~~~~~~~~

Released : 2020-12-17

This is a major release mainly relating to code modernization. In this release,
support for Python versions < 3.6 have been dropped. Numerous dated
sub-packages and code fragments have been removed. Additionally, there were
various fixes and documentation updates.

Fixes
-----
* Fix SyntaxWarning in persistence.file_path (116)
* Fix container items change event being saved in preferences (196)
* Fix synchronizing preference trait with name *_items (226)

Deprecations
------------
* Deprecate apptools.undo subpackage (undo was moved to pyface) (250)

Removals
--------
* Remove ``appscripting`` subpackage (172)
* Remove ``template`` subpackage (173)
* Remove ``permission`` subpackage (175)
* Remove ``lru_cache`` subpackage (184)
* Remove support for Python 2.7 and 3.5 (190)
* Remove the ``apptools.sweet_pickle`` subpackage. Note that users of
sweet_pickle can in some cases transition to using ``apptools.persistence``
and pickle from the python standard library (see changes made in this PR to
``apptools.naming`` for more info) (199)
* Remove ``help`` subpackage (215)
* Remove NullHandler from ``apptools.logger`` (216)
* Remove ``apptools.logger.filtering_handler`` and ``apptools.logger.util`` submodules (217)
* Remove deprecated create_log_file_handler function (218)
* Remove use of ``apptools.type_manager`` from ``apptools.naming``. Then,
remove ``apptools.type_manager`` entirely. Finally, remove
``apptools.naming.adapter``. (219)
* Remove ``apptools.persistence.spickle`` submodule (220)
* Remove ``apptools.naming.ui`` sub package (233)

Documentation changes
---------------------
* Update documentation for Preferences (198)
* Add a brief section to documentation for ``apptools.naming`` (221)
* Document the ``apptools.io`` and ``apptools.io.h5`` sub packages (237)
* Fix a few broken links in the documentation (248)

Test suite
----------
* Fix AttributeError on Python 3.9 due to usage of ``base64.decodestring`` in tests (210)
* Make optional dependencies optional for tests (260)

Build System
------------
* Add extras_require to setup.py for optional dependencies (257)

4.5.0

~~~~~~~~~~~~~

Released : 10 October 2019

* Add missing `long_description_content_type` field in setup. (108)
* Remove use of `2to3`. (90)
* Use etstool for CI tasks. Setup travis macos and appveyor CI. (92)
* Temporarily change cwd when running tests. (104)
* Update broken imports. (95)
* Add `six` to requirements. (101)
* Remove one more use of the deprecated `set` method. (103)
* Use `trait_set` instead of the now deprecated `set` method. (82)
* Address one more numpy deprecation warning. (100)
* Address numpy deprecation warnings. (83)
* Test the package on Python 3.5, 3.6 on CI. (78)
* Fix mismatched pyface and traitsui requirements. (73)
* Drop support for Python 2.6. (63)
* Fix `state_pickler.dump` on Python 2. (61)
* Fix a few spelling mistakes in documentation. (87)

Page 1 of 2

© 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.