prompt: 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()
  
  ```
  
golden_diff: 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()
  
verification_info: {"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"}]}