Skip to main content

build GUIs from python types

Project description

magicgui

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

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.

Project details


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.0.tar.gz (20.9 MB view details)

Uploaded Source

Built Distribution

magicgui-0.7.0-py3-none-any.whl (120.3 kB view details)

Uploaded Python 3

File details

Details for the file magicgui-0.7.0.tar.gz.

File metadata

  • Download URL: magicgui-0.7.0.tar.gz
  • Upload date:
  • Size: 20.9 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for magicgui-0.7.0.tar.gz
Algorithm Hash digest
SHA256 3c430e15828607ec2b9fc1000c4864014e4e72b3f981ded22b9f4ebace20ca08
MD5 2f1acb3e2e754539b1a3aa50666b8b67
BLAKE2b-256 e647c15e402676cca13bf05ba217aa7d6be35ef31fd13261340fb9a2b85ad8b5

See more details on using hashes here.

File details

Details for the file magicgui-0.7.0-py3-none-any.whl.

File metadata

  • Download URL: magicgui-0.7.0-py3-none-any.whl
  • Upload date:
  • Size: 120.3 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.11.2

File hashes

Hashes for magicgui-0.7.0-py3-none-any.whl
Algorithm Hash digest
SHA256 6c590c70b61a15b14e3344085bbd2ead51f782973c866ba3b69052126e65cf15
MD5 57263b3834ed0c362064ce6eb0d171bf
BLAKE2b-256 f4594c8cc35b9e8a2925b262c755452a235b250720d3e74f41e531299b76ea2b

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page