Guidata

Latest version: v3.7.1

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

Scan your dependencies

Page 3 of 10

3.3.0

In this release, test coverage is 72%.

๐Ÿ’ฅ New features:

* Array editor now supports row/column insertion/deletion:
* Added `variable_size` argument to `setup_and_check` method
* The feature is disabled by default (backward compatible)
* It supports standard arrays, masked arrays, record arrays and N-dimensional arrays
* New dataset read-only mode:
* Added `readonly` argument to `DataSet` constructor
* This is useful to create a dataset that will be displayed in read-only mode
(e.g. string editing widgets will be in read-only mode: text will be selectable
but not editable)
* The items remain modifiable programmatically (e.g. `dataset.item = 42`)
* New dataset group edit mode:
* Added `mode` argument to `DataSetGroup.edit` method, with the following options:
* `mode='tabs'` (default): each dataset is displayed in a separate tab
* `mode='table'`: all datasets are displayed in a single table
* In the new table mode, the datasets are displayed in a single table with
one row per dataset and one column per item
* Clicking on a row will display the corresponding dataset in a modal dialog box

๐Ÿ› ๏ธ Bug fixes:

* Qt console:
* Fixed `RuntimeError: wrapped C/C++ object of type DockableConsole has been deleted`
when closing the console widget (parent widget, e.g. a `QMainWindow`, was deleted)
while an output stream is still writing to the console (e.g. a `logging` handler
which will flush the output stream when closing the application)
* This concerns all console-related widgets: `DockableConsole`, `Console`,
`InternalShell`, `PythonShellWidget` and `ShellBaseWidget`
* Code editor: fixed compatibility issue with PySide6
(`AttributeError: 'QFont' object has no attribute 'Bold'`)

3.2.2

๐Ÿ› ๏ธ Bug fixes:

* Fixed translation support (`gettext`):
* Locale detection has been fixed in 3.1.1 (deprecation of `locale.getdefaultlocale`)
* However, on frozen distributions on Windows (e.g. with `pyinstaller`), function
`locale.getlocale` is returning `(None, None)` instead of proper locale infos
* Added a workaround: on Windows, if locale can't be detected, we now use the
Windows API to retrieve it (using the `GetUserDefaultLocaleName` function)
* [Issue 68](https://github.com/PlotPyStack/guidata/issues/68) - Windows: gettext translation is not working on frozen applications
* Embedded Qt console:
* Fixed default encoding detection on frozen applications on Windows
* [Issue 69](https://github.com/PlotPyStack/guidata/issues/69) - Windows/Qt console: output encoding is not detected on frozen applications

3.2.1

๐Ÿ› ๏ธ Bug fixes:

* Tests only: `qthelpers.close_widgets_and_quit` now ignores deleted widgets

๐Ÿ’ฅ Changes:

* `dataset.ImageChoiceItem` and `dataset.ButtonItem`: added `size` argument to set the icon size
* `dataset.io` reader and writer classes: removed deprecated `write_unicode` method

3.2.0

๐Ÿ› ๏ธ Bug fixes:

* [Issue 67](https://github.com/PlotPyStack/guidata/issues/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](https://github.com/Codra-Ingenierie-Informatique/DataLab/blob/2a7e95477a8dfd827b037b39ef5e045309760dc8/cdlapp/utils/qthelpers.py#L87))
* 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](https://www.pyinstaller.org/) instead)

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)

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:

python
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`

Page 3 of 10

ยฉ 2025 Safety CLI Cybersecurity Inc. All Rights Reserved.