Skip to content

Releases: pyapp-kit/magicgui

v0.2.9

05 Apr 20:35
Compare
Choose a tag to compare

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

03 Apr 18:41
c50a7e2
Compare
Choose a tag to compare

v0.2.8 is a minor feature & bugfix release including:

  • a new widgets.RadioButtons widget. Uses the same "CategoricalWidget" API as ComboBox, 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

28 Feb 21:22
069ea2c
Compare
Choose a tag to compare

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. Requires pip install magicgui[image] to work (#140)
  • adds a widget_init parameter to magic_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 FileEdit used with directory mode
  • fixes a bug in Range/SliceEdits

v0.2.6

25 Jan 22:49
cb83f9f
Compare
Choose a tag to compare

v0.2.6 is a significant feature release, introducing a number of new widgets and APIs:

  • New Table Widget allowing easy creation and modification of Table UIs using a variety of pure python types as input (#61)
  • Tooltips for each widget in a @magicgui are now automatically taken from docstrings (numpy, google, and sphinx-rst format accepted)(#100)
  • New ProgressBar widget (#104) and magicgui.tqdm wrapper (#105) allow both manual and automatically-added progress bars to long-running iterator-based functions. magicgui.tqdm.tqdm acts as a drop-in replacement for tqdm.tqdm that 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/MainFunctionGui subclasses allow creating top level "application" windows, with a basic API for adding items to the application menubar (#110).
  • The new @magic_factory decorator creates a callable that, when called, returns a FunctionGui instance (as opposed to @magicgui which immediately creates the FunctionGui instance). 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 Containers and magicgui widgets.

v0.2.5

13 Jan 19:26
ab03209
Compare
Choose a tag to compare

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

08 Jan 23:44
Compare
Choose a tag to compare

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

02 Jan 00:35
9b6914a
Compare
Choose a tag to compare

hotfix release to prevent exception in bundled app

v0.2.1

29 Dec 21:04
98bfb8a
Compare
Choose a tag to compare

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

26 Dec 16:15
Compare
Choose a tag to compare

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.Parameter object, and a collection or layout of widgets and an inspect.Signature object.

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