Metadata-Version: 2.1
Name: magicgui
Version: 0.1.0
Summary: build GUIs from functions, using magic.
Home-page: https://github.com/tlambert03/magicgui
Author: Talley Lambert
Author-email: talley.lambert@gmail.com
License: MIT license
Description: # magicgui
        
        [![License](https://img.shields.io/pypi/l/magicgui.svg)](LICENSE)
        [![Version](https://img.shields.io/pypi/v/magicgui.svg)](https://pypi.python.org/pypi/magicgui)
        [![Python Version](https://img.shields.io/pypi/pyversions/magicgui.svg)](https://python.org)
        [![Build Status](https://img.shields.io/travis/tlambert03/magicgui.svg)](https://travis-ci.com/tlambert03/magicgui)
        [![Docs](https://readthedocs.org/projects/magicgui/badge/?version=latest)](https://magicgui.readthedocs.io/en/latest/?badge=latest)
        [![Code style: black](https://img.shields.io/badge/code%20style-black-000000.svg)](https://github.com/python/black)
        [![codecov](https://codecov.io/gh/tlambert03/magicgui/branch/master/graph/badge.svg)](https://codecov.io/gh/tlambert03/magicgui)
        
        
        build GUIs from functions, using magic.
        
        ## 📖 [Docs](https://magicgui.readthedocs.io/)
        
        ## Installation
        
        `magicgui` uses `pyqt` to support both `pyside2` and `pyqt5` backends.  However, you
        must have one of those installed for magicgui to work.
        
        ```bash
        pip install magicgui pyside2  # or pyqt5 instead of pyside2
        ```
        
        > :information_source: If you'd like to help us extend support to a different backend,
        > please open an [issue](https://github.com/tlambert03/magicgui/issues).
        
        ## Basic usage
        
        ```python
        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")
        def snells_law(aoi=30.0, n1=Medium.Glass, n2=Medium.Water, degrees=True):
            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 will now have a new attribute "Gui"
        # call it to create (and optionally show) the new GUI!
        snell_gui = snells_law.Gui(show=True)
        ```
        
        Please see [Documentation](https://magicgui.readthedocs.io/) for many more details
        and usage examples.
        
        ## Contributing
        
        Contributions are welcome!
        
        Please note: `magicgui` attempts to adhere to strict coding rules and employs the
        following static analysis tools to prevent errors from being introduced into the
        codebase:
        
        - [black](https://github.com/psf/black) - code formatting
        - [flake8](https://github.com/PyCQA/flake8) - linting
        - [pydocstyle](https://github.com/PyCQA/pydocstyle/) - docstring conventions
        - [pyright](https://github.com/microsoft/pyright) - static type anaylsis
        - [codecov](https://codecov.io/) - test coverage
        
        To prevent continuous integration failures when contributing, please consider installing
        [pre-commit](https://pre-commit.com/) in your environment to run all of these checks
        prior to checking in new code.
        
        ```shell
        pre-commit install
        ```
        
        To run pyright, you will need to install with `npm install -g pyright`,
        then run `pyright`.  See [their docs](https://github.com/microsoft/pyright) for details.
        
Keywords: magicgui
Platform: UNKNOWN
Classifier: Development Status :: 2 - Pre-Alpha
Classifier: Intended Audience :: Developers
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Natural Language :: English
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Classifier: Programming Language :: Python :: 3.7
Classifier: Programming Language :: Python :: 3.8
Classifier: Topic :: Scientific/Engineering :: Visualization
Requires-Python: >=3.6
Description-Content-Type: text/markdown
