We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Fix `ModuleNotFoundError: No module named 'monitoring'`
Looks like this bug was introduced with the recent merge of monitoring back into the parsl repo.

```
Traceback (most recent call last):
  File "/Users/awoodard/software/miniconda3/bin/parsl-visualize", line 11, in <module>
    load_entry_point('parsl==0.7.2', 'console_scripts', 'parsl-visualize')()
  File "/Users/awoodard/software/miniconda3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 484, in load_entry_point
    return get_distribution(dist).load_entry_point(group, name)
  File "/Users/awoodard/software/miniconda3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2707, in load_entry_point
    return ep.load()
  File "/Users/awoodard/software/miniconda3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2325, in load
    return self.resolve()
  File "/Users/awoodard/software/miniconda3/lib/python3.7/site-packages/pkg_resources/__init__.py", line 2331, in resolve
    module = __import__(self.module_name, fromlist=['__name__'], level=0)
ModuleNotFoundError: No module named 'monitoring'
```

--- 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, find_packages
2 
3 with open('parsl/version.py') as f:
4     exec(f.read())
5 
6 with open('requirements.txt') as f:
7     install_requires = f.readlines()
8 
9 extras_require = {
10     'monitoring' : [
11         'psutil',
12         'sqlalchemy',
13         'sqlalchemy_utils',
14         'pydot',
15         'networkx',
16         'Flask',
17         'flask_sqlalchemy',
18         'pandas',
19         'plotly',
20         'python-daemon'
21     ],
22     'aws' : ['boto3'],
23     'kubernetes' : ['kubernetes'],
24     'extreme_scale' : ['mpi4py'],
25     'docs' : ['nbsphinx', 'sphinx_rtd_theme'],
26     'google_cloud' : ['google-auth', 'google-api-python-client'],
27     'gssapi' : ['python-gssapi'],
28 }
29 extras_require['all'] = sum(extras_require.values(), [])
30 
31 setup(
32     name='parsl',
33     version=VERSION,
34     description='Simple data dependent workflows in Python',
35     long_description='Simple parallel workflows system for Python',
36     url='https://github.com/Parsl/parsl',
37     author='The Parsl Team',
38     author_email='parsl@googlegroups.com',
39     license='Apache 2.0',
40     download_url='https://github.com/Parsl/parsl/archive/{}.tar.gz'.format(VERSION),
41     include_package_data=True,
42     packages=find_packages(),
43     install_requires=install_requires,
44     scripts = ['parsl/executors/high_throughput/process_worker_pool.py',
45                'parsl/executors/extreme_scale/mpi_worker_pool.py',
46                'parsl/executors/low_latency/lowlatency_worker.py',
47     ],
48     extras_require=extras_require,
49     classifiers=[
50         # Maturity
51         'Development Status :: 3 - Alpha',
52         # Intended audience
53         'Intended Audience :: Developers',
54         # Licence, must match with licence above
55         'License :: OSI Approved :: Apache Software License',
56         # Python versions supported
57         'Programming Language :: Python :: 3.5',
58         'Programming Language :: Python :: 3.6',
59     ],
60     keywords=['Workflows', 'Scientific computing'],
61     entry_points={'console_scripts':
62       [
63        'parsl-globus-auth=parsl.data_provider.globus:cli_run',
64        'parsl-visualize=monitoring.visualization.app:cli_run',
65       ]}
66 )
67
```
--- 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()

```

diff --git a/setup.py b/setup.py
--- a/setup.py
+++ b/setup.py
@@ -61,6 +61,6 @@
     entry_points={'console_scripts':
       [
        'parsl-globus-auth=parsl.data_provider.globus:cli_run',
-       'parsl-visualize=monitoring.visualization.app:cli_run',
+       'parsl-visualize=parsl.monitoring.visualization.app:cli_run',
       ]}
 )

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -61,6 +61,6 @@\n     entry_points={'console_scripts':\n       [\n        'parsl-globus-auth=parsl.data_provider.globus:cli_run',\n-       'parsl-visualize=monitoring.visualization.app:cli_run',\n+       'parsl-visualize=parsl.monitoring.visualization.app:cli_run',\n       ]}\n )\n", "issue": "Fix `ModuleNotFoundError: No module named 'monitoring'`\nLooks like this bug was introduced with the recent merge of monitoring back into the parsl repo.\r\n\r\n```\r\nTraceback (most recent call last):\r\n  File \"/Users/awoodard/software/miniconda3/bin/parsl-visualize\", line 11, in <module>\r\n    load_entry_point('parsl==0.7.2', 'console_scripts', 'parsl-visualize')()\r\n  File \"/Users/awoodard/software/miniconda3/lib/python3.7/site-packages/pkg_resources/__init__.py\", line 484, in load_entry_point\r\n    return get_distribution(dist).load_entry_point(group, name)\r\n  File \"/Users/awoodard/software/miniconda3/lib/python3.7/site-packages/pkg_resources/__init__.py\", line 2707, in load_entry_point\r\n    return ep.load()\r\n  File \"/Users/awoodard/software/miniconda3/lib/python3.7/site-packages/pkg_resources/__init__.py\", line 2325, in load\r\n    return self.resolve()\r\n  File \"/Users/awoodard/software/miniconda3/lib/python3.7/site-packages/pkg_resources/__init__.py\", line 2331, in resolve\r\n    module = __import__(self.module_name, fromlist=['__name__'], level=0)\r\nModuleNotFoundError: No module named 'monitoring'\r\n```\n", "before_files": [{"content": "from setuptools import setup, find_packages\n\nwith open('parsl/version.py') as f:\n    exec(f.read())\n\nwith open('requirements.txt') as f:\n    install_requires = f.readlines()\n\nextras_require = {\n    'monitoring' : [\n        'psutil',\n        'sqlalchemy',\n        'sqlalchemy_utils',\n        'pydot',\n        'networkx',\n        'Flask',\n        'flask_sqlalchemy',\n        'pandas',\n        'plotly',\n        'python-daemon'\n    ],\n    'aws' : ['boto3'],\n    'kubernetes' : ['kubernetes'],\n    'extreme_scale' : ['mpi4py'],\n    'docs' : ['nbsphinx', 'sphinx_rtd_theme'],\n    'google_cloud' : ['google-auth', 'google-api-python-client'],\n    'gssapi' : ['python-gssapi'],\n}\nextras_require['all'] = sum(extras_require.values(), [])\n\nsetup(\n    name='parsl',\n    version=VERSION,\n    description='Simple data dependent workflows in Python',\n    long_description='Simple parallel workflows system for Python',\n    url='https://github.com/Parsl/parsl',\n    author='The Parsl Team',\n    author_email='parsl@googlegroups.com',\n    license='Apache 2.0',\n    download_url='https://github.com/Parsl/parsl/archive/{}.tar.gz'.format(VERSION),\n    include_package_data=True,\n    packages=find_packages(),\n    install_requires=install_requires,\n    scripts = ['parsl/executors/high_throughput/process_worker_pool.py',\n               'parsl/executors/extreme_scale/mpi_worker_pool.py',\n               'parsl/executors/low_latency/lowlatency_worker.py',\n    ],\n    extras_require=extras_require,\n    classifiers=[\n        # Maturity\n        'Development Status :: 3 - Alpha',\n        # Intended audience\n        'Intended Audience :: Developers',\n        # Licence, must match with licence above\n        'License :: OSI Approved :: Apache Software License',\n        # Python versions supported\n        'Programming Language :: Python :: 3.5',\n        'Programming Language :: Python :: 3.6',\n    ],\n    keywords=['Workflows', 'Scientific computing'],\n    entry_points={'console_scripts':\n      [\n       'parsl-globus-auth=parsl.data_provider.globus:cli_run',\n       'parsl-visualize=monitoring.visualization.app:cli_run',\n      ]}\n)\n", "path": "setup.py"}], "after_files": [{"content": "from setuptools import setup, find_packages\n\nwith open('parsl/version.py') as f:\n    exec(f.read())\n\nwith open('requirements.txt') as f:\n    install_requires = f.readlines()\n\nextras_require = {\n    'monitoring' : [\n        'psutil',\n        'sqlalchemy',\n        'sqlalchemy_utils',\n        'pydot',\n        'networkx',\n        'Flask',\n        'flask_sqlalchemy',\n        'pandas',\n        'plotly',\n        'python-daemon'\n    ],\n    'aws' : ['boto3'],\n    'kubernetes' : ['kubernetes'],\n    'extreme_scale' : ['mpi4py'],\n    'docs' : ['nbsphinx', 'sphinx_rtd_theme'],\n    'google_cloud' : ['google-auth', 'google-api-python-client'],\n    'gssapi' : ['python-gssapi'],\n}\nextras_require['all'] = sum(extras_require.values(), [])\n\nsetup(\n    name='parsl',\n    version=VERSION,\n    description='Simple data dependent workflows in Python',\n    long_description='Simple parallel workflows system for Python',\n    url='https://github.com/Parsl/parsl',\n    author='The Parsl Team',\n    author_email='parsl@googlegroups.com',\n    license='Apache 2.0',\n    download_url='https://github.com/Parsl/parsl/archive/{}.tar.gz'.format(VERSION),\n    include_package_data=True,\n    packages=find_packages(),\n    install_requires=install_requires,\n    scripts = ['parsl/executors/high_throughput/process_worker_pool.py',\n               'parsl/executors/extreme_scale/mpi_worker_pool.py',\n               'parsl/executors/low_latency/lowlatency_worker.py',\n    ],\n    extras_require=extras_require,\n    classifiers=[\n        # Maturity\n        'Development Status :: 3 - Alpha',\n        # Intended audience\n        'Intended Audience :: Developers',\n        # Licence, must match with licence above\n        'License :: OSI Approved :: Apache Software License',\n        # Python versions supported\n        'Programming Language :: Python :: 3.5',\n        'Programming Language :: Python :: 3.6',\n    ],\n    keywords=['Workflows', 'Scientific computing'],\n    entry_points={'console_scripts':\n      [\n       'parsl-globus-auth=parsl.data_provider.globus:cli_run',\n       'parsl-visualize=parsl.monitoring.visualization.app:cli_run',\n      ]}\n)\n", "path": "setup.py"}]}