Releases: pyapp-kit/magicgui
v0.2.10
v0.2.9
v0.2.9 is a minor feature & bugfix release.
The most noticeable new feature is that Slider widgets now show their current value with an (editable) spinbox (#211). To hide the readout widget on a Slider, use readout=False. The Table widget has also been given a .changed event emitter that will emit a dict of information about the cell being edited (#209)
This release also fixes a couple event issues with FileDialogs, and some layout issues with RadioButtons.
v0.2.8
v0.2.8 is a minor feature & bugfix release including:
- a new
widgets.RadioButtonswidget. Uses the same "CategoricalWidget" API asComboBox, but presents options as a group of RadioButtons. - fixes some issues with event emission in FileEdit dialogs
- undoes a bug introduced by changing the text in the call button while the function is running.
v0.2.7
v0.2.7 is a minor feature & bugfix release including:
- parameter value persistence: use
@magicgui(persist=True)to store the values in the GUI to disk when they are changed, and restore them when the GUI is recreated in a future session (#160). - a preliminary Image widget
magicgui.widgets.Image. Requirespip install magicgui[image]to work (#140) - adds a
widget_initparameter tomagic_factory... useful for connecting events and such after a factory creates a new widget instance (#159). - fixes a bug when a parameter-less function is used with
call_button=True(#149) - fixes
FileEditused with directory mode - fixes a bug in Range/SliceEdits
v0.2.6
v0.2.6 is a significant feature release, introducing a number of new widgets and APIs:
- New
TableWidget allowing easy creation and modification of Table UIs using a variety of pure python types as input (#61) - Tooltips for each widget in a
@magicguiare now automatically taken from docstrings (numpy, google, and sphinx-rst format accepted)(#100) - New
ProgressBarwidget (#104) andmagicgui.tqdmwrapper (#105) allow both manual and automatically-added progress bars to long-running iterator-based functions.magicgui.tqdm.tqdmacts as a drop-in replacement fortqdm.tqdmthat will fall back to the standard (console output) behavior if used outside of a magicgui function, or inside of a magicgui widget that is not yet visible. - New
MainWindow/MainFunctionGuisubclasses allow creating top level "application" windows, with a basic API for adding items to the application menubar (#110). - The new
@magic_factorydecorator creates a callable that, when called, returns aFunctionGuiinstance (as opposed to@magicguiwhich immediately creates theFunctionGuiinstance). Think of this as returning a "class" as opposed to returning an "instance":@magic_factory(call_button=True) def my_factory(x: int, y = 'hi'): ... # can add to or override original factory arguments widget = my_factory(main_window=True) widget.show()
- "vertical" is now the default layout for
Containersand magicgui widgets.
v0.2.5
v0.2.5 greatly improves support for binding a value or a callback to a function parameter, and fixes a bug in recursively updating categorical widgets nested deeply inside of a container.
v0.2.3
v0.2.3 adds two new widgets DateEdit and TimeEdit (for datetime.date and datetime.time types respectively), in addition to the existing DateTimeEdit widget. It also continues to improve warnings and deprecation messages from the v0.2.0 release.
v0.2.2
hotfix release to prevent exception in bundled app
v0.2.1
v0.2.1 fixes some issues with the 0.2.0 release. ForwardRef annotations are now resolved automatically on both parameter and return type annotations. And the orientation parameter on Container widgets (such as those returned by the magicgui decorator) has been renamed back to layout as in <v0.2.0. Test coverage is also improved.
v0.2.0
v0.2.0 includes a complete rewrite of magicgui. The primary goals were as follows:
- make a clean separation between the Qt backend and the end-use API, clarifying the interface that a backend must implement in order to work with magicgui
- create a "direct API" that enables procedural widget creation, with the potential for subclassing and custom widget creation
- create a more direct link between an individual widget and an
inspect.Parameterobject, and a collection or layout of widgets and aninspect.Signatureobject.
See PR #43 for full details of the rewrite.
Deprecations and possible breaking changes!
Some of the API has been deprecated or changed, though an attempt was made to make the pre-0.2.0 API still work (with warnings). Please see the v0.2.0 migration guide for details.
Lastly, we have new documentation, using the amazing jupyter-book project! Note the new url at https://napari.org/magicgui