title: Synchronise Python Plotly/Dash Core Components Checklist State Across Multiple Instances
body: <p>I am creating a dash app in python that can be accessed via a web browser which uses the dash core components checklist item. I provide a minimal example below</p>
  <pre><code>import dash
  import dash_core_components as dcc
  import dash_html_components as html
  
  app = dash.Dash(__name__)
  
  app.layout = html.Div([
      html.Div([
          dcc.Checklist(
                      options=[
                          {'label': 'New York City', 'value': 'NYC'},
                          {'label': 'Montréal', 'value': 'MTL'},
                          {'label': 'San Francisco', 'value': 'SF'}
                      ],
                      value=['NYC', 'MTL']
                  )
      ])
  ])
  
  app.run_server(port=8050)
  </code></pre>
  <p>what this does is create an app that can be accessed on <code>http://localhost:8050/</code> showing three checkboxes. I would like the state of these checklist items to be synchronised across multiple users that may be accessing this page.</p>
  <p>In other words, if I open two separate tabs with the address <code>http://localhost:8050/</code> after starting this app, say <code>tab 1</code> and <code>tab 2</code>. Any changes I make on <code>tab 1</code> to the state of the checklist should be reflected in the state of the checklist on <code>tab 2</code> as well. Right now, changes to the checklist state in <code>tab 1</code> do not affect the state in <code>tab 2</code>.</p>
  <p>I imagine the solution involes using <code>@app.callback</code> events on some method with the <code>Input</code> and <code>Output</code> classes from the <code>from dash.dependencies</code> module but I haven't quite figured out the best way yet. Any help is much appreciated</p>