Releases: PlotPyStack/guidata
Releases · PlotPyStack/guidata
v3.11.0
Version 3.11.0
💥 New features:
- New
utils.genreqsmodule for generating installation requirements files:- Function
generate_requirements_txtgenerates arequirements.txtfile - Function
generate_requirements_rstgenerates arequirements.rstfile - The module is used by the new command line script
guidata-genreqs
- Function
v3.10.0
Version 3.10.0
💥 New features:
- Issue #81 - Modernize the internationalization utilities
- The
guidata.utils.gettext_helpersmodule, based on thegettextmodule, has been deprecated. - It has been replaced by a new module
guidata.utils.translations, which provides a more modern and flexible way to handle translations, thanks to thebabellibrary. - This change introduces a new script for managing translations, which may be used as follows:
- Scan for new translations:
python -m guidata.utils.translations scan --name <name> --directory <directory>- or
guidata-translations scan --name <name> --directory <directory>
- Compile translations:
python -m guidata.utils.translations compile --name <name> --directory <directory>- or
guidata-translations compile --name <name> --directory <directory>
- More options are available, see the help message of the script:
python -m guidata.utils.translations --help- or
guidata-translations --help
- Scan for new translations:
- The
🛠️ Bug fixes:
- Issue #88 -
DictItemdefault value persists across dataset instances (missingdeepcopy)- This issue is as old as the
DictItemclass itself. - When using a
DictItemin a dataset, if a value is set to the item instance, this value was incorrectly used as the default for the next instance of the same dataset class. - This happened because a
deepcopywas not made when setting the defaults of the class items inguidata.dataset.datatypes. - The fix ensures that each dataset instance has its own independent default value for
DictItem, preventing side effects from one instance to another.
- This issue is as old as the
v3.9.0
v3.8.0
ℹ️ Changes:
utils.gettext_helpers:do_rescan_files: use--no-locationoption to avoid including the file location in the translation filesmsgmerge: use--updateoption to avoid regenerating the translation files
- Replace
flake8withrufffor linting in GitHub Actions workflow
🛠️ Bug fixes:
- Issue #84 - Side effects of
win32_fix_title_bar_backgroundwithQGraphicsEffectactive - Issue #82 - Autodoc extension: translation of generic documentation text
- Initially, the generic documentation text like "Returns a new instance of" was translated using the
gettextfunction. - This was a mistake, as this text should be translated only after the documentation has been generated, i.e. by the
sphinx-intltool. - In other words, translating those generic texts should be done in the application documentation, not in the library itself.
- To fix this issue, the generic documentation text is no longer translated using
gettext, but is left as is in the source code.
- Initially, the generic documentation text like "Returns a new instance of" was translated using the
- Issue #80 -
ValueErrorwhen trying to show/edit an empty array
v3.7.1
Version 3.7.1
ℹ️ Changes:
- Fixed
ResourceWarning: unclosed fileon some platforms (e.g. CentOS Stream 8). - Update GitHub Actions to use setup-python@v5 and checkout@v4
Version 3.7.0
Drop support for Python 3.8.
v3.7.0
Drop support for Python 3.8.
v3.6.3
In this release, test coverage is 74%.
💥 New features:
- MultipleChoiceItem: implemented
callbackproperty 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
printbywarnings.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_backgroundfunction - Added
guidata.qthelpers.set_color_modefunction to set the color mode ('dark', 'light' or 'auto' for system default) - Added
guidata.qthelpers.get_color_modefunction to get the current color mode ('dark', 'light' or 'auto' for system default) - Added
guidata.qthelpers.get_color_themefunction to get the current color theme ('dark' or 'light') - Added
guidata.qthelpers.get_background_colorfunction to get the current backgroundQColorassociated with the current color theme - Added
guidata.qthelpers.get_foreground_colorfunction to get the current foregroundQColorassociated with the current color theme - Added
guidata.qthelpers.is_dark_themefunction to check if the current theme is dark) - As a consequence,
guidata.qthelpers.is_dark_modeandguidata.qthelpers.set_dark_modefunctions are deprecated, respectively in favor ofguidata.qthelpers.is_dark_themeandguidata.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_modeonCodeEditorandConsoleBaseWidgetwidgets
Version 3.5.3
In this release, test coverage is 74%.
🛠️ Bug fixes:
-
Configuration initialization on Windows:
- For various reasons, a
PermissionErrorexception 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_filefunction has been added to theuserconfigmodule, which tries multiple times to remove the file before raising an exception.
- For various reasons, a
-
Moved back
conftest.pyto thetestsfolder (was in the root folder), so thatpytestcan be executed with proper configuration when running the test suite from the installed package