Version 1¶
Version 1.8.0¶
Changes:
Added generic widgets: array, dictionary, text and code editors.
Removed
spyderlib/spyderdependency.Added setter method on DataItem object for “help” text (fixed part of the tooltip).
Version 1.7.9¶
Changes:
Added PySide2 support: guidata is now compatible with Python 2.7, Python 3.4+, PyQt4, PyQt5 and PySide2!
Version 1.7.8¶
Changes:
Added PyQt4/PyQt5/PySide automatic switch depending on installed libraries
Moved documentation to https://docs.readthedocs.io/
Version 1.7.7¶
Bug fixes:
Fixed Spyder v4.0 compatibility issues.
Version 1.7.6¶
Bug fixes:
Fixed Spyder v3.0 compatibility issues.
Version 1.7.5¶
Bug fixes:
FilesOpenItem.check_value: if value is None, return False (avoids “None Type object is not iterable” error)
Version 1.7.4¶
Bug fixes:
Fixed compatibility issue with Python 3.5.1rc1 (Issue #32: RecursionError in
userconfig.UserConfig.get)HDF5Reader.read_object_list: fixed division by zero (when count was 1)hdf5io: fixed Python3 compatibility issue with unicode_hdf type converter
Version 1.7.3¶
Features:
Added CHM documentation to wheel package
hdf5io: added support for a progress bar callback in “read_object_list” (this allows implementing a progress dialog widget showing the progress when reading an object list in an HDF5 file)
Bug fixes:
Python 3 compatibility: fixed
hdf5io.HDF5Writer.write_object_listmethoddata items:
StringItem: when
notemptyparameter was set to True, item value was not checked at startup (expected orange background)
disthelpers:
Supporting recent versions of SciPy, h5py and IPython
Fixed compatibility issue (workaround) with IPython on Python 2.7 (that is the “collection.sys cx_Freeze error”)
Version 1.7.2¶
Bug fixes:
Fixed compatibility issues with old versions of Spyder (<v2.3)
Version 1.7.1¶
Bug fixes:
Fixed Issue #25: ConfigParser.get unexpected keyword argument ‘raw’
Fixed tests failures: disthelpers, guiqwt/tests/loadsaveitems_hdf5.py
Features:
userconfigio: added support for serializing/deserializing NumPy scalars
Fixed Issue #47: added support for DateTimeItem/DateItem (de)serialization
Setup:
Using setuptools “entry_points” instead of distutils “scripts”
Version 1.7.0¶
Possible API compatibility issues:
Added support for PyQt5 (removed old-style signals)
Version 1.6.1¶
Possible API compatibility issues:
disthelpers:
Changed arguments from “architecture=None, python_version=None” to “msvc_version, architecture=None”
Version 1.6.0¶
Added support for Python 3 (see module guidata.py3compat).
New features:
disthelpers:
Added support for Python 3.3
Added support for pygments (and partial support for zmq: still failing)
FloatArrayItem: added support for
unitproperty value
Bug fixes:
disthelpers.prepend_module_to_path: unload modules which were already imported to be able to replace them by other versions (mostly
guidatashould be concerned by this if the function is used -as it should be- in package’s__init__.py script)
Version 1.5.1¶
New features:
HDF5 serialization (HDF5 reader/writer):
Added context manager
Added convenience methods
readandwriteAdded convenience methods
write_object_listandread_object_listto save/restore objects implementing DataSet-likeserializeanddeserializemethods
Datasets I/O (HDF5/ini): None values (unset items) can now be saved/loaded for FloatItem, IntItem and BoolItem objects
disthelpers: added option ‘exclude_dirs’ to ‘add_module_data_files’ and ‘add_module_data_dir’ methods
Added slider support for FloatItem objects (contributor: julien.jaeck)
(Issue 21) Added option ‘size’ in dataset
editandviewmethods to resize the generated dialog box (size may be a tuple of integers (width, height) or a QSize object)
Possible API compatibility issues:
guidata now requires Python 2.6 (Python 2.5 support has been dropped)
Bug fixes:
DataSet objects (de)serialization: fixed HDF5 reader/writer for FilesOpenItem and FloatArrayItem serialize/deserialize methods
Fixed DataSet userconfig read/write test
StringItem/ColorItem: fixed unicode/str issues in deserialization methods
Added support for strings encoded in file system charset to avoid an error like “String %r is not UTF-8 encoded” when trying to set an item to a string value (path) obtained with a file system command
configtools/image paths: handling file system encoded paths
(Issue 14) Restored compatiblity with PyQt v4.4
Version 1.5.0¶
Bug fixes:
Fixed ‘callback’ property related issue: when updating a DataSetShowGroupBox or DataSetEditGroupBox internal dataset, the callback property was causing a reset of the data items to their default values
Possible API compatibility issues:
datatypes.OperatorProperty was renamed to FuncProp
Other changes:
Added test for the FuncProp item property: how to change an item active state depending on another item’s value
Added support for dictionaries for
update_datasetandrestore_dataset(functions ofguidata.utils):update_datasetmay update the destination dataset from a source dictionaryrestore_datasetmay update the destination dictionary from a source dataset
FloatArrayItem: added option “large” to show all the array values in read-only mode
Added new guidata svg logo
disthelpers:
added support for PySide
disthelpers: new function ‘get_visual_studio_dlls’ – returns the list of Visual Studio DLLs (and create manifest) associated to Python architecture and version
Version 1.4.2¶
Bug fixes:
disthelpers:
the vs2008 option was accidently turned off by default on Windows platforms
build_chm.bat: added support for Windows x64
Other changes:
dataset.qtwidgets:
QLabel widgets word wrapping is now disabled for read-only items and may be disabled for dataset comments: this is necessary because when the parent widget height is constrained, Qt is unexpectedly reducing the height of word-wrapped QLabel widgets below their minimum size, hence truncating their contents…
disthelpers:
raising an exception when the right version of Ms Visual C++ DLLs was not found
now creating the manifest and distributing from the redistribuable package installed in WinSxS
Version 1.4.1¶
Bug fixes:
ColorItem for recent versions of Qt: in QLineEdit widget, the text representation of color was str(QColor(…)) instead of str(QColor(…).name())
guidata.qt compat package: fixed _modname typo
hdf5io:
optional attribute mechanism generalized to both Attr and DSet objects (for both saving and loading data)
H5Store/
closemethod: now checking if h5 file has already been closed before trying to close it (see http://code.google.com/p/h5py/issues/detail?id=220)
disthelpers:
vs2008 option was ignored
added ‘C:\Program Files (x86)’ to bin includes (cx_Freeze)
Data items/callbacks: fixed callbacks for ChoiceItem (or derived items) which were triggered when other widgets were triggering their own callbacks…
Other changes:
Added test for item callbacks
dataset.datatypes.FormatProp/new behavior: added
ignore_errorargument, default to True (ignores string formatting error: ValueError)disthelpers:
Distribution.Setup: added
target_diroptionDistribution.build: added
create_archiveoption to create a ZIP archive after building the packagecx_Freeze: added support for multiple executables
added support for h5py 2.0
added support for Maplotlib 1.1
Allow DateTime edit widgets to popup calendar
Version 1.4.0¶
Possible API compatibility issues:
disthelpers: removed functions remove_build_dist, add_module_data_files, add_text_data_file, get_default_excludes, get_default_includes, get_default_dll_excludes, create_vs2008_data_files (…) which were replaced by a class named Distribution, see the new disthelpers test for more details (tests/dishelpers.py)
reorganized utils and configtools modules
Other changes:
disthelpers: replaced almost all functions by a class named Distribution, and added support for cx_Freeze (module remains compatible with py2exe), see the new disthelpers test for more details (tests/dishelpers.py)
reorganized utils and configtools modules
Version 1.3.2¶
Since this version, guidata is compatible with PyQt4 API #1 and API #2.
Please read carefully the coding guidelines which have been recently added to
the documentation.
Possible API compatibility issues:
Removed deprecated wrappers around QFileDialog’s static methods (use the wrappers provided by
guidata.qt.compatinstead):getExistingDirectory, getOpenFileName, getOpenFileNames, getSaveFileName
Bug fixes:
qtwidgets.ShowFloatArrayWidget: fixed string float formatting issue (replaced %f by %g)
Fixed compatiblity issues with PyQt v4.4 (Contributor: Carlos Pascual)
Fixed missing ‘child_title’ attribute error with FileOpenItem, FilesOpenItem, FileSaveItem and DirectoryItem
(Fixes Issue 8) disthelpers.add_modules was failing when vs2008=False
Other changes:
added this changelog
qtwidgets: removed ProgressPopUp dialog (it is now recommended to use QProgressDialog instead, which is pretty much identical)
Replaced QScintilla by spyderlib (as a dependency for array editor, code editor (test launcher) and dict editor)
qtwidgets.DockWidgetMixin: added method ‘setup_dockwidget’ to change dockwidget’s features, location and allowed areas after class instantiation
guidata.utils.utf8_to_unicode: translated error message in english
Add support for ‘int’ in hdf5 save function
guidata.dataset/Numeric items (FloatItem, IntItem): added option ‘unit’ (automatically add suffix ‘ (unit)’ to label in edit mode and suffix ‘ unit’ to value in read-only mode)
Improved dataset
__str__method: code refactoring with read-only dataset widgets (DataItem: added methods ‘format_string’ and ‘get_string_value’, DataSet: added method ‘to_string’)Added coding guidelines to the documentation
guidata.dataset.qtwidget: added specific widget (ShowBooleanWidget) for read-only display of bool items (text is striked out when value is False)
guidata.hdf5io.Dset: added missing keyword argument ‘optional’ (same effect as parent class Attr)
guidata.dataset.dataitems.IntItem objects: added support for sliders (fixes Issue 9) with option slider=True (see documentation)
Version 1.3.1¶
Bug fixes:
setup.py: added svg icons to data files
gettext helpers were not working on Linux (Windows install pygettext was hardcoded)
Other changes:
hdf5io: printing error messages in sys.stderr + added more infos when failing to load attribute
Version 1.3.0¶
Bug fixes:
setup.py: added svg icons to data files
gettext helpers were not working on Linux (Windows install pygettext was hardcoded)
DataSet/bugfix: comment/title options now override the DataSet class
__doc__attributeAdded missing option ‘basedir’ for FilesOpenItem
DirectoryItem: fixed missing child_title attribute bug
For all DataSet GUI representation, the comment text is now word-wrapped
Bugfix: recent versions of PyQt don’t like the QApplication reference to be stored in modules (why is that?)
Bugfix/tests: always keep a reference to the QApplication instance
Other changes:
setup.py: added source archive download url
Tests: now creating real temporary files and cleaning up at exit
qtAllow a callback on LineEditWidget to notify about text changes (use set_prop(“display”, “callback”, callback))
qthelpers: provide wrapper for qt.getOpen/SaveFileName to work around win32 bug
qtwidgets: optionally hide apply button in DataSetEditGroupBox
added module guidata.qtwidgets (moved some generic widgets from guidata.qthelpers and from other external packages)
qthelpers: added helper ‘create_groupbox’ (QGroupBox object creation)
Array editor: updated code from Spyder’s array editor (original code)
Added package guidata.editors: contains editor widgets derived from Spyder editor widgets (array editor, dictionary editor, text editor)
Array editor: added option to set row/col labels (resp. ylabels and xlabels)
ButtonItem: changed callback arguments toinstance (DataSet object), value (item value), parent (button’s parent widget)
editors.DictEditor.DictEditor: moved options from constructor to ‘setup’ method (like ArrayEditor’s setup_and_check), added parent widget to constructor options
Added DictItem type: simple button to edit a dictionary
editors.DictEditor.DictEditor/bugfixes: added action “Insert” to context menu for an empty dictionary + fixed inline unicode editing (was showing the error message “Unable to assign data to item”)
guidata.qtwidgets: added ‘DockableWidgetMixin’ to fabricate any dockable QWidget class
gettext helpers: added support for individual module translation (until now, only whole packages were supported)
DataSetShowGroupBox/DataSetEditGroupBox: **kwargs may now be passed to the DataSet constructor
disthelpers: added ‘scipy.io’ to supported modules (includes)
Added new “value_callback” display property: this function is called when QLineEdit text has changed (item value is passed)
Added option to pass a text formatting function in DataSetShowWidget