We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Monitoring should be an optional extra
We should push this out as 0.8.1. This is needed by the nersc DESC stack.

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

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -7,6 +7,17 @@\n     install_requires = f.readlines()\n \n extras_require = {\n+    'monitoring' : [\n+        'sqlalchemy>=1.3.0,!=1.3.4',\n+        'sqlalchemy_utils',\n+        'pydot',\n+        'networkx',\n+        'Flask>=1.0.2',\n+        'flask_sqlalchemy',\n+        'pandas',\n+        'plotly',\n+        'python-daemon'\n+    ],\n     'aws' : ['boto3'],\n     'kubernetes' : ['kubernetes'],\n     'oauth_ssh' : ['oauth-ssh>=0.9'],\n", "issue": "Monitoring should be an optional extra\nWe should push this out as 0.8.1. This is needed by the nersc DESC stack.\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    'aws' : ['boto3'],\n    'kubernetes' : ['kubernetes'],\n    'oauth_ssh' : ['oauth-ssh>=0.9'],\n    'extreme_scale' : ['mpi4py'],\n    'docs' : ['nbsphinx', 'sphinx_rtd_theme'],\n    'google_cloud' : ['google-auth', 'google-api-python-client'],\n    'gssapi' : ['python-gssapi'],\n    'azure' : ['azure', 'msrestazure'],\n    'workqueue': ['work_queue'],\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               'parsl/executors/workqueue/workqueue_worker.py',\n    ],\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"}], "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        'sqlalchemy>=1.3.0,!=1.3.4',\n        'sqlalchemy_utils',\n        'pydot',\n        'networkx',\n        'Flask>=1.0.2',\n        'flask_sqlalchemy',\n        'pandas',\n        'plotly',\n        'python-daemon'\n    ],\n    'aws' : ['boto3'],\n    'kubernetes' : ['kubernetes'],\n    'oauth_ssh' : ['oauth-ssh>=0.9'],\n    'extreme_scale' : ['mpi4py'],\n    'docs' : ['nbsphinx', 'sphinx_rtd_theme'],\n    'google_cloud' : ['google-auth', 'google-api-python-client'],\n    'gssapi' : ['python-gssapi'],\n    'azure' : ['azure', 'msrestazure'],\n    'workqueue': ['work_queue'],\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               'parsl/executors/workqueue/workqueue_worker.py',\n    ],\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"}]}