Releases: PlotPyStack/guidata
v3.7.1
v3.7.0
Drop support for Python 3.8.
v3.6.3
In this release, test coverage is 74%.
💥 New features:
- MultipleChoiceItem: implemented
callback
property feature (was unexpectedly not supported)
🛠️ Bug fixes:
- Issue #78 - PySide6 on Linux:
AttributeError: 'DataFrameView' object has no attribute 'MoveLeft'
- Issue #77 - PyQt6/PySide6 on Linux:
AttributeError: type object 'PySide6.QtGui.QPalette' has no attribute 'Background'
- Add 'Monospace' and 'Menlo' to the list of fixed-width supported fonts
- Font warning message in configtools.py: replace
print
bywarnings.warn
v3.6.2
In this release, test coverage is 74%.
🛠️ Bug fixes:
- Light/dark theme support:
- Fix default color mode issues
- Color theme test: allow to derive from, so that the test may be completed by other widgets
v3.6.1
In this release, test coverage is 74%.
🛠️ Bug fixes:
- Light/dark theme support:
- Auto light/dark theme: quering OS setting only once, or each time the
set_color_mode('auto')
function is called - Fix console widget color theme: existing text in console widget was not updated when changing color theme
- Fixed issue with dark theme on Windows: the windows title bar background was not updated when the theme was changed from dark to light (the inverse was working) - this is now fixed in
guidata.qthelpers.win32_fix_title_bar_background
function - Added
guidata.qthelpers.set_color_mode
function to set the color mode ('dark', 'light' or 'auto' for system default) - Added
guidata.qthelpers.get_color_mode
function to get the current color mode ('dark', 'light' or 'auto' for system default) - Added
guidata.qthelpers.get_color_theme
function to get the current color theme ('dark' or 'light') - Added
guidata.qthelpers.get_background_color
function to get the current backgroundQColor
associated with the current color theme - Added
guidata.qthelpers.get_foreground_color
function to get the current foregroundQColor
associated with the current color theme - Added
guidata.qthelpers.is_dark_theme
function to check if the current theme is dark) - As a consequence,
guidata.qthelpers.is_dark_mode
andguidata.qthelpers.set_dark_mode
functions are deprecated, respectively in favor ofguidata.qthelpers.is_dark_theme
andguidata.qthelpers.set_color_mode
- Auto light/dark theme: quering OS setting only once, or each time the
v3.6.0
Version 3.6.0
In this release, test coverage is 74%.
💥 New features:
- Improved dark/light mode theme update:
- The theme mode may be changed during the application lifetime
- Added methods
update_color_mode
onCodeEditor
andConsoleBaseWidget
widgets
Version 3.5.3
In this release, test coverage is 74%.
🛠️ Bug fixes:
-
Configuration initialization on Windows:
- For various reasons, a
PermissionError
exception may be raised when trying to remove the configuration file on Windows, just after having created it for the first time. This is due to the fact that the file is still locked by the file system, even if the file has been closed. This is a known issue with Windows file system, and the solution is to wait a little bit before trying to remove the file. - To fix this issue, a new
try_remove_file
function has been added to theuserconfig
module, which tries multiple times to remove the file before raising an exception.
- For various reasons, a
-
Moved back
conftest.py
to thetests
folder (was in the root folder), so thatpytest
can be executed with proper configuration when running the test suite from the installed package
v3.5.3
In this release, test coverage is 74%.
🛠️ Bug fixes:
-
Configuration initialization on Windows:
- For various reasons, a
PermissionError
exception may be raised when trying to remove the configuration file on Windows, just after having created it for the first time. This is due to the fact that the file is still locked by the file system, even if the file has been closed. This is a known issue with Windows file system, and the solution is to wait a little bit before trying to remove the file. - To fix this issue, a new
try_remove_file
function has been added to theuserconfig
module, which tries multiple times to remove the file before raising an exception.
- For various reasons, a
-
Moved back
conftest.py
to thetests
folder (was in the root folder), so thatpytest
can be executed with proper configuration when running the test suite from the installed package
v3.5.2
Version 3.5.2
In this release, test coverage is 74%.
🛠️ Bug fixes:
- Add support for NumPy 2.0:
- Use
numpy.asarray
instead ofnumpy.array(..., copy=False)
- Remove deprecated
numpy.core.multiarray
module import
- Use
Version 3.5.1
In this release, test coverage is 74%.
🛠️ Bug fixes:
- PR #74 -
configtools.font_is_installed
: fix PySide2 compat. issue (thanks to @xiaodaxia-2008) - Creating a dataset using the
create
class method:- Before, passing unknown keyword arguments failed silently (e.g.
MyParameters.create(unknown=42)
). - Now, an
AttributeError
exception is raised when passing unknown keyword arguments, as expected.
- Before, passing unknown keyword arguments failed silently (e.g.
- Processing Qt event loop in unattended mode before closing widgets and quitting the
application, so that all pending events are processed before quitting: this includes
for instance the drawing events of widgets, which may be necessary to avoid a crash
when closing the application (e.g. if drawing the widget is required for some
reason before closing it) or at least to ensure that test coverage includes all
possible code paths.
ℹ️ Other changes:
- Preparing for NumPy V2 compatibility: this is a work in progress, as NumPy V2 is not
yet released. In the meantime, requirements have been updated to exclude NumPy V2. - Internal package reorganization: moved icons to
guidata/data/icons
folder - The
delay
command line option for environment execution objectexecenv
is now
expressed in milliseconds (before it was in seconds), for practical reasons - Explicitely exclude NumPy V2 from the dependencies (not compatible yet)
Version 3.5.0
In this release, test coverage is 74%.
💥 New features:
- New Sphinx autodoc extension:
- Allows to document dataset classes and functions using Sphinx directives, thus generating a comprehensive documentation for datasets with labels, descriptions, default values, etc.
- The extension is available in the
guidata.dataset.autodoc
module - Directives:
autodataset
: document a dataset classautodataset_create
: document a dataset creation functiondatasetnote
: add a note explaining how to use a dataset
BoolItem
/TextItem
: add support for callbacks when the item value changes
🛠️ Bug fixes:
- Documentation generation: automatic requirement table generation feature was failing
when using version conditions in thepyproject.toml
file (e.g.pyqt5 >= 5.15
). - Issue #72 - unit test leave files during the build usr/lib/python3/dist-packages/test.json
- Issue #73 -
ChoiceItem
radio buttons are duplicated when using callbacks
v3.5.1
Version 3.5.1
In this release, test coverage is 74%.
🛠️ Bug fixes:
- PR #74 -
configtools.font_is_installed
: fix PySide2 compat. issue (thanks to @xiaodaxia-2008) - Creating a dataset using the
create
class method:- Before, passing unknown keyword arguments failed silently (e.g.
MyParameters.create(unknown=42)
). - Now, an
AttributeError
exception is raised when passing unknown keyword arguments, as expected.
- Before, passing unknown keyword arguments failed silently (e.g.
- Processing Qt event loop in unattended mode before closing widgets and quitting the
application, so that all pending events are processed before quitting: this includes
for instance the drawing events of widgets, which may be necessary to avoid a crash
when closing the application (e.g. if drawing the widget is required for some
reason before closing it) or at least to ensure that test coverage includes all
possible code paths.
ℹ️ Other changes:
- Preparing for NumPy V2 compatibility: this is a work in progress, as NumPy V2 is not
yet released. In the meantime, requirements have been updated to exclude NumPy V2. - Internal package reorganization: moved icons to
guidata/data/icons
folder - The
delay
command line option for environment execution objectexecenv
is now
expressed in milliseconds (before it was in seconds), for practical reasons - Explicitely exclude NumPy V2 from the dependencies (not compatible yet)
v3.5.0
In this release, test coverage is 74%.
💥 New features:
- New Sphinx autodoc extension:
- Allows to document dataset classes and functions using Sphinx directives, thus generating a comprehensive documentation for datasets with labels, descriptions, default values, etc.
- The extension is available in the
guidata.dataset.autodoc
module - Directives:
autodataset
: document a dataset classautodataset_create
: document a dataset creation functiondatasetnote
: add a note explaining how to use a dataset
BoolItem
/TextItem
: add support for callbacks when the item value changes
🛠️ Bug fixes:
- Documentation generation: automatic requirement table generation feature was failing
when using version conditions in thepyproject.toml
file (e.g.pyqt5 >= 5.15
). - Issue #72 - unit test leave files during the build usr/lib/python3/dist-packages/test.json
- Issue #73 -
ChoiceItem
radio buttons are duplicated when using callbacks