Skip to content

Releases: PlotPyStack/guidata

v3.2.0 - New release

14 Nov 15:50

Choose a tag to compare

Version 3.2.0

🛠️ Bug fixes:

  • Issue #67 - JSONReader/Deserializing object list: TypeError: 'NoneType' object is not subscriptable

💥 Changes:

  • qthelpers.qt_wait: added show_message and parent arguments (backward compatible)
  • qthelpers.qt_app_context: removed faulthandler support (this need to be handled at the application level, see for example DataLab's implementation)
  • Disabled command line argument parsing in guidata.env module:
    • The guidata library is parsing command line arguments for the purpose of creating the environment execution object named execenv (see guidata.env module). This object is used to determine the execution environment mainly for testing purposes: for example, to bypass the Qt event loop when running tests thanks to the --unattended command line option.
    • However this argument parsing is not always desirable, for example when using guidata as a dependency in another library or application. This is why the parsing mechanism is now disabled by default, and may be enabled by setting the environment variable GUIDATA_PARSE_ARGS to 1 (or any other non-empty value). As of today, it is still unclear if there will be a need to enable this mechanism in the future, so this is why the environment variable is used instead of a function argument.
  • Removed deprecated guidata.disthelpers module (we recommend using PyInstaller instead)

v3.1.1 - Maintenance release

25 Oct 16:05

Choose a tag to compare

Version 3.1.1

🛠️ Bug fixes:

  • 'Apply' button state is now correctly updated when modifying one of the following items:
    • dataset.MultipleChoiceItem
    • dataset.dataitems.DictItem
    • dataset.dataitems.FloatArrayItem
  • Fixed minor deprecation and other issues related to locale

💥 Changes:

  • Removed --unattended command line option for pytest:
    • Before: pytest --unattended guidata (to run tests without Qt event loop)
    • Now: pytest guidata (there is no use case for running tests with Qt event loop,
      so the --unattended option was removed and the unattended mode is now the default)
  • Removed CHM documentation (obsolete format)

Version 3.1.0

⚠ Exceptionally, this release contains the following API breaking changes:

  • Moved utils.update_dataset to dataset.conv.update_dataset
  • Moved utils.restore_dataset to dataset.conv.restore_dataset

✔ API simplification (backward compatible):

  • Dataset items may now be imported from guidata.dataset instead of guidata.dataset.dataitems
  • Dataset types may now be imported from guidata.dataset instead of guidata.dataset.datatypes
  • Examples:
    • from guidata.dataset.dataitems import FloatItem becomes from guidata.dataset import FloatItem

    • from guidata.dataset.datatypes import DataSet becomes from guidata.dataset import DataSet

    • Or you may now write:

      import guidata.dataset as gds
      
      class MyParameters(gds.DataSet):
          """My parameters"""
          freq = gds.FloatItem("Frequency", default=1.0, min=0.0, nonzero=True)
          amp = gds.FloatItem("Amplitude", default=1.0, min=0.0)

💥 New features:

  • New dataset.create_dataset_from_dict: create a dataset from a dictionary,
    using keys and values to create the dataset items
  • New dataset.create_dataset_from_func: create a dataset from a function signature,
    using type annotations and default values to create the dataset items
  • dataset.dataitems.StringItem:
    • Added argument password to hide text (useful for passwords)
    • Added argument regexp to validate text using a regular expression
  • dataset.dataitems.FileSaveItem, dataset.dataitems.FileOpenItem,
    dataset.dataitems.FilesOpenItem and dataset.dataitems.DirectoryItem:
    added argument regexp to validate file/dir name using a regular expression
  • dataset.dataitems.DictItem: added support for HDF5 and JSON serialization
  • dataset.io.h5fmt and dataset.io.jsonfmt: added support for lists and dictionnaries serialization

♻ New PlotPyStack internal features:

  • widgets.about: handle about dialog box informations (Python, Qt, Qt bindings, ...)
  • Renamed development environment variable GUIDATA_PYTHONEXE to PPSTACK_PYTHONEXE

🧹 Bug fixes:

  • Fixed Qt6 compatibility issue with QFontDatabase

Version 3.0

See full changelog here.

v3.1.0

13 Oct 15:43

Choose a tag to compare

guidata Releases

Version 3.1.0

⚠ Exceptionnally, this release contains the following API breaking changes:

  • Moved utils.update_dataset to dataset.conv.update_dataset
  • Moved utils.restore_dataset to dataset.conv.restore_dataset

✔ API simplification (backward compatible):

  • Dataset items may now be imported from guidata.dataset instead of guidata.dataset.dataitems
  • Dataset types may now be imported from guidata.dataset instead of guidata.dataset.datatypes
  • Examples:
    • from guidata.dataset.dataitems import FloatItem becomes from guidata.dataset import FloatItem

    • from guidata.dataset.datatypes import DataSet becomes from guidata.dataset import DataSet

    • Or you may now write:

      import guidata.dataset as gds
      
      class MyParameters(gds.DataSet):
          """My parameters"""
          freq = gds.FloatItem("Frequency", default=1.0, min=0.0, nonzero=True)
          amp = gds.FloatItem("Amplitude", default=1.0, min=0.0)

💥 New features:

  • New dataset.create_dataset_from_dict: create a dataset from a dictionary,
    using keys and values to create the dataset items
  • New dataset.create_dataset_from_func: create a dataset from a function signature,
    using type annotations and default values to create the dataset items
  • dataset.dataitems.StringItem:
    • Added argument password to hide text (useful for passwords)
    • Added argument regexp to validate text using a regular expression
  • dataset.dataitems.FileSaveItem, dataset.dataitems.FileOpenItem,
    dataset.dataitems.FilesOpenItem and dataset.dataitems.DirectoryItem:
    added argument regexp to validate file/dir name using a regular expression
  • dataset.dataitems.DictItem: added support for HDF5 and JSON serialization
  • dataset.io.h5fmt and dataset.io.jsonfmt: added support for lists and dictionnaries serialization

♻ New PlotPyStack internal features:

  • widgets.about: handle about dialog box informations (Python, Qt, Qt bindings, ...)
  • Renamed development environment variable GUIDATA_PYTHONEXE to PPSTACK_PYTHONEXE

🧹 Bug fixes:

  • Fixed Qt6 compatibility issue with QFontDatabase

Version 3.0

See full changelog here.

v3.0.6 - Maintenance release

08 Oct 16:43

Choose a tag to compare

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

See full changelog here.

v3.0.5 - Fixed compatibility with PySide6

26 Sep 16:20

Choose a tag to compare

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

See full changelog here.

v3.0.4 - New major release

26 Jul 11:44

Choose a tag to compare

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

v2.3.1: Fixed compatibility with Python 3.11

15 Nov 09:48

Choose a tag to compare

Updated CHANGELOG.md and version

v2.2.1

05 Jun 13:42

Choose a tag to compare

Updated CHANGELOG

Hotfix v2.0.4

11 Mar 09:53

Choose a tag to compare

updated changelog

Added Python 3.10, QtPy 2.0 support (dropped Python 2 support)

27 Dec 11:20

Choose a tag to compare