Skip to main content

Chalice as an alternative to Flask for Plotly Dash

Project description

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.

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

dash-chalice-0.1.1.tar.gz (16.7 kB view hashes)

Uploaded Source

Built Distribution

dash_chalice-0.1.1-py3-none-any.whl (16.8 kB view hashes)

Uploaded Python 3

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