magicgui 0.10.1


pip install magicgui

  Latest version

Released: Jun 03, 2025


Meta
Author: Talley Lambert
Requires Python: >=3.9

Classifiers

Development Status
  • 4 - Beta

Environment
  • X11 Applications :: Qt

Intended Audience
  • Developers
  • Science/Research

License
  • OSI Approved :: MIT License

Operating System
  • OS Independent

Programming Language
  • Python
  • Python :: 3 :: Only
  • Python :: 3.9
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13

Topic
  • Desktop Environment
  • Software Development
  • Software Development :: User Interfaces
  • Software Development :: Widget Sets
  • Utilities

Typing
  • Typed

magicgui

magicgui is released under the MIT license. magicgui on PyPI magicgui on conda-forge magicgui python version support

magicgui build status magicgui code coverage cite magicgui

build GUIs from type annotations, using magic.

๐Ÿ“– Docs

https://pyapp-kit.github.io/magicgui/

Installation

magicgui uses qtpy to support both pyside2 and pyqt5 backends. However, you must have one of those installed for magicgui to work.

install with pip

pip install magicgui[pyqt5]
# or
pip install magicgui[pyside2]

or with conda:

conda install -c conda-forge magicgui pyqt  # or pyside2 instead of pyqt

:information_source: If you'd like to help us extend support to a different backend, please open an issue.

Basic usage

from magicgui import magicgui
from enum import Enum

class Medium(Enum):
    Glass = 1.520
    Oil = 1.515
    Water = 1.333
    Air = 1.0003

# decorate your function with the @magicgui decorator
@magicgui(call_button="calculate", result_widget=True)
def snells_law(aoi=30.0, n1=Medium.Glass, n2=Medium.Water, degrees=True):
    import math

    aoi = math.radians(aoi) if degrees else aoi
    try:
        result = math.asin(n1.value * math.sin(aoi) / n2.value)
        return math.degrees(result) if degrees else result
    except ValueError:
        return "Total internal reflection!"

# your function is now capable of showing a GUI
snells_law.show(run=True)

snells

But that's just the beginning! Please see Documentation for many more details and usage examples.

Contributing

Contributions are welcome!

See contributing guide here.

Wheel compatibility matrix

Platform Python 3
any

Files in release

Extras:
Dependencies:
docstring-parser (>=0.7)
psygnal (>=0.8.0)
qtpy (>=2.4.0)
superqt[iconify] (>=0.7.2)
typing-extensions (>=4.6)