prompt: We are currently solving the following issue within our repository. Here is the issue text:
  --- BEGIN ISSUE ---
  Missing py.typed declaration?
  `mypy` is complaining about not being able to find type annotations for `httpx`: 
  
  `error: Cannot find module named 'httpx'`
  
  I'm somewhat new to using type annotations/static type checking in Python, but from the mypy documentation [here](https://mypy.readthedocs.io/en/latest/installed_packages.html#making-pep-561-compatible-packages) it looks like there may be a missing declaration in `setup.py`?
  
  --- 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 #!/usr/bin/env python
  2 # -*- coding: utf-8 -*-
  3 
  4 import re
  5 from pathlib import Path
  6 
  7 from setuptools import setup
  8 
  9 
  10 def get_version(package):
  11     """
  12     Return package version as listed in `__version__` in `init.py`.
  13     """
  14     version = Path(package, "__version__.py").read_text()
  15     return re.search("__version__ = ['\"]([^'\"]+)['\"]", version).group(1)
  16 
  17 
  18 def get_long_description():
  19     """
  20     Return the README.
  21     """
  22     long_description = ""
  23     with open("README.md", encoding="utf8") as f:
  24         long_description += f.read()
  25     long_description += "\n\n"
  26     with open("CHANGELOG.md", encoding="utf8") as f:
  27         long_description += f.read()
  28     return long_description
  29 
  30 
  31 def get_packages(package):
  32     """
  33     Return root package and all sub-packages.
  34     """
  35     return [str(path.parent) for path in Path(package).glob("**/__init__.py")]
  36 
  37 
  38 setup(
  39     name="httpx",
  40     python_requires=">=3.6",
  41     version=get_version("httpx"),
  42     url="https://github.com/encode/httpx",
  43     license="BSD",
  44     description="The next generation HTTP client.",
  45     long_description=get_long_description(),
  46     long_description_content_type="text/markdown",
  47     author="Tom Christie",
  48     author_email="tom@tomchristie.com",
  49     package_data={"httpx": ["py.typed"]},
  50     packages=get_packages("httpx"),
  51     include_package_data=True,
  52     install_requires=[
  53         "certifi",
  54         "chardet==3.*",
  55         "h11==0.8.*",
  56         "h2==3.*",
  57         "hstspreload>=2019.8.27",
  58         "idna==2.*",
  59         "rfc3986==1.*",
  60     ],
  61     classifiers=[
  62         "Development Status :: 3 - Alpha",
  63         "Environment :: Web Environment",
  64         "Intended Audience :: Developers",
  65         "License :: OSI Approved :: BSD License",
  66         "Operating System :: OS Independent",
  67         "Topic :: Internet :: WWW/HTTP",
  68         "Programming Language :: Python :: 3",
  69         "Programming Language :: Python :: 3.6",
  70         "Programming Language :: Python :: 3.7",
  71         "Programming Language :: Python :: 3.8",
  72     ],
  73 )
  74
  ```
  --- 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
  @@ -49,6 +49,7 @@
       package_data={"httpx": ["py.typed"]},
       packages=get_packages("httpx"),
       include_package_data=True,
  +    zip_safe=False,
       install_requires=[
           "certifi",
           "chardet==3.*",
  
verification_info: {"golden_diff": "diff --git a/setup.py b/setup.py\n--- a/setup.py\n+++ b/setup.py\n@@ -49,6 +49,7 @@\n     package_data={\"httpx\": [\"py.typed\"]},\n     packages=get_packages(\"httpx\"),\n     include_package_data=True,\n+    zip_safe=False,\n     install_requires=[\n         \"certifi\",\n         \"chardet==3.*\",\n", "issue": "Missing py.typed declaration?\n`mypy` is complaining about not being able to find type annotations for `httpx`: \r\n\r\n`error: Cannot find module named 'httpx'`\r\n\r\nI'm somewhat new to using type annotations/static type checking in Python, but from the mypy documentation [here](https://mypy.readthedocs.io/en/latest/installed_packages.html#making-pep-561-compatible-packages) it looks like there may be a missing declaration in `setup.py`?\n", "before_files": [{"content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\nimport re\nfrom pathlib import Path\n\nfrom setuptools import setup\n\n\ndef get_version(package):\n    \"\"\"\n    Return package version as listed in `__version__` in `init.py`.\n    \"\"\"\n    version = Path(package, \"__version__.py\").read_text()\n    return re.search(\"__version__ = ['\\\"]([^'\\\"]+)['\\\"]\", version).group(1)\n\n\ndef get_long_description():\n    \"\"\"\n    Return the README.\n    \"\"\"\n    long_description = \"\"\n    with open(\"README.md\", encoding=\"utf8\") as f:\n        long_description += f.read()\n    long_description += \"\\n\\n\"\n    with open(\"CHANGELOG.md\", encoding=\"utf8\") as f:\n        long_description += f.read()\n    return long_description\n\n\ndef get_packages(package):\n    \"\"\"\n    Return root package and all sub-packages.\n    \"\"\"\n    return [str(path.parent) for path in Path(package).glob(\"**/__init__.py\")]\n\n\nsetup(\n    name=\"httpx\",\n    python_requires=\">=3.6\",\n    version=get_version(\"httpx\"),\n    url=\"https://github.com/encode/httpx\",\n    license=\"BSD\",\n    description=\"The next generation HTTP client.\",\n    long_description=get_long_description(),\n    long_description_content_type=\"text/markdown\",\n    author=\"Tom Christie\",\n    author_email=\"tom@tomchristie.com\",\n    package_data={\"httpx\": [\"py.typed\"]},\n    packages=get_packages(\"httpx\"),\n    include_package_data=True,\n    install_requires=[\n        \"certifi\",\n        \"chardet==3.*\",\n        \"h11==0.8.*\",\n        \"h2==3.*\",\n        \"hstspreload>=2019.8.27\",\n        \"idna==2.*\",\n        \"rfc3986==1.*\",\n    ],\n    classifiers=[\n        \"Development Status :: 3 - Alpha\",\n        \"Environment :: Web Environment\",\n        \"Intended Audience :: Developers\",\n        \"License :: OSI Approved :: BSD License\",\n        \"Operating System :: OS Independent\",\n        \"Topic :: Internet :: WWW/HTTP\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Programming Language :: Python :: 3.8\",\n    ],\n)\n", "path": "setup.py"}], "after_files": [{"content": "#!/usr/bin/env python\n# -*- coding: utf-8 -*-\n\nimport re\nfrom pathlib import Path\n\nfrom setuptools import setup\n\n\ndef get_version(package):\n    \"\"\"\n    Return package version as listed in `__version__` in `init.py`.\n    \"\"\"\n    version = Path(package, \"__version__.py\").read_text()\n    return re.search(\"__version__ = ['\\\"]([^'\\\"]+)['\\\"]\", version).group(1)\n\n\ndef get_long_description():\n    \"\"\"\n    Return the README.\n    \"\"\"\n    long_description = \"\"\n    with open(\"README.md\", encoding=\"utf8\") as f:\n        long_description += f.read()\n    long_description += \"\\n\\n\"\n    with open(\"CHANGELOG.md\", encoding=\"utf8\") as f:\n        long_description += f.read()\n    return long_description\n\n\ndef get_packages(package):\n    \"\"\"\n    Return root package and all sub-packages.\n    \"\"\"\n    return [str(path.parent) for path in Path(package).glob(\"**/__init__.py\")]\n\n\nsetup(\n    name=\"httpx\",\n    python_requires=\">=3.6\",\n    version=get_version(\"httpx\"),\n    url=\"https://github.com/encode/httpx\",\n    license=\"BSD\",\n    description=\"The next generation HTTP client.\",\n    long_description=get_long_description(),\n    long_description_content_type=\"text/markdown\",\n    author=\"Tom Christie\",\n    author_email=\"tom@tomchristie.com\",\n    package_data={\"httpx\": [\"py.typed\"]},\n    packages=get_packages(\"httpx\"),\n    include_package_data=True,\n    zip_safe=False,\n    install_requires=[\n        \"certifi\",\n        \"chardet==3.*\",\n        \"h11==0.8.*\",\n        \"h2==3.*\",\n        \"hstspreload>=2019.8.27\",\n        \"idna==2.*\",\n        \"rfc3986==1.*\",\n    ],\n    classifiers=[\n        \"Development Status :: 3 - Alpha\",\n        \"Environment :: Web Environment\",\n        \"Intended Audience :: Developers\",\n        \"License :: OSI Approved :: BSD License\",\n        \"Operating System :: OS Independent\",\n        \"Topic :: Internet :: WWW/HTTP\",\n        \"Programming Language :: Python :: 3\",\n        \"Programming Language :: Python :: 3.6\",\n        \"Programming Language :: Python :: 3.7\",\n        \"Programming Language :: Python :: 3.8\",\n    ],\n)\n", "path": "setup.py"}]}