prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Add OS constraint in PyPI
  Mention MLServer's OS constraints as metadata in `setup.py`, so that it becomes visible in pypi.org. 
  
  ```
  setup(...,
        classifiers=[
            'Operating System :: POSIX',
            ],
        )
  ```
  
  _Originally posted by @HugoMVale in https://github.com/SeldonIO/MLServer/issues/1022#issuecomment-1456788132_
              
  
  --- 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 import os
  2 
  3 from typing import Dict
  4 from setuptools import setup, find_packages
  5 
  6 ROOT_PATH = os.path.dirname(__file__)
  7 PKG_NAME = "mlserver"
  8 PKG_PATH = os.path.join(ROOT_PATH, PKG_NAME)
  9 
  10 
  11 def _load_version() -> str:
  12     version = ""
  13     version_path = os.path.join(PKG_PATH, "version.py")
  14     with open(version_path) as fp:
  15         version_module: Dict[str, str] = {}
  16         exec(fp.read(), version_module)
  17         version = version_module["__version__"]
  18 
  19     return version
  20 
  21 
  22 def _load_description() -> str:
  23     readme_path = os.path.join(ROOT_PATH, "README.md")
  24     with open(readme_path) as fp:
  25         return fp.read()
  26 
  27 
  28 env_marker_cpython = (
  29     "sys_platform != 'win32'"
  30     " and (sys_platform != 'cygwin'"
  31     " and platform_python_implementation != 'PyPy')"
  32 )
  33 
  34 setup(
  35     name=PKG_NAME,
  36     version=_load_version(),
  37     url="https://github.com/SeldonIO/MLServer.git",
  38     author="Seldon Technologies Ltd.",
  39     author_email="hello@seldon.io",
  40     description="ML server",
  41     include_package_data=True,
  42     packages=find_packages(exclude=["tests", "tests.*"]),
  43     install_requires=[
  44         "click",
  45         # 0.89.0: https://github.com/tiangolo/fastapi/issues/5861
  46         "fastapi >=0.88.0, <=0.89.1, !=0.89.0",
  47         "python-dotenv",
  48         "grpcio",
  49         # The importlib-resources backport is required to use some
  50         # functionality added in Python 3.10
  51         # https://setuptools.pypa.io/en/latest/userguide/datafiles.html#accessing-data-files-at-runtime
  52         "importlib-resources",
  53         "numpy",
  54         "pandas",
  55         "protobuf",
  56         "uvicorn",
  57         "starlette_exporter",
  58         "py-grpc-prometheus",
  59         "uvloop;" + env_marker_cpython,
  60         "aiokafka",
  61         "tritonclient[http]>=2.24",
  62         "aiofiles",
  63         "orjson",
  64     ],
  65     entry_points={"console_scripts": ["mlserver=mlserver.cli:main"]},
  66     long_description=_load_description(),
  67     long_description_content_type="text/markdown",
  68     license="Apache 2.0",
  69 )
  70
  ```
  --- 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/setup.py b/setup.py
  --- a/setup.py
  +++ b/setup.py
  @@ -37,6 +37,7 @@
       url="https://github.com/SeldonIO/MLServer.git",
       author="Seldon Technologies Ltd.",
       author_email="hello@seldon.io",
  +    classifiers=["Operating System :: POSIX", "Operating System :: MacOS"],
       description="ML server",
       include_package_data=True,
       packages=find_packages(exclude=["tests", "tests.*"]),
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -37,6 +37,7 @@\n     url=\"https://github.com/SeldonIO/MLServer.git\",\n     author=\"Seldon Technologies Ltd.\",\n     author_email=\"hello@seldon.io\",\n+    classifiers=[\"Operating System :: POSIX\", \"Operating System :: MacOS\"],\n     description=\"ML server\",\n     include_package_data=True,\n     packages=find_packages(exclude=[\"tests\", \"tests.*\"]),\n", "issue": "Add OS constraint in PyPI\nMention MLServer's OS constraints as metadata in `setup.py`, so that it becomes visible in pypi.org. \r\n\r\n```\r\nsetup(...,\r\n      classifiers=[\r\n          'Operating System :: POSIX',\r\n          ],\r\n      )\r\n```\r\n\r\n_Originally posted by @HugoMVale in https://github.com/SeldonIO/MLServer/issues/1022#issuecomment-1456788132_\r\n            \n", "before_files": [{"content": "import os\n\nfrom typing import Dict\nfrom setuptools import setup, find_packages\n\nROOT_PATH = os.path.dirname(__file__)\nPKG_NAME = \"mlserver\"\nPKG_PATH = os.path.join(ROOT_PATH, PKG_NAME)\n\n\ndef _load_version() -> str:\n    version = \"\"\n    version_path = os.path.join(PKG_PATH, \"version.py\")\n    with open(version_path) as fp:\n        version_module: Dict[str, str] = {}\n        exec(fp.read(), version_module)\n        version = version_module[\"__version__\"]\n\n    return version\n\n\ndef _load_description() -> str:\n    readme_path = os.path.join(ROOT_PATH, \"README.md\")\n    with open(readme_path) as fp:\n        return fp.read()\n\n\nenv_marker_cpython = (\n    \"sys_platform != 'win32'\"\n    \" and (sys_platform != 'cygwin'\"\n    \" and platform_python_implementation != 'PyPy')\"\n)\n\nsetup(\n    name=PKG_NAME,\n    version=_load_version(),\n    url=\"https://github.com/SeldonIO/MLServer.git\",\n    author=\"Seldon Technologies Ltd.\",\n    author_email=\"hello@seldon.io\",\n    description=\"ML server\",\n    include_package_data=True,\n    packages=find_packages(exclude=[\"tests\", \"tests.*\"]),\n    install_requires=[\n        \"click\",\n        # 0.89.0: https://github.com/tiangolo/fastapi/issues/5861\n        \"fastapi >=0.88.0, <=0.89.1, !=0.89.0\",\n        \"python-dotenv\",\n        \"grpcio\",\n        # The importlib-resources backport is required to use some\n        # functionality added in Python 3.10\n        # https://setuptools.pypa.io/en/latest/userguide/datafiles.html#accessing-data-files-at-runtime\n        \"importlib-resources\",\n        \"numpy\",\n        \"pandas\",\n        \"protobuf\",\n        \"uvicorn\",\n        \"starlette_exporter\",\n        \"py-grpc-prometheus\",\n        \"uvloop;\" + env_marker_cpython,\n        \"aiokafka\",\n        \"tritonclient[http]>=2.24\",\n        \"aiofiles\",\n        \"orjson\",\n    ],\n    entry_points={\"console_scripts\": [\"mlserver=mlserver.cli:main\"]},\n    long_description=_load_description(),\n    long_description_content_type=\"text/markdown\",\n    license=\"Apache 2.0\",\n)\n", "path": "setup.py"}], "after_files": [{"content": "import os\n\nfrom typing import Dict\nfrom setuptools import setup, find_packages\n\nROOT_PATH = os.path.dirname(__file__)\nPKG_NAME = \"mlserver\"\nPKG_PATH = os.path.join(ROOT_PATH, PKG_NAME)\n\n\ndef _load_version() -> str:\n    version = \"\"\n    version_path = os.path.join(PKG_PATH, \"version.py\")\n    with open(version_path) as fp:\n        version_module: Dict[str, str] = {}\n        exec(fp.read(), version_module)\n        version = version_module[\"__version__\"]\n\n    return version\n\n\ndef _load_description() -> str:\n    readme_path = os.path.join(ROOT_PATH, \"README.md\")\n    with open(readme_path) as fp:\n        return fp.read()\n\n\nenv_marker_cpython = (\n    \"sys_platform != 'win32'\"\n    \" and (sys_platform != 'cygwin'\"\n    \" and platform_python_implementation != 'PyPy')\"\n)\n\nsetup(\n    name=PKG_NAME,\n    version=_load_version(),\n    url=\"https://github.com/SeldonIO/MLServer.git\",\n    author=\"Seldon Technologies Ltd.\",\n    author_email=\"hello@seldon.io\",\n    classifiers=[\"Operating System :: POSIX\", \"Operating System :: MacOS\"],\n    description=\"ML server\",\n    include_package_data=True,\n    packages=find_packages(exclude=[\"tests\", \"tests.*\"]),\n    install_requires=[\n        \"click\",\n        # 0.89.0: https://github.com/tiangolo/fastapi/issues/5861\n        \"fastapi >=0.88.0, <=0.89.1, !=0.89.0\",\n        \"python-dotenv\",\n        \"grpcio\",\n        # The importlib-resources backport is required to use some\n        # functionality added in Python 3.10\n        # https://setuptools.pypa.io/en/latest/userguide/datafiles.html#accessing-data-files-at-runtime\n        \"importlib-resources\",\n        \"numpy\",\n        \"pandas\",\n        \"protobuf\",\n        \"uvicorn\",\n        \"starlette_exporter\",\n        \"py-grpc-prometheus\",\n        \"uvloop;\" + env_marker_cpython,\n        \"aiokafka\",\n        \"tritonclient[http]>=2.24\",\n        \"aiofiles\",\n        \"orjson\",\n    ],\n    entry_points={\"console_scripts\": [\"mlserver=mlserver.cli:main\"]},\n    long_description=_load_description(),\n    long_description_content_type=\"text/markdown\",\n    license=\"Apache 2.0\",\n)\n", "path": "setup.py"}]}