Metadata-Version: 2.1
Name: jupyter-plotly-dash
Version: 0.0.11
Summary: Interactive Jupyter use of plotly dash apps
Home-page: https://github.com/GibbsConsulting/jupyter-plotly-dash
Author: Gibbs Consulting
Author-email: jupyter_plotly_dash@gibbsconsulting.ca
License: MIT
Project-URL: Source, https://github.com/GibbsConsulting/jupyter-plotly-dash
Project-URL: Tracker, https://github.com/GibbsConsulting/jupyter-plotly-dash/issues
Project-URL: Documentation, http://jupyter-plotly-dash.readthedocs.io/
Keywords: Jupyter plotly plotly-dash dash dashboard django-plotly-dash Django
Platform: UNKNOWN
Classifier: Development Status :: 3 - Alpha
Classifier: Intended Audience :: Developers
Classifier: License :: OSI Approved :: GNU Affero General Public License v3
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.6
Requires-Python: >=3.6
Description-Content-Type: text/markdown
Requires-Dist: django-plotly-dash
Requires-Dist: jupyter
Requires-Dist: aiohttp
Requires-Dist: nbserverproxy

# jupyter-plotly-dash

Allow use of [plotly dash](https://plot.ly/products/dash/) applications within Jupyter notebooks, with the management of both session and internal state.

See the source for this project here:
<https://github.com/GibbsConsulting/jupyter-plotly-dash>

Try me here in your browser: [![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/GibbsConsulting/jupyter-plotly-dash/master)

More detailed information
can be found in the online documentation at
<https://readthedocs.org/projects/jupyter-plotly-dash>

## Installation

Install the package. Use of a `virtualenv` environment is strongly recommended.

    pip install jupyter_plotly_dash

Now the package is installed, it can be used within a Jupyter notebook.

## Simple use

After installation, launch a python Jupyter notebook server using `jupyter notebook` or `jupyter lab` as desired. Create a `Dash` application, using
the `JupyterDash` class instead of `dash.Dash` for the application, and copy the following into a code cell and evaluate it.

```python
from jupyter_plotly_dash import JupyterDash

import dash
import dash_core_components as dcc
import dash_html_components as html
from dash.dependencies import Input, Output

app = JupyterDash('SimpleExample')

app.layout = html.Div([
    dcc.RadioItems(
        id='dropdown-color',
        options=[{'label': c, 'value': c.lower()}
                 for c in ['Red', 'Green', 'Blue']],
        value='red'
    ),
    html.Div(id='output-color'),
    dcc.RadioItems(
        id='dropdown-size',
        options=[{'label': i, 'value': j}
                 for i, j in [('L','large'), ('M','medium'), ('S','small')]],
        value='medium'
    ),
    html.Div(id='output-size')

])

@app.callback(
    dash.dependencies.Output('output-color', 'children'),
    [dash.dependencies.Input('dropdown-color', 'value')])
def callback_color(dropdown_value):
    return "The selected color is %s." % dropdown_value

@app.callback(
    dash.dependencies.Output('output-size', 'children'),
    [dash.dependencies.Input('dropdown-color', 'value'),
     dash.dependencies.Input('dropdown-size', 'value')])
def callback_size(dropdown_color, dropdown_size):
    return "The chosen T-shirt is a %s %s one." %(dropdown_size,
                                                  dropdown_color)

app
```

The last line causes the dash application to be rendered. All callbacks are invoked asynchronously, so the display of an
application does not prevent other notebook cells from being evaluated. Multiple instances of the same dash application
can be rendered at the same time within a single notebook.

## Binder use

To launch a binder
image, visit [![Binder](https://mybinder.org/badge.svg)](https://mybinder.org/v2/gh/GibbsConsulting/jupyter-plotly-dash/master) to
run Jupyter notebooks using the latest version on the master branch of the main repository.


