build GUIs from python types
Project description
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)
But that's just the beginning! Please see Documentation for many more details and usage examples.
Contributing
Contributions are welcome!
See contributing guide here.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
magicgui-0.7.0rc1.tar.gz
(20.9 MB
view hashes)
Built Distribution
magicgui-0.7.0rc1-py3-none-any.whl
(120.3 kB
view hashes)
Close
Hashes for magicgui-0.7.0rc1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | ee98e335c11251a78ed3d7a38589202501eb385a2adf01ce572d72e3936d84ff |
|
MD5 | b629965ff12a2d1def2db0d068f83697 |
|
BLAKE2b-256 | 0b6453a7239c7c6836d54f0c0cdbd6dfd953860697291db94ce16d947ff63bb5 |