We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Deduplicate example notebooks
Currently we have two sets of example notebooks for Feast
1. [Examples](https://github.com/gojek/feast/tree/master/examples/basic)
2. [Docker compose](https://github.com/gojek/feast/tree/master/infra/docker-compose/jupyter/notebooks)

The docker compose notebooks can be deduplicated so that all examples are only contained in the root of the project. This would make management easier.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `sdk/python/setup.py`
Content:
```
1 # Copyright 2019 The Feast Authors
2 #
3 # Licensed under the Apache License, Version 2.0 (the "License");
4 # you may not use this file except in compliance with the License.
5 # You may obtain a copy of the License at
6 #
7 #     https://www.apache.org/licenses/LICENSE-2.0
8 #
9 # Unless required by applicable law or agreed to in writing, software
10 # distributed under the License is distributed on an "AS IS" BASIS,
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
12 # See the License for the specific language governing permissions and
13 # limitations under the License.
14 
15 import os
16 
17 from setuptools import find_packages, setup
18 
19 NAME = "feast"
20 DESCRIPTION = "Python SDK for Feast"
21 URL = "https://github.com/gojek/feast"
22 AUTHOR = "Feast"
23 REQUIRES_PYTHON = ">=3.6.0"
24 
25 REQUIRED = [
26     "Click==7.*",
27     "google-api-core==1.14.*",
28     "google-auth==1.6.*",
29     "google-cloud-bigquery==1.18.*",
30     "google-cloud-storage==1.20.*",
31     "google-cloud-core==1.0.*",
32     "googleapis-common-protos==1.*",
33     "google-cloud-bigquery-storage==0.7.*",
34     "grpcio==1.*",
35     "pandas==0.*",
36     "pandavro==1.5.*",
37     "protobuf>=3.10",
38     "PyYAML==5.1.*",
39     "fastavro==0.*",
40     "kafka-python==1.*",
41     "tabulate==0.8.*",
42     "toml==0.10.*",
43     "tqdm==4.*",
44     "pyarrow>=0.15.1",
45     "numpy",
46     "google",
47     "confluent_kafka",
48 ]
49 
50 # README file from Feast repo root directory
51 README_FILE = os.path.join(os.path.dirname(__file__), "..", "..", "README.md")
52 with open(os.path.join(README_FILE), "r") as f:
53     LONG_DESCRIPTION = f.read()
54 
55 setup(
56     name=NAME,
57     author=AUTHOR,
58     description=DESCRIPTION,
59     long_description=LONG_DESCRIPTION,
60     long_description_content_type="text/markdown",
61     python_requires=REQUIRES_PYTHON,
62     url=URL,
63     packages=find_packages(exclude=("tests",)),
64     install_requires=REQUIRED,
65     # https://stackoverflow.com/questions/28509965/setuptools-development-requirements
66     # Install dev requirements with: pip install -e .[dev]
67     extras_require={"dev": ["mypy-protobuf==1.*", "grpcio-testing==1.*"]},
68     include_package_data=True,
69     license="Apache",
70     classifiers=[
71         # Trove classifiers
72         # Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers
73         "License :: OSI Approved :: Apache Software License",
74         "Programming Language :: Python",
75         "Programming Language :: Python :: 3",
76         "Programming Language :: Python :: 3.6",
77     ],
78     entry_points={"console_scripts": ["feast=feast.cli:cli"]},
79     use_scm_version={"root": "../..", "relative_to": __file__},
80     setup_requires=["setuptools_scm"],
81 )
82
```
--- 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/sdk/python/setup.py b/sdk/python/setup.py
--- a/sdk/python/setup.py
+++ b/sdk/python/setup.py
@@ -13,6 +13,7 @@
 # limitations under the License.
 
 import os
+import subprocess
 
 from setuptools import find_packages, setup
 
@@ -48,7 +49,13 @@
 ]
 
 # README file from Feast repo root directory
-README_FILE = os.path.join(os.path.dirname(__file__), "..", "..", "README.md")
+repo_root = (
+    subprocess.Popen(["git", "rev-parse", "--show-toplevel"], stdout=subprocess.PIPE)
+    .communicate()[0]
+    .rstrip()
+    .decode("utf-8")
+)
+README_FILE = os.path.join(repo_root, "README.md")
 with open(os.path.join(README_FILE), "r") as f:
     LONG_DESCRIPTION = f.read()

{"golden_diff": "diff --git a/sdk/python/setup.py b/sdk/python/setup.py\n--- a/sdk/python/setup.py\n+++ b/sdk/python/setup.py\n@@ -13,6 +13,7 @@\n # limitations under the License.\n \n import os\n+import subprocess\n \n from setuptools import find_packages, setup\n \n@@ -48,7 +49,13 @@\n ]\n \n # README file from Feast repo root directory\n-README_FILE = os.path.join(os.path.dirname(__file__), \"..\", \"..\", \"README.md\")\n+repo_root = (\n+    subprocess.Popen([\"git\", \"rev-parse\", \"--show-toplevel\"], stdout=subprocess.PIPE)\n+    .communicate()[0]\n+    .rstrip()\n+    .decode(\"utf-8\")\n+)\n+README_FILE = os.path.join(repo_root, \"README.md\")\n with open(os.path.join(README_FILE), \"r\") as f:\n     LONG_DESCRIPTION = f.read()\n", "issue": "Deduplicate example notebooks\nCurrently we have two sets of example notebooks for Feast\r\n1. [Examples](https://github.com/gojek/feast/tree/master/examples/basic)\r\n2. [Docker compose](https://github.com/gojek/feast/tree/master/infra/docker-compose/jupyter/notebooks)\r\n\r\nThe docker compose notebooks can be deduplicated so that all examples are only contained in the root of the project. This would make management easier.\n", "before_files": [{"content": "# Copyright 2019 The Feast Authors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     https://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport os\n\nfrom setuptools import find_packages, setup\n\nNAME = \"feast\"\nDESCRIPTION = \"Python SDK for Feast\"\nURL = \"https://github.com/gojek/feast\"\nAUTHOR = \"Feast\"\nREQUIRES_PYTHON = \">=3.6.0\"\n\nREQUIRED = [\n    \"Click==7.*\",\n    \"google-api-core==1.14.*\",\n    \"google-auth==1.6.*\",\n    \"google-cloud-bigquery==1.18.*\",\n    \"google-cloud-storage==1.20.*\",\n    \"google-cloud-core==1.0.*\",\n    \"googleapis-common-protos==1.*\",\n    \"google-cloud-bigquery-storage==0.7.*\",\n    \"grpcio==1.*\",\n    \"pandas==0.*\",\n    \"pandavro==1.5.*\",\n    \"protobuf>=3.10\",\n    \"PyYAML==5.1.*\",\n    \"fastavro==0.*\",\n    \"kafka-python==1.*\",\n    \"tabulate==0.8.*\",\n    \"toml==0.10.*\",\n    \"tqdm==4.*\",\n    \"pyarrow>=0.15.1\",\n    \"numpy\",\n    \"google\",\n    \"confluent_kafka\",\n]\n\n# README file from Feast repo root directory\nREADME_FILE = os.path.join(os.path.dirname(__file__), \"..\", \"..\", \"README.md\")\nwith open(os.path.join(README_FILE), \"r\") as f:\n    LONG_DESCRIPTION = f.read()\n\nsetup(\n    name=NAME,\n    author=AUTHOR,\n    description=DESCRIPTION,\n    long_description=LONG_DESCRIPTION,\n    long_description_content_type=\"text/markdown\",\n    python_requires=REQUIRES_PYTHON,\n    url=URL,\n    packages=find_packages(exclude=(\"tests\",)),\n    install_requires=REQUIRED,\n    # https://stackoverflow.com/questions/28509965/setuptools-development-requirements\n    # Install dev requirements with: pip install -e .[dev]\n    extras_require={\"dev\": [\"mypy-protobuf==1.*\", \"grpcio-testing==1.*\"]},\n    include_package_data=True,\n    license=\"Apache\",\n    classifiers=[\n        # Trove classifiers\n        # Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers\n        \"License :: OSI Approved :: Apache Software License\",\n        \"Programming Language :: Python\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.6\",\n    ],\n    entry_points={\"console_scripts\": [\"feast=feast.cli:cli\"]},\n    use_scm_version={\"root\": \"../..\", \"relative_to\": __file__},\n    setup_requires=[\"setuptools_scm\"],\n)\n", "path": "sdk/python/setup.py"}], "after_files": [{"content": "# Copyright 2019 The Feast Authors\n#\n# Licensed under the Apache License, Version 2.0 (the \"License\");\n# you may not use this file except in compliance with the License.\n# You may obtain a copy of the License at\n#\n#     https://www.apache.org/licenses/LICENSE-2.0\n#\n# Unless required by applicable law or agreed to in writing, software\n# distributed under the License is distributed on an \"AS IS\" BASIS,\n# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n# See the License for the specific language governing permissions and\n# limitations under the License.\n\nimport os\nimport subprocess\n\nfrom setuptools import find_packages, setup\n\nNAME = \"feast\"\nDESCRIPTION = \"Python SDK for Feast\"\nURL = \"https://github.com/gojek/feast\"\nAUTHOR = \"Feast\"\nREQUIRES_PYTHON = \">=3.6.0\"\n\nREQUIRED = [\n    \"Click==7.*\",\n    \"google-api-core==1.14.*\",\n    \"google-auth==1.6.*\",\n    \"google-cloud-bigquery==1.18.*\",\n    \"google-cloud-storage==1.20.*\",\n    \"google-cloud-core==1.0.*\",\n    \"googleapis-common-protos==1.*\",\n    \"google-cloud-bigquery-storage==0.7.*\",\n    \"grpcio==1.*\",\n    \"pandas==0.*\",\n    \"pandavro==1.5.*\",\n    \"protobuf>=3.10\",\n    \"PyYAML==5.1.*\",\n    \"fastavro==0.*\",\n    \"kafka-python==1.*\",\n    \"tabulate==0.8.*\",\n    \"toml==0.10.*\",\n    \"tqdm==4.*\",\n    \"pyarrow>=0.15.1\",\n    \"numpy\",\n    \"google\",\n    \"confluent_kafka\",\n]\n\n# README file from Feast repo root directory\nrepo_root = (\n    subprocess.Popen([\"git\", \"rev-parse\", \"--show-toplevel\"], stdout=subprocess.PIPE)\n    .communicate()[0]\n    .rstrip()\n    .decode(\"utf-8\")\n)\nREADME_FILE = os.path.join(repo_root, \"README.md\")\nwith open(os.path.join(README_FILE), \"r\") as f:\n    LONG_DESCRIPTION = f.read()\n\nsetup(\n    name=NAME,\n    author=AUTHOR,\n    description=DESCRIPTION,\n    long_description=LONG_DESCRIPTION,\n    long_description_content_type=\"text/markdown\",\n    python_requires=REQUIRES_PYTHON,\n    url=URL,\n    packages=find_packages(exclude=(\"tests\",)),\n    install_requires=REQUIRED,\n    # https://stackoverflow.com/questions/28509965/setuptools-development-requirements\n    # Install dev requirements with: pip install -e .[dev]\n    extras_require={\"dev\": [\"mypy-protobuf==1.*\", \"grpcio-testing==1.*\"]},\n    include_package_data=True,\n    license=\"Apache\",\n    classifiers=[\n        # Trove classifiers\n        # Full list: https://pypi.python.org/pypi?%3Aaction=list_classifiers\n        \"License :: OSI Approved :: Apache Software License\",\n        \"Programming Language :: Python\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.6\",\n    ],\n    entry_points={\"console_scripts\": [\"feast=feast.cli:cli\"]},\n    use_scm_version={\"root\": \"../..\", \"relative_to\": __file__},\n    setup_requires=[\"setuptools_scm\"],\n)\n", "path": "sdk/python/setup.py"}]}