We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Add required packages at the top of tutorials to run on colab


--- 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 # Copyright Contributors to the Pyro project.
2 # SPDX-License-Identifier: Apache-2.0
3 
4 from __future__ import absolute_import, division, print_function
5 
6 import os
7 import sys
8 
9 from setuptools import find_packages, setup
10 
11 PROJECT_PATH = os.path.dirname(os.path.abspath(__file__))
12 
13 # Find version
14 for line in open(os.path.join(PROJECT_PATH, "numpyro", "version.py")):
15     if line.startswith("__version__ = "):
16         version = line.strip().split()[2][1:-1]
17 
18 # READ README.md for long description on PyPi.
19 try:
20     long_description = open("README.md", encoding="utf-8").read()
21 except Exception as e:
22     sys.stderr.write("Failed to read README.md:\n  {}\n".format(e))
23     sys.stderr.flush()
24     long_description = ""
25 
26 
27 setup(
28     name="numpyro",
29     version=version,
30     description="Pyro PPL on NumPy",
31     packages=find_packages(include=["numpyro", "numpyro.*"]),
32     url="https://github.com/pyro-ppl/numpyro",
33     author="Uber AI Labs",
34     install_requires=[
35         "jax>=0.2.11",
36         "jaxlib>=0.1.62",
37         "tqdm",
38     ],
39     extras_require={
40         "doc": [
41             "ipython",  # sphinx needs this to render codes
42             "nbsphinx",
43             "sphinx",
44             "sphinx_rtd_theme",
45             "sphinx-gallery",
46         ],
47         "test": [
48             "black",
49             "flake8",
50             "isort>=5.0",
51             "pytest>=4.1",
52             "pyro-api>=0.1.1",
53             "scipy>=1.1",
54         ],
55         "dev": [
56             "dm-haiku",
57             "flax",
58             "funsor @ git+https://github.com/pyro-ppl/funsor.git@d5574988665dd822ec64e41f2b54b9dc929959dc",
59             "graphviz",
60             "tensorflow_probability",
61         ],
62         "examples": ["arviz", "jupyter", "matplotlib", "pandas", "seaborn"],
63     },
64     long_description=long_description,
65     long_description_content_type="text/markdown",
66     keywords="probabilistic machine learning bayesian statistics",
67     license="Apache License 2.0",
68     classifiers=[
69         "Intended Audience :: Developers",
70         "Intended Audience :: Education",
71         "Intended Audience :: Science/Research",
72         "License :: OSI Approved :: Apache Software License",
73         "Operating System :: POSIX :: Linux",
74         "Operating System :: MacOS :: MacOS X",
75         "Programming Language :: Python :: 3.6",
76         "Programming Language :: Python :: 3.7",
77         "Programming Language :: Python :: 3.8",
78         "Programming Language :: Python :: 3.9",
79     ],
80 )
81
```
--- 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
@@ -55,9 +55,12 @@
         "dev": [
             "dm-haiku",
             "flax",
+            # TODO: bump funsor version before the release
             "funsor @ git+https://github.com/pyro-ppl/funsor.git@d5574988665dd822ec64e41f2b54b9dc929959dc",
             "graphviz",
-            "tensorflow_probability",
+            # TODO: change this to tensorflow_probability>0.12.1 when the next version
+            # of tfp is released. The current release is not compatible with jax>=0.2.12.
+            "tfp-nightly",
         ],
         "examples": ["arviz", "jupyter", "matplotlib", "pandas", "seaborn"],
     },

{"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -55,9 +55,12 @@\n         \"dev\": [\n             \"dm-haiku\",\n             \"flax\",\n+            # TODO: bump funsor version before the release\n             \"funsor @ git+https://github.com/pyro-ppl/funsor.git@d5574988665dd822ec64e41f2b54b9dc929959dc\",\n             \"graphviz\",\n-            \"tensorflow_probability\",\n+            # TODO: change this to tensorflow_probability>0.12.1 when the next version\n+            # of tfp is released. The current release is not compatible with jax>=0.2.12.\n+            \"tfp-nightly\",\n         ],\n         \"examples\": [\"arviz\", \"jupyter\", \"matplotlib\", \"pandas\", \"seaborn\"],\n     },\n", "issue": "Add required packages at the top of tutorials to run on colab\n\n", "before_files": [{"content": "# Copyright Contributors to the Pyro project.\n# SPDX-License-Identifier: Apache-2.0\n\nfrom __future__ import absolute_import, division, print_function\n\nimport os\nimport sys\n\nfrom setuptools import find_packages, setup\n\nPROJECT_PATH = os.path.dirname(os.path.abspath(__file__))\n\n# Find version\nfor line in open(os.path.join(PROJECT_PATH, \"numpyro\", \"version.py\")):\n    if line.startswith(\"__version__ = \"):\n        version = line.strip().split()[2][1:-1]\n\n# READ README.md for long description on PyPi.\ntry:\n    long_description = open(\"README.md\", encoding=\"utf-8\").read()\nexcept Exception as e:\n    sys.stderr.write(\"Failed to read README.md:\\n  {}\\n\".format(e))\n    sys.stderr.flush()\n    long_description = \"\"\n\n\nsetup(\n    name=\"numpyro\",\n    version=version,\n    description=\"Pyro PPL on NumPy\",\n    packages=find_packages(include=[\"numpyro\", \"numpyro.*\"]),\n    url=\"https://github.com/pyro-ppl/numpyro\",\n    author=\"Uber AI Labs\",\n    install_requires=[\n        \"jax>=0.2.11\",\n        \"jaxlib>=0.1.62\",\n        \"tqdm\",\n    ],\n    extras_require={\n        \"doc\": [\n            \"ipython\",  # sphinx needs this to render codes\n            \"nbsphinx\",\n            \"sphinx\",\n            \"sphinx_rtd_theme\",\n            \"sphinx-gallery\",\n        ],\n        \"test\": [\n            \"black\",\n            \"flake8\",\n            \"isort>=5.0\",\n            \"pytest>=4.1\",\n            \"pyro-api>=0.1.1\",\n            \"scipy>=1.1\",\n        ],\n        \"dev\": [\n            \"dm-haiku\",\n            \"flax\",\n            \"funsor @ git+https://github.com/pyro-ppl/funsor.git@d5574988665dd822ec64e41f2b54b9dc929959dc\",\n            \"graphviz\",\n            \"tensorflow_probability\",\n        ],\n        \"examples\": [\"arviz\", \"jupyter\", \"matplotlib\", \"pandas\", \"seaborn\"],\n    },\n    long_description=long_description,\n    long_description_content_type=\"text/markdown\",\n    keywords=\"probabilistic machine learning bayesian statistics\",\n    license=\"Apache License 2.0\",\n    classifiers=[\n        \"Intended Audience :: Developers\",\n        \"Intended Audience :: Education\",\n        \"Intended Audience :: Science/Research\",\n        \"License :: OSI Approved :: Apache Software License\",\n        \"Operating System :: POSIX :: Linux\",\n        \"Operating System :: MacOS :: MacOS X\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Programming Language :: Python :: 3.8\",\n        \"Programming Language :: Python :: 3.9\",\n    ],\n)\n", "path": "setup.py"}], "after_files": [{"content": "# Copyright Contributors to the Pyro project.\n# SPDX-License-Identifier: Apache-2.0\n\nfrom __future__ import absolute_import, division, print_function\n\nimport os\nimport sys\n\nfrom setuptools import find_packages, setup\n\nPROJECT_PATH = os.path.dirname(os.path.abspath(__file__))\n\n# Find version\nfor line in open(os.path.join(PROJECT_PATH, \"numpyro\", \"version.py\")):\n    if line.startswith(\"__version__ = \"):\n        version = line.strip().split()[2][1:-1]\n\n# READ README.md for long description on PyPi.\ntry:\n    long_description = open(\"README.md\", encoding=\"utf-8\").read()\nexcept Exception as e:\n    sys.stderr.write(\"Failed to read README.md:\\n  {}\\n\".format(e))\n    sys.stderr.flush()\n    long_description = \"\"\n\n\nsetup(\n    name=\"numpyro\",\n    version=version,\n    description=\"Pyro PPL on NumPy\",\n    packages=find_packages(include=[\"numpyro\", \"numpyro.*\"]),\n    url=\"https://github.com/pyro-ppl/numpyro\",\n    author=\"Uber AI Labs\",\n    install_requires=[\n        \"jax>=0.2.11\",\n        \"jaxlib>=0.1.62\",\n        \"tqdm\",\n    ],\n    extras_require={\n        \"doc\": [\n            \"ipython\",  # sphinx needs this to render codes\n            \"nbsphinx\",\n            \"sphinx\",\n            \"sphinx_rtd_theme\",\n            \"sphinx-gallery\",\n        ],\n        \"test\": [\n            \"black\",\n            \"flake8\",\n            \"isort>=5.0\",\n            \"pytest>=4.1\",\n            \"pyro-api>=0.1.1\",\n            \"scipy>=1.1\",\n        ],\n        \"dev\": [\n            \"dm-haiku\",\n            \"flax\",\n            # TODO: bump funsor version before the release\n            \"funsor @ git+https://github.com/pyro-ppl/funsor.git@d5574988665dd822ec64e41f2b54b9dc929959dc\",\n            \"graphviz\",\n            # TODO: change this to tensorflow_probability>0.12.1 when the next version\n            # of tfp is released. The current release is not compatible with jax>=0.2.12.\n            \"tfp-nightly\",\n        ],\n        \"examples\": [\"arviz\", \"jupyter\", \"matplotlib\", \"pandas\", \"seaborn\"],\n    },\n    long_description=long_description,\n    long_description_content_type=\"text/markdown\",\n    keywords=\"probabilistic machine learning bayesian statistics\",\n    license=\"Apache License 2.0\",\n    classifiers=[\n        \"Intended Audience :: Developers\",\n        \"Intended Audience :: Education\",\n        \"Intended Audience :: Science/Research\",\n        \"License :: OSI Approved :: Apache Software License\",\n        \"Operating System :: POSIX :: Linux\",\n        \"Operating System :: MacOS :: MacOS X\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Programming Language :: Python :: 3.8\",\n        \"Programming Language :: Python :: 3.9\",\n    ],\n)\n", "path": "setup.py"}]}