title: Jupyter Notebook is stuck on "Loading..."
body: <p>So I am trying to run this pymongo app through jupyter notebook and all it does is give me a &quot;Loading...&quot; output and then the kernel goes idle... when I just print the &quot;df&quot;, it gives me the data so I know that it is working data-wise. I have tried restarting the kernel; deleting the output, restarting the kernel, and reinputting the input; Restarting and clearing output - and all do not seem to have any effect. I am thinking it may have something to do with my inputted data but I am not sure what exactly...</p>
  <p>This is the .ipynb:</p>
  <pre><code>from jupyter_plotly_dash import JupyterDash
  import dash
  import dash_leaflet as dl
  import dash_core_components as dcc
  import dash_html_components as html
  import plotly.express as px
  import dash_table
  from dash.dependencies import Input, Output
  import numpy as np
  import pandas as pd
  import matplotlib.pyplot as plt
  from pymongo import MongoClient
  #### FIX ME #####
  # change animal_shelter and AnimalShelter to match your CRUD Python module file name and class name
  from AAC import AnimalShelter
  
  ###########################
  # Data Manipulation / Model
  ###########################
  # FIX ME update with your username and password and CRUD Python module name
  username = &quot;aacuser&quot;
  password = &quot;monogoadmin&quot;
  shelter = AnimalShelter(username, password)
  # class read method must support return of cursor object and accept projection json input
  df = pd.DataFrame.from_records(shelter.read({}))
  
  #########################
  # Dashboard Layout / View
  #########################
  app = JupyterDash('Dash DataTable Only')
  
  app.layout = html.Div([
      html.Div(id='hidden-div', style={'display':'none'}),
      html.Center(html.B(html.H1('SNHU CS-340 Dashboard'))),
      html.Hr(),
      dash_table.DataTable(
          id='datatable-interactivity',
          columns=[
              {&quot;name&quot;: i, &quot;id&quot;: i, &quot;deletable&quot;: False, &quot;selectable&quot;: True} for i in df.columns
          ],
          data=df.to_dict('records'),
          #FIXME: Set up the features for your interactive data table to make it user-friendly for your client
          editable=False,
          filter_action=&quot;native&quot;,
          sort_action=&quot;native&quot;,
          sort_mode=&quot;multi&quot;,
          column_selectable=False,
          row_selectable=False,
          row_deletable=False,
          selected_columns=[],
          selected_rows=[],
          page_action=&quot;native&quot;,
          page_current= 0,
          page_size= 10,
      ),
      html.Br(),
       html.Hr(),
       
  ])
  
  
  app
  </code></pre>
  <p>This is the .py file:</p>
  <pre><code>import pymongo
  from pymongo import MongoClient
  from bson.objectid import ObjectId
  
  class AnimalShelter(object):
      &quot;&quot;&quot;CRUD operations for Animal collection in Mongodatabase&quot;&quot;&quot;
      #Initializes MongoClient
      def __init__(self, username, password):
          self.client = MongoClient('mongodb://127.0.0.1:38574', username='aacuser', password='mongoadmin', authSource='AAC', authMechanism='SCRAM-SHA-1')
          self.database = self.client['AAC']  
      #Implement create method
      def create(self, data):
          if data is not None:
              return self.database.animals.insert_one(data)
          else:
              raise Exception(&quot;Nothing to save, because data parameter is empty&quot;)
      #Implement read method
      def read(self, data):
          if data is not None:
              return self.database.animals.find(data)
          else:
              raise Exception(&quot;Nothing to read, because data parameter is empty&quot;)
      #Implement update method
      def update(self, data):
          if find is not None:
              return self.database.animals.update_one(data)
          else:
              raise Exception(&quot;Nothing to update, because data parameter is empty&quot;)
      #Implement delete method
      def delete(self, data):
          if data is not None:
              return self.database.animals.delete_one(data)
          else:
              raise Exception(&quot;Nothing to delete, because data parameter is empty&quot;)
  </code></pre>
  <p>Any help is greatly appreciated!</p>
  <p>EDIT:</p>
  <p><a href="https://i.stack.imgur.com/f00Tv.png" rel="nofollow noreferrer">Here is the requested screen shot</a></p>
  <p>I also wanted to note that I cleared cache and cookies and this had no effect.</p>