prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Handle the "v" in version numbering 
  Our code in `setup.py` will trigger with new tags. `setuptools.setup` will reject tags that are not release versions but we could do more to make that explicit by checking for the leading "v".
  
  Also when we tag releases as, say, "v0.1.1" the leading "v" is carried through `setuptools.setup` so it becomes part of the pip test download
  
  > Successfully installed pip-21.2.4
  > Collecting hi-ml==v0.1.0
  >   Downloading hi_ml-0.1.0-py3-none-any.whl (25 kB)
  
  (from [here](https://github.com/microsoft/hi-ml/runs/3362573497?check_suite_focus=true#step:6:29))
  
  This works, but it would be cleaner to submit the version number using the public version identifier format mandated in [PEP 440](https://www.python.org/dev/peps/pep-0440/#public-version-identifiers), i.e. without the leading "v"
  
  --- 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 #  ------------------------------------------------------------------------------------------
  2 #  Copyright (c) Microsoft Corporation. All rights reserved.
  3 #  Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.
  4 #  ------------------------------------------------------------------------------------------
  5 
  6 """A setuptools based setup module.
  7 
  8 See:
  9 https://packaging.python.org/guides/distributing-packages-using-setuptools/
  10 """
  11 
  12 import os
  13 from math import floor
  14 import pathlib
  15 from random import random
  16 from setuptools import setup, find_packages  # type: ignore
  17 
  18 
  19 here = pathlib.Path(__file__).parent.resolve()
  20 
  21 # Get the long description from the README file
  22 long_description = (here / 'README.md').read_text(encoding='utf-8')
  23 
  24 version = ''
  25 
  26 # If running from a GitHub Action then a standard set of environment variables will be
  27 # populated (https://docs.github.com/en/actions/reference/environment-variables#default-environment-variables).
  28 # In particular, GITHUB_REF is the branch or tag ref that triggered the workflow.
  29 # If this was triggered by a tagged commit then GITHUB_REF will be: 'ref/tags/new_tag'.
  30 # Extract this tag and use it as a version string
  31 # See also:
  32 # https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
  33 # https://github.com/pypa/gh-action-pypi-publish
  34 GITHUB_REF_TAG_COMMIT = 'refs/tags/'
  35 
  36 github_ref = os.getenv('GITHUB_REF')
  37 if github_ref and github_ref.startswith(GITHUB_REF_TAG_COMMIT):
  38     version = github_ref[len(GITHUB_REF_TAG_COMMIT):]
  39 
  40 # Otherwise, if running from a GitHub Action, but not a tagged commit then GITHUB_RUN_NUMBER will be populated.
  41 # Use this as a post release number. For example if GITHUB_RUN_NUMBER = 124 then the version string will be
  42 # '0.1.2.post124'. Although this is discouraged, see:
  43 # https://www.python.org/dev/peps/pep-0440/#post-releases
  44 # it is necessary here to avoid duplicate packages in Test.PyPI.
  45 if not version:
  46     # TODO: Replace this with more principled package version management for the package wheels built during local test
  47     # runs, one which circumvents AzureML's apparent package caching:
  48     build_number = os.getenv('GITHUB_RUN_NUMBER')
  49     if build_number:
  50         version = '0.1.0.post' + build_number
  51     else:
  52         default_random_version_number = floor(random() * 10_000_000_000)
  53         version = f'0.1.0.post{str(default_random_version_number)}'
  54 
  55 (here / 'latest_version.txt').write_text(version)
  56 
  57 # Read run_requirements.txt to get install_requires
  58 install_requires = (here / 'run_requirements.txt').read_text().split("\n")
  59 # Remove any whitespace and blank lines
  60 install_requires = [line.strip() for line in install_requires if line.strip()]
  61 
  62 description = 'Microsoft Health Intelligence package to elevate and monitor scripts to an AzureML workspace'
  63 
  64 setup(
  65     name='hi-ml',
  66     version=version,
  67     description=description,
  68     long_description=long_description,
  69     long_description_content_type='text/markdown',
  70     url='https://github.com/microsoft/hi-ml',
  71     author="Microsoft Research Cambridge InnerEye Team ",
  72     author_email="innereyedev@microsoft.com",
  73     classifiers=[
  74         'Development Status :: 3 - Alpha',
  75         'Intended Audience :: Science/Research',
  76         "Topic :: Scientific/Engineering :: Medical Science Apps.",
  77         'License :: OSI Approved :: MIT License',
  78         'Programming Language :: Python :: 3.7'
  79     ],
  80     keywords='InnerEye, HealthIntelligence, AzureML',
  81     license='MIT License',
  82     packages=find_packages(where="src"),
  83     package_dir={"": "src"},
  84     include_package_data=True,
  85     install_requires=install_requires,
  86     scripts=['src/health/azure/run_tensorboard.py']
  87 )
  88
  ```
  --- 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
  @@ -31,7 +31,7 @@
   # See also:
   # https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/
   # https://github.com/pypa/gh-action-pypi-publish
  -GITHUB_REF_TAG_COMMIT = 'refs/tags/'
  +GITHUB_REF_TAG_COMMIT = 'refs/tags/v'
   
   github_ref = os.getenv('GITHUB_REF')
   if github_ref and github_ref.startswith(GITHUB_REF_TAG_COMMIT):
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -31,7 +31,7 @@\n # See also:\n # https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/\n # https://github.com/pypa/gh-action-pypi-publish\n-GITHUB_REF_TAG_COMMIT = 'refs/tags/'\n+GITHUB_REF_TAG_COMMIT = 'refs/tags/v'\n \n github_ref = os.getenv('GITHUB_REF')\n if github_ref and github_ref.startswith(GITHUB_REF_TAG_COMMIT):\n", "issue": "Handle the \"v\" in version numbering \nOur code in `setup.py` will trigger with new tags. `setuptools.setup` will reject tags that are not release versions but we could do more to make that explicit by checking for the leading \"v\".\r\n\r\nAlso when we tag releases as, say, \"v0.1.1\" the leading \"v\" is carried through `setuptools.setup` so it becomes part of the pip test download\r\n\r\n> Successfully installed pip-21.2.4\r\n> Collecting hi-ml==v0.1.0\r\n>   Downloading hi_ml-0.1.0-py3-none-any.whl (25 kB)\r\n\r\n(from [here](https://github.com/microsoft/hi-ml/runs/3362573497?check_suite_focus=true#step:6:29))\r\n\r\nThis works, but it would be cleaner to submit the version number using the public version identifier format mandated in [PEP 440](https://www.python.org/dev/peps/pep-0440/#public-version-identifiers), i.e. without the leading \"v\"\n", "before_files": [{"content": "#  ------------------------------------------------------------------------------------------\n#  Copyright (c) Microsoft Corporation. All rights reserved.\n#  Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.\n#  ------------------------------------------------------------------------------------------\n\n\"\"\"A setuptools based setup module.\n\nSee:\nhttps://packaging.python.org/guides/distributing-packages-using-setuptools/\n\"\"\"\n\nimport os\nfrom math import floor\nimport pathlib\nfrom random import random\nfrom setuptools import setup, find_packages  # type: ignore\n\n\nhere = pathlib.Path(__file__).parent.resolve()\n\n# Get the long description from the README file\nlong_description = (here / 'README.md').read_text(encoding='utf-8')\n\nversion = ''\n\n# If running from a GitHub Action then a standard set of environment variables will be\n# populated (https://docs.github.com/en/actions/reference/environment-variables#default-environment-variables).\n# In particular, GITHUB_REF is the branch or tag ref that triggered the workflow.\n# If this was triggered by a tagged commit then GITHUB_REF will be: 'ref/tags/new_tag'.\n# Extract this tag and use it as a version string\n# See also:\n# https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/\n# https://github.com/pypa/gh-action-pypi-publish\nGITHUB_REF_TAG_COMMIT = 'refs/tags/'\n\ngithub_ref = os.getenv('GITHUB_REF')\nif github_ref and github_ref.startswith(GITHUB_REF_TAG_COMMIT):\n    version = github_ref[len(GITHUB_REF_TAG_COMMIT):]\n\n# Otherwise, if running from a GitHub Action, but not a tagged commit then GITHUB_RUN_NUMBER will be populated.\n# Use this as a post release number. For example if GITHUB_RUN_NUMBER = 124 then the version string will be\n# '0.1.2.post124'. Although this is discouraged, see:\n# https://www.python.org/dev/peps/pep-0440/#post-releases\n# it is necessary here to avoid duplicate packages in Test.PyPI.\nif not version:\n    # TODO: Replace this with more principled package version management for the package wheels built during local test\n    # runs, one which circumvents AzureML's apparent package caching:\n    build_number = os.getenv('GITHUB_RUN_NUMBER')\n    if build_number:\n        version = '0.1.0.post' + build_number\n    else:\n        default_random_version_number = floor(random() * 10_000_000_000)\n        version = f'0.1.0.post{str(default_random_version_number)}'\n\n(here / 'latest_version.txt').write_text(version)\n\n# Read run_requirements.txt to get install_requires\ninstall_requires = (here / 'run_requirements.txt').read_text().split(\"\\n\")\n# Remove any whitespace and blank lines\ninstall_requires = [line.strip() for line in install_requires if line.strip()]\n\ndescription = 'Microsoft Health Intelligence package to elevate and monitor scripts to an AzureML workspace'\n\nsetup(\n    name='hi-ml',\n    version=version,\n    description=description,\n    long_description=long_description,\n    long_description_content_type='text/markdown',\n    url='https://github.com/microsoft/hi-ml',\n    author=\"Microsoft Research Cambridge InnerEye Team \",\n    author_email=\"innereyedev@microsoft.com\",\n    classifiers=[\n        'Development Status :: 3 - Alpha',\n        'Intended Audience :: Science/Research',\n        \"Topic :: Scientific/Engineering :: Medical Science Apps.\",\n        'License :: OSI Approved :: MIT License',\n        'Programming Language :: Python :: 3.7'\n    ],\n    keywords='InnerEye, HealthIntelligence, AzureML',\n    license='MIT License',\n    packages=find_packages(where=\"src\"),\n    package_dir={\"\": \"src\"},\n    include_package_data=True,\n    install_requires=install_requires,\n    scripts=['src/health/azure/run_tensorboard.py']\n)\n", "path": "setup.py"}], "after_files": [{"content": "#  ------------------------------------------------------------------------------------------\n#  Copyright (c) Microsoft Corporation. All rights reserved.\n#  Licensed under the MIT License (MIT). See LICENSE in the repo root for license information.\n#  ------------------------------------------------------------------------------------------\n\n\"\"\"A setuptools based setup module.\n\nSee:\nhttps://packaging.python.org/guides/distributing-packages-using-setuptools/\n\"\"\"\n\nimport os\nfrom math import floor\nimport pathlib\nfrom random import random\nfrom setuptools import setup, find_packages  # type: ignore\n\n\nhere = pathlib.Path(__file__).parent.resolve()\n\n# Get the long description from the README file\nlong_description = (here / 'README.md').read_text(encoding='utf-8')\n\nversion = ''\n\n# If running from a GitHub Action then a standard set of environment variables will be\n# populated (https://docs.github.com/en/actions/reference/environment-variables#default-environment-variables).\n# In particular, GITHUB_REF is the branch or tag ref that triggered the workflow.\n# If this was triggered by a tagged commit then GITHUB_REF will be: 'ref/tags/new_tag'.\n# Extract this tag and use it as a version string\n# See also:\n# https://packaging.python.org/guides/publishing-package-distribution-releases-using-github-actions-ci-cd-workflows/\n# https://github.com/pypa/gh-action-pypi-publish\nGITHUB_REF_TAG_COMMIT = 'refs/tags/v'\n\ngithub_ref = os.getenv('GITHUB_REF')\nif github_ref and github_ref.startswith(GITHUB_REF_TAG_COMMIT):\n    version = github_ref[len(GITHUB_REF_TAG_COMMIT):]\n\n# Otherwise, if running from a GitHub Action, but not a tagged commit then GITHUB_RUN_NUMBER will be populated.\n# Use this as a post release number. For example if GITHUB_RUN_NUMBER = 124 then the version string will be\n# '0.1.2.post124'. Although this is discouraged, see:\n# https://www.python.org/dev/peps/pep-0440/#post-releases\n# it is necessary here to avoid duplicate packages in Test.PyPI.\nif not version:\n    # TODO: Replace this with more principled package version management for the package wheels built during local test\n    # runs, one which circumvents AzureML's apparent package caching:\n    build_number = os.getenv('GITHUB_RUN_NUMBER')\n    if build_number:\n        version = '0.1.0.post' + build_number\n    else:\n        default_random_version_number = floor(random() * 10_000_000_000)\n        version = f'0.1.0.post{str(default_random_version_number)}'\n\n(here / 'latest_version.txt').write_text(version)\n\n# Read run_requirements.txt to get install_requires\ninstall_requires = (here / 'run_requirements.txt').read_text().split(\"\\n\")\n# Remove any whitespace and blank lines\ninstall_requires = [line.strip() for line in install_requires if line.strip()]\n\ndescription = 'Microsoft Health Intelligence package to elevate and monitor scripts to an AzureML workspace'\n\nsetup(\n    name='hi-ml',\n    version=version,\n    description=description,\n    long_description=long_description,\n    long_description_content_type='text/markdown',\n    url='https://github.com/microsoft/hi-ml',\n    author=\"Microsoft Research Cambridge InnerEye Team \",\n    author_email=\"innereyedev@microsoft.com\",\n    classifiers=[\n        'Development Status :: 3 - Alpha',\n        'Intended Audience :: Science/Research',\n        \"Topic :: Scientific/Engineering :: Medical Science Apps.\",\n        'License :: OSI Approved :: MIT License',\n        'Programming Language :: Python :: 3.7'\n    ],\n    keywords='InnerEye, HealthIntelligence, AzureML',\n    license='MIT License',\n    packages=find_packages(where=\"src\"),\n    package_dir={\"\": \"src\"},\n    include_package_data=True,\n    install_requires=install_requires,\n    scripts=['src/health/azure/run_tensorboard.py']\n)\n", "path": "setup.py"}]}