prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  list index out of range exception when importing graph_objs
  Hi, I installed the latest version of plotly today (2.0.6) and ran into the following error with the first import line:
  
  ```python
  import plotly.graph_objs as go
  ```
  
  It gives me the following error:
  ```python
  /usr/local/lib/python2.7/site-packages/plotly/__init__.py in <module>()
       29 from __future__ import absolute_import
       30
  ---> 31 from plotly import (plotly, dashboard_objs, graph_objs, grid_objs, tools,
       32                     utils, session, offline, colors)
       33 from plotly.version import __version__
  
  /usr/local/lib/python2.7/site-packages/plotly/plotly/__init__.py in <module>()
        8
        9 """
  ---> 10 from . plotly import (
       11     sign_in,
       12     update_plot_options,
  
  /usr/local/lib/python2.7/site-packages/plotly/plotly/plotly.py in <module>()
       27 from requests.compat import json as _json
       28
  ---> 29 from plotly import exceptions, files, session, tools, utils
       30 from plotly.api import v1, v2
       31 from plotly.plotly import chunked_requests
  
  /usr/local/lib/python2.7/site-packages/plotly/tools.py in <module>()
       58
       59 ipython_core_display = optional_imports.get_module('IPython.core.display')
  ---> 60 matplotlylib = optional_imports.get_module('plotly.matplotlylib')
       61 sage_salvus = optional_imports.get_module('sage_salvus')
       62
  
  /usr/local/lib/python2.7/site-packages/plotly/optional_imports.pyc in get_module(name)
       21     if name not in _not_importable:
       22         try:
  ---> 23             return import_module(name)
       24         except ImportError:
       25             _not_importable.add(name)
  
  /usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.pyc in import_module(name, package)
       35             level += 1
       36         name = _resolve_name(name[level:], package, level)
  ---> 37     __import__(name)
       38     return sys.modules[name]
  
  /usr/local/lib/python2.7/site-packages/plotly/matplotlylib/__init__.py in <module>()
       12 from __future__ import absolute_import
       13
  ---> 14 from plotly.matplotlylib.renderer import PlotlyRenderer
       15 from plotly.matplotlylib.mplexporter import Exporter
  
  /usr/local/lib/python2.7/site-packages/plotly/matplotlylib/renderer.py in <module>()
       11 import warnings
       12
  ---> 13 import plotly.graph_objs as go
       14 from plotly.matplotlylib.mplexporter import Renderer
       15 from plotly.matplotlylib import mpltools
  
  /usr/local/lib/python2.7/site-packages/plotly/graph_objs/__init__.py in <module>()
       12 from __future__ import absolute_import
       13
  ---> 14 from plotly.graph_objs.graph_objs import *  # this is protected with __all__
  
  /usr/local/lib/python2.7/site-packages/plotly/graph_objs/graph_objs.py in <module>()
       32 import six
       33
  ---> 34 from plotly import exceptions, graph_reference
       35 from plotly.graph_objs import graph_objs_tools
       36
  
  /usr/local/lib/python2.7/site-packages/plotly/graph_reference.py in <module>()
      230
      231
  --> 232 @utils.memoize()
      233 def _get_valid_attributes(object_name, parent_object_names):
      234     attributes = get_attributes_dicts(object_name, parent_object_names)
  
  /usr/local/lib/python2.7/site-packages/plotly/utils.pyc in memoize(maxsize)
      490         return result
      491
  --> 492     return decorator(_memoize)
  
  /usr/local/lib/python2.7/site-packages/decorator.pyc in decorator(caller, _func)
      256         callerfunc = caller
      257         doc = caller.__doc__
  --> 258         fun = getfullargspec(callerfunc).args[0]  # first arg
      259     else:  # assume caller is an object with a __call__ method
      260         name = caller.__class__.__name__.lower()
  
  IndexError: list index out of range
  ```
  
  Please advise on how I can fix this.
  
  --- END ISSUE ---
  
  Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
  --- BEGIN FILES ---
  Path: `setup.py`
  Content:
  ```
  1 from setuptools import setup
  2 
  3 exec (open('plotly/version.py').read())
  4 
  5 
  6 def readme():
  7     with open('README.rst') as f:
  8         return f.read()
  9 
  10 
  11 setup(name='plotly',
  12       version=__version__,
  13       use_2to3=False,
  14       author='Chris P',
  15       author_email='chris@plot.ly',
  16       maintainer='Chris P',
  17       maintainer_email='chris@plot.ly',
  18       url='https://plot.ly/python/',
  19       description="Python plotting library for collaborative, "
  20                   "interactive, publication-quality graphs.",
  21       long_description=readme(),
  22       classifiers=[
  23           'Development Status :: 4 - Beta',
  24           'Programming Language :: Python :: 2',
  25           'Programming Language :: Python :: 2.7',
  26           'Programming Language :: Python :: 3',
  27           'Programming Language :: Python :: 3.3',
  28           'Programming Language :: Python :: 3.4',
  29           'Programming Language :: Python :: 3.5',
  30           'Topic :: Scientific/Engineering :: Visualization',
  31       ],
  32       license='MIT',
  33       packages=['plotly',
  34                 'plotly/api',
  35                 'plotly/api/v1',
  36                 'plotly/api/v2',
  37                 'plotly/dashboard_objs',
  38                 'plotly/plotly',
  39                 'plotly/plotly/chunked_requests',
  40                 'plotly/figure_factory',
  41                 'plotly/graph_objs',
  42                 'plotly/grid_objs',
  43                 'plotly/widgets',
  44                 'plotly/offline',
  45                 'plotly/matplotlylib',
  46                 'plotly/matplotlylib/mplexporter',
  47                 'plotly/matplotlylib/mplexporter/renderers'],
  48       package_data={'plotly': ['package_data/*']},
  49       install_requires=['decorator',
  50                         'nbformat>=4.2',
  51                         'pytz',
  52                         'requests',
  53                         'six'],
  54       zip_safe=False)
  55
  ```
  
  Path: `plotly/version.py`
  Content:
  ```
  1 __version__ = '2.0.8'
  2
  ```
  --- END FILES ---
  
  Please first localize the bug based on the issue statement, and then generate a patch according to the `git diff` format fenced by three backticks.
  
  Here is an example:
  
  ```diff
  diff --git a/examples/server_async.py b/examples/server_async.py
  --- a/examples/server_async.py
  +++ b/examples/server_async.py
  @@ -313,4 +313,4 @@
   
   
   if __name__ == "__main__":
  -    asyncio.run(run_async_server("."), debug=True)
  +    asyncio.run(run_async_server(), debug=True)
  diff --git a/examples/server_sync.py b/examples/server_sync.py
  --- a/examples/server_sync.py
  +++ b/examples/server_sync.py
  @@ -313,5 +313,5 @@
   
   
   if __name__ == "__main__":
  -    server = run_sync_server(".")
  +    server = run_sync_server()
       server.shutdown()
  
  ```
  
golden_diff: diff --git a/plotly/version.py b/plotly/version.py
  --- a/plotly/version.py
  +++ b/plotly/version.py
  @@ -1 +1 @@
  -__version__ = '2.0.8'
  +__version__ = '2.0.9'
  diff --git a/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -46,7 +46,7 @@
                   'plotly/matplotlylib/mplexporter',
                   'plotly/matplotlylib/mplexporter/renderers'],
         package_data={'plotly': ['package_data/*']},
  -      install_requires=['decorator',
  +      install_requires=['decorator>=4.0.6',
                           'nbformat>=4.2',
                           'pytz',
                           'requests',
  
verification_info: {"golden_diff": "diff --git a/plotly/version.py b/plotly/version.py\n--- a/plotly/version.py\n+++ b/plotly/version.py\n@@ -1 +1 @@\n-__version__ = '2.0.8'\n+__version__ = '2.0.9'\ndiff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -46,7 +46,7 @@\n                 'plotly/matplotlylib/mplexporter',\n                 'plotly/matplotlylib/mplexporter/renderers'],\n       package_data={'plotly': ['package_data/*']},\n-      install_requires=['decorator',\n+      install_requires=['decorator>=4.0.6',\n                         'nbformat>=4.2',\n                         'pytz',\n                         'requests',\n", "issue": "list index out of range exception when importing graph_objs\nHi, I installed the latest version of plotly today (2.0.6) and ran into the following error with the first import line:\r\n\r\n```python\r\nimport plotly.graph_objs as go\r\n```\r\n\r\nIt gives me the following error:\r\n```python\r\n/usr/local/lib/python2.7/site-packages/plotly/__init__.py in <module>()\r\n     29 from __future__ import absolute_import\r\n     30\r\n---> 31 from plotly import (plotly, dashboard_objs, graph_objs, grid_objs, tools,\r\n     32                     utils, session, offline, colors)\r\n     33 from plotly.version import __version__\r\n\r\n/usr/local/lib/python2.7/site-packages/plotly/plotly/__init__.py in <module>()\r\n      8\r\n      9 \"\"\"\r\n---> 10 from . plotly import (\r\n     11     sign_in,\r\n     12     update_plot_options,\r\n\r\n/usr/local/lib/python2.7/site-packages/plotly/plotly/plotly.py in <module>()\r\n     27 from requests.compat import json as _json\r\n     28\r\n---> 29 from plotly import exceptions, files, session, tools, utils\r\n     30 from plotly.api import v1, v2\r\n     31 from plotly.plotly import chunked_requests\r\n\r\n/usr/local/lib/python2.7/site-packages/plotly/tools.py in <module>()\r\n     58\r\n     59 ipython_core_display = optional_imports.get_module('IPython.core.display')\r\n---> 60 matplotlylib = optional_imports.get_module('plotly.matplotlylib')\r\n     61 sage_salvus = optional_imports.get_module('sage_salvus')\r\n     62\r\n\r\n/usr/local/lib/python2.7/site-packages/plotly/optional_imports.pyc in get_module(name)\r\n     21     if name not in _not_importable:\r\n     22         try:\r\n---> 23             return import_module(name)\r\n     24         except ImportError:\r\n     25             _not_importable.add(name)\r\n\r\n/usr/local/Cellar/python/2.7.9/Frameworks/Python.framework/Versions/2.7/lib/python2.7/importlib/__init__.pyc in import_module(name, package)\r\n     35             level += 1\r\n     36         name = _resolve_name(name[level:], package, level)\r\n---> 37     __import__(name)\r\n     38     return sys.modules[name]\r\n\r\n/usr/local/lib/python2.7/site-packages/plotly/matplotlylib/__init__.py in <module>()\r\n     12 from __future__ import absolute_import\r\n     13\r\n---> 14 from plotly.matplotlylib.renderer import PlotlyRenderer\r\n     15 from plotly.matplotlylib.mplexporter import Exporter\r\n\r\n/usr/local/lib/python2.7/site-packages/plotly/matplotlylib/renderer.py in <module>()\r\n     11 import warnings\r\n     12\r\n---> 13 import plotly.graph_objs as go\r\n     14 from plotly.matplotlylib.mplexporter import Renderer\r\n     15 from plotly.matplotlylib import mpltools\r\n\r\n/usr/local/lib/python2.7/site-packages/plotly/graph_objs/__init__.py in <module>()\r\n     12 from __future__ import absolute_import\r\n     13\r\n---> 14 from plotly.graph_objs.graph_objs import *  # this is protected with __all__\r\n\r\n/usr/local/lib/python2.7/site-packages/plotly/graph_objs/graph_objs.py in <module>()\r\n     32 import six\r\n     33\r\n---> 34 from plotly import exceptions, graph_reference\r\n     35 from plotly.graph_objs import graph_objs_tools\r\n     36\r\n\r\n/usr/local/lib/python2.7/site-packages/plotly/graph_reference.py in <module>()\r\n    230\r\n    231\r\n--> 232 @utils.memoize()\r\n    233 def _get_valid_attributes(object_name, parent_object_names):\r\n    234     attributes = get_attributes_dicts(object_name, parent_object_names)\r\n\r\n/usr/local/lib/python2.7/site-packages/plotly/utils.pyc in memoize(maxsize)\r\n    490         return result\r\n    491\r\n--> 492     return decorator(_memoize)\r\n\r\n/usr/local/lib/python2.7/site-packages/decorator.pyc in decorator(caller, _func)\r\n    256         callerfunc = caller\r\n    257         doc = caller.__doc__\r\n--> 258         fun = getfullargspec(callerfunc).args[0]  # first arg\r\n    259     else:  # assume caller is an object with a __call__ method\r\n    260         name = caller.__class__.__name__.lower()\r\n\r\nIndexError: list index out of range\r\n```\r\n\r\nPlease advise on how I can fix this.\n", "before_files": [{"content": "from setuptools import setup\n\nexec (open('plotly/version.py').read())\n\n\ndef readme():\n    with open('README.rst') as f:\n        return f.read()\n\n\nsetup(name='plotly',\n      version=__version__,\n      use_2to3=False,\n      author='Chris P',\n      author_email='chris@plot.ly',\n      maintainer='Chris P',\n      maintainer_email='chris@plot.ly',\n      url='https://plot.ly/python/',\n      description=\"Python plotting library for collaborative, \"\n                  \"interactive, publication-quality graphs.\",\n      long_description=readme(),\n      classifiers=[\n          'Development Status :: 4 - Beta',\n          'Programming Language :: Python :: 2',\n          'Programming Language :: Python :: 2.7',\n          'Programming Language :: Python :: 3',\n          'Programming Language :: Python :: 3.3',\n          'Programming Language :: Python :: 3.4',\n          'Programming Language :: Python :: 3.5',\n          'Topic :: Scientific/Engineering :: Visualization',\n      ],\n      license='MIT',\n      packages=['plotly',\n                'plotly/api',\n                'plotly/api/v1',\n                'plotly/api/v2',\n                'plotly/dashboard_objs',\n                'plotly/plotly',\n                'plotly/plotly/chunked_requests',\n                'plotly/figure_factory',\n                'plotly/graph_objs',\n                'plotly/grid_objs',\n                'plotly/widgets',\n                'plotly/offline',\n                'plotly/matplotlylib',\n                'plotly/matplotlylib/mplexporter',\n                'plotly/matplotlylib/mplexporter/renderers'],\n      package_data={'plotly': ['package_data/*']},\n      install_requires=['decorator',\n                        'nbformat>=4.2',\n                        'pytz',\n                        'requests',\n                        'six'],\n      zip_safe=False)\n", "path": "setup.py"}, {"content": "__version__ = '2.0.8'\n", "path": "plotly/version.py"}], "after_files": [{"content": "from setuptools import setup\n\nexec (open('plotly/version.py').read())\n\n\ndef readme():\n    with open('README.rst') as f:\n        return f.read()\n\n\nsetup(name='plotly',\n      version=__version__,\n      use_2to3=False,\n      author='Chris P',\n      author_email='chris@plot.ly',\n      maintainer='Chris P',\n      maintainer_email='chris@plot.ly',\n      url='https://plot.ly/python/',\n      description=\"Python plotting library for collaborative, \"\n                  \"interactive, publication-quality graphs.\",\n      long_description=readme(),\n      classifiers=[\n          'Development Status :: 4 - Beta',\n          'Programming Language :: Python :: 2',\n          'Programming Language :: Python :: 2.7',\n          'Programming Language :: Python :: 3',\n          'Programming Language :: Python :: 3.3',\n          'Programming Language :: Python :: 3.4',\n          'Programming Language :: Python :: 3.5',\n          'Topic :: Scientific/Engineering :: Visualization',\n      ],\n      license='MIT',\n      packages=['plotly',\n                'plotly/api',\n                'plotly/api/v1',\n                'plotly/api/v2',\n                'plotly/dashboard_objs',\n                'plotly/plotly',\n                'plotly/plotly/chunked_requests',\n                'plotly/figure_factory',\n                'plotly/graph_objs',\n                'plotly/grid_objs',\n                'plotly/widgets',\n                'plotly/offline',\n                'plotly/matplotlylib',\n                'plotly/matplotlylib/mplexporter',\n                'plotly/matplotlylib/mplexporter/renderers'],\n      package_data={'plotly': ['package_data/*']},\n      install_requires=['decorator>=4.0.6',\n                        'nbformat>=4.2',\n                        'pytz',\n                        'requests',\n                        'six'],\n      zip_safe=False)\n", "path": "setup.py"}, {"content": "__version__ = '2.0.9'\n", "path": "plotly/version.py"}]}