Skip to content

ellwise/dash-chalice

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

dash-chalice

This package integrates Plotly Dash with AWS Chalice. It provides a DashChalice object which is largely a slot-in replacement for dash.Dash, but with the underlying Flask server object replaced with a Chalice one. It aims to provide a more natural path for deployment using AWS Lambda than Zappa.

A simple example is given below. Note that Chalice expects projects to have a particular structure. To run this example, save the code below as app.py and include an empty JSON object {} within .chalice/config.json in the same directory. The example can then be run locally with chalice local.

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


dash_app = DashChalice(__name__, title="Example")
dash_app.layout = html.Div(
    [
        dcc.Input(id="input", placeholder="Please type a name"),
        html.Div(id="output"),
    ]
)


@dash_app.callback(
    Output("output", "children"),
    Input("input", "value"),
)
def set_output(input):
    return "Hello!" if input in (None, "") else f"Hello {input}!"


# this needs to be called after the dash app has been set up
dash_app.finalise()

# nb: chalice expects an app variable to be exposed for running/deployment
app = dash_app.server

For more information on structuring and deploying apps with Chalice, see the documentation. In addition, you may find these workshop notes useful, as I have.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published