Version 3.0

Version 3.0.6

Bug fixes:

  • widgets.console.interpreter: replaced threading.Thread.isAlive (deprecated since Python 3.8)

Other changes:

  • DataSet.edit, DataSet.view and DataSetGroup.edit: added missing arguments size and wordwrap

  • Documentation: added check-list before submitting a patch (see contribute.rst file)

  • Fixed some typing annotations and docstrings, as well as Pylint false positives

  • Removed unused functions from guidata.utils.encoding module:

    • transcode

    • getfilesystemencoding

  • Added missing docstrings and typing annotations in modules:

    • guidata.dataset.qtitemwidgets

    • guidata.dataset.qtwidgets

    • guidata.utils.encoding

    • guidata.utils.misc

Version 3.0.5

Bug fixes:

  • Issue #65 - QVariant import erroneously used in typing annotations

Other changes:

  • tests.test_callbacks: added an example of a callback function for dynamically changing the list of choices of a ChoiceItem object

Version 3.0.4

Bug fixes:

  • Issue #63 - [3.0.2] there is no more guidata-test script

  • Issue #62 - [3.0.2] sphinx doc hang when building on the Debian infra

Other changes:

  • Issue #64 - Add guidata-tests.desktop file to repository

Version 3.0.3

Fixed project description:

  • This could be seen as a detail, but as this description text is used by PyPI, it is important to have a correct description.

  • Of course, nobody reads the description text, so it was not noticed since the first release of guidata v3.0.

Version 3.0.2

Bug fixes:

Version 3.0.1

API changes (fixes inconsistencies in API):

  • Moved guidata.dataset.iniio.WriterMixin to guidata.dataset.io.WriterMixin

  • Moved guidata.dataset.iniio.BaseIOHandler to guidata.dataset.io.BaseIOHandler

  • Moved guidata.dataset.iniio to guidata.dataset.io.inifmt and renamed:

    • UserConfigIOHandler to INIHandler

    • UserConfigWriter to INIWriter

    • UserConfigReader to INIReader

  • Moved guidata.dataset.jsonio to guidata.dataset.io.jsonfmt

  • Moved guidata.dataset.hdf5io to guidata.dataset.io.h5fmt

Bug fixes:

  • Issue #57 - [Errno 2] No such file or directory: ‘doc/dev/v2_to_v3.csv’

  • Issue #58 - Test suite: missing dependencies (pandas, Pillow)

  • Modules guidata.dataset.datatypes and guidata.dataset.dataitems should not critically depend on Qt (only modules specific to GUI should depend on Qt, such as guidata.dataset.qtwidgets). This was a regression introduced in version 3.0.0. A new unit test was added to prevent this kind of regression in the future.

  • Fixed documentation generation .readthedocs.yaml file (Qt 5.15 was not installed on ReadTheDocs servers, causing documentation build to fail)

Other changes:

  • Pull Request #55 - DateItem and DateTimeItem: added ‘format’ parameter for formatting, by @robochat

  • Packaging: still using setuptools, switched from setup.cfg to pyproject.toml for configuration (see PEP 517)

Version 3.0.0

New major release:

  • New BSD 3-Clause License

  • Black code formatting on all Python files

  • New automated test suite:

    • Added module guidata.env to handle execution environment

    • Added support for an “unattended” execution mode (Qt loop is bypassed)

    • Added support for pytest fixtures

    • Added support for coverage testing: 70% coverage to date

  • Documentation was entirely rewritten using Sphinx

  • Reorganized modules:

    • Moved guidata.hd5io to guidata.dataset.hdf5io

    • Moved guidata.jsonio to guidata.dataset.jsonio

    • Renamed guidata.userconfigio to guidata.dataset.iniio

    • New package guidata.utils for utility functions:

      • Removed deprecated or unused functions in old guidata.utils module

      • Moved old guidata.utils module to guidata.utils.misc, except the functions update_dataset and restore_dataset which are still in guidata.utils (root module)

      • Moved guidata.encoding to guidata.utils.encoding

      • Moved guidata.gettext_helpers to guidata.utils.gettext_helpers

    • Splitted guidata.qtwidgets in two modules:

      • guidata.widgets.dockable for dockable widgets

      • guidata.widgets.rotatedlabel for rotated label

  • Other changes:

    • guidata.guitest:

      • Added support for subpackages

      • New comment directive (# guitest: show) to add test module to test suite or to show test module in test launcher (this replaces the old SHOW = True line)

    • guidata.dataset.datatypes.DataSet: new create class method for concise dataset creation, allowing to create a dataset with a single line of code by passing default item values as keyword arguments