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]
pip install magicgui[pyside2]
or with conda:
conda install -c conda-forge magicgui 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
@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!"
snells_law.show(run=True)
But that's just the beginning! Please see Documentation for many more details
and usage examples.
Contributing
Contributions are welcome!
See contributing guide here.