Metadata-Version: 2.2
Name: suraida
Version: 1.0.0
Summary: Creates a simple GUI for interactive plotting with sliders
Author-email: Jens Koch <jens-koch@northwestern.edu>, Yunwei Lu <yunweilu2020@u.northwestern.edu>
License: BSD
Keywords: interactive,plotting
Platform: Linux
Platform: Mac OSX
Platform: Unix
Platform: Windows
Classifier: Development Status :: 5 - Production/Stable
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: BSD License
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3
Classifier: Topic :: Scientific/Engineering
Classifier: Operating System :: MacOS
Classifier: Operating System :: POSIX
Classifier: Operating System :: Unix
Classifier: Operating System :: Microsoft :: Windows
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE.txt
Requires-Dist: ipyvuetify
Requires-Dist: ipywidgets
Requires-Dist: traitlets
Requires-Dist: matplotlib
Requires-Dist: numpy
Requires-Dist: jupyter

`suraida` is a lightweight package facilitating
interactive plotting similar to Mathematica's `Manipulate`.
Do you want to visualize a function and "play" with its parameters?
Jump into a jupyter notebook, import `suraida` and use
its `Manipulate` class like this:
```python
import suraida as sr
import numpy as np

def func(z, amplitude, omega, phase):
    return amplitude * np.sin(omega * z + phase)

sr.Manipulate(func,                          # the numerical function we wish to plot and manipulate parameters via sliders
              var_def=["z", 0, 7, 0.1],      # definition of the variable against which to plot `func`, specifying min, max and step
              param_defs=[
                  ["phase", [i*np.pi/5 for i in range(5)]],      # phase as list of allowed values
                  ["amplitude", 0, 2, 0.1],                # amplitude with min, max and step, default initial value is midpoint between min and max
                  ["omega", 0, 4, 0.1, 1.0]                # omega with min, max, step, ini
              ]
             )
```
<img src="https://github.com/scqubits/suraida/blob/main/display.gif" width="800" />


