We are currently solving the following issue within our repository. Here is the issue text:
--- BEGIN ISSUE ---
Wrong recommendation to install `types-backports`
When I import `backports.zoneinfo`, I get

```
src/test_checks.py:29:1: error: Library stubs not installed for "backports.zoneinfo"  [import]
src/test_checks.py:29:1: note: Hint: "python3 -m pip install types-backports"
src/test_checks.py:29:1: note: (or run "mypy --install-types" to install all missing stub packages)
src/test_checks.py:29:1: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports
```

However, the `types-backports` package is obsolete since python/typeshed#5997; it was replaced with `types-backports.ssl_match_hostname`. It never provided stubs for `backports.zoneinfo` (which is a py.typed package and doesn't need stubs), only for `ssl_match_hostname`.

`backports.ssl_match_hostname` provides a 3.7+ feature (https://pypi.org/project/backports.ssl_match_hostname/), so it isn't relevant on any supported version of Python and I don't think mypy needs to recommend installing it. I will submit a PR to remove it from the list of recommended packages.

--- END ISSUE ---

Below are some code segments, each from a relevant file. One or more of these files may contain bugs.
--- BEGIN FILES ---
Path: `mypy/stubinfo.py`
Content:
```
1 from __future__ import annotations
2 
3 
4 def is_legacy_bundled_package(prefix: str) -> bool:
5     return prefix in legacy_bundled_packages
6 
7 
8 def approved_stub_package_exists(prefix: str) -> bool:
9     return is_legacy_bundled_package(prefix) or prefix in non_bundled_packages
10 
11 
12 def stub_package_name(prefix: str) -> str:
13     return legacy_bundled_packages.get(prefix) or non_bundled_packages[prefix]
14 
15 
16 # Stubs for these third-party packages used to be shipped with mypy.
17 #
18 # Map package name to PyPI stub distribution name.
19 #
20 # Package name can have one or two components ('a' or 'a.b').
21 legacy_bundled_packages = {
22     "aiofiles": "types-aiofiles",
23     "backports": "types-backports",
24     "backports_abc": "types-backports_abc",
25     "bleach": "types-bleach",
26     "boto": "types-boto",
27     "cachetools": "types-cachetools",
28     "click_spinner": "types-click-spinner",
29     "contextvars": "types-contextvars",
30     "croniter": "types-croniter",
31     "dataclasses": "types-dataclasses",
32     "dateparser": "types-dateparser",
33     "datetimerange": "types-DateTimeRange",
34     "dateutil": "types-python-dateutil",
35     "decorator": "types-decorator",
36     "deprecated": "types-Deprecated",
37     "docutils": "types-docutils",
38     "first": "types-first",
39     "geoip2": "types-geoip2",
40     "gflags": "types-python-gflags",
41     "google.protobuf": "types-protobuf",
42     "markdown": "types-Markdown",
43     "maxminddb": "types-maxminddb",
44     "mock": "types-mock",
45     "OpenSSL": "types-pyOpenSSL",
46     "paramiko": "types-paramiko",
47     "pkg_resources": "types-setuptools",
48     "polib": "types-polib",
49     "pycurl": "types-pycurl",
50     "pymysql": "types-PyMySQL",
51     "pyrfc3339": "types-pyRFC3339",
52     "python2": "types-six",
53     "pytz": "types-pytz",
54     "pyVmomi": "types-pyvmomi",
55     "redis": "types-redis",
56     "requests": "types-requests",
57     "retry": "types-retry",
58     "simplejson": "types-simplejson",
59     "singledispatch": "types-singledispatch",
60     "six": "types-six",
61     "slugify": "types-python-slugify",
62     "tabulate": "types-tabulate",
63     "toml": "types-toml",
64     "typed_ast": "types-typed-ast",
65     "tzlocal": "types-tzlocal",
66     "ujson": "types-ujson",
67     "waitress": "types-waitress",
68     "yaml": "types-PyYAML",
69 }
70 
71 # Map package name to PyPI stub distribution name from typeshed.
72 # Stubs for these packages were never bundled with mypy. Don't
73 # include packages that have a release that includes PEP 561 type
74 # information.
75 #
76 # Package name can have one or two components ('a' or 'a.b').
77 #
78 # Note that these packages are omitted for now:
79 #   pika:       typeshed's stubs are on PyPI as types-pika-ts.
80 #               types-pika already exists on PyPI, and is more complete in many ways,
81 #               but is a non-typeshed stubs package.
82 non_bundled_packages = {
83     "MySQLdb": "types-mysqlclient",
84     "PIL": "types-Pillow",
85     "PyInstaller": "types-pyinstaller",
86     "Xlib": "types-python-xlib",
87     "annoy": "types-annoy",
88     "appdirs": "types-appdirs",
89     "aws_xray_sdk": "types-aws-xray-sdk",
90     "babel": "types-babel",
91     "backports.ssl_match_hostname": "types-backports.ssl_match_hostname",
92     "braintree": "types-braintree",
93     "bs4": "types-beautifulsoup4",
94     "bugbear": "types-flake8-bugbear",
95     "caldav": "types-caldav",
96     "cffi": "types-cffi",
97     "chevron": "types-chevron",
98     "colorama": "types-colorama",
99     "commonmark": "types-commonmark",
100     "consolemenu": "types-console-menu",
101     "crontab": "types-python-crontab",
102     "d3dshot": "types-D3DShot",
103     "dj_database_url": "types-dj-database-url",
104     "dockerfile_parse": "types-dockerfile-parse",
105     "docopt": "types-docopt",
106     "editdistance": "types-editdistance",
107     "entrypoints": "types-entrypoints",
108     "farmhash": "types-pyfarmhash",
109     "flake8_2020": "types-flake8-2020",
110     "flake8_builtins": "types-flake8-builtins",
111     "flake8_docstrings": "types-flake8-docstrings",
112     "flake8_plugin_utils": "types-flake8-plugin-utils",
113     "flake8_rst_docstrings": "types-flake8-rst-docstrings",
114     "flake8_simplify": "types-flake8-simplify",
115     "flake8_typing_imports": "types-flake8-typing-imports",
116     "flask_cors": "types-Flask-Cors",
117     "flask_migrate": "types-Flask-Migrate",
118     "flask_sqlalchemy": "types-Flask-SQLAlchemy",
119     "fpdf": "types-fpdf2",
120     "gdb": "types-gdb",
121     "google.cloud": "types-google-cloud-ndb",
122     "hdbcli": "types-hdbcli",
123     "html5lib": "types-html5lib",
124     "httplib2": "types-httplib2",
125     "humanfriendly": "types-humanfriendly",
126     "invoke": "types-invoke",
127     "jack": "types-JACK-Client",
128     "jmespath": "types-jmespath",
129     "jose": "types-python-jose",
130     "jsonschema": "types-jsonschema",
131     "keyboard": "types-keyboard",
132     "ldap3": "types-ldap3",
133     "nmap": "types-python-nmap",
134     "oauthlib": "types-oauthlib",
135     "openpyxl": "types-openpyxl",
136     "opentracing": "types-opentracing",
137     "paho.mqtt": "types-paho-mqtt",
138     "parsimonious": "types-parsimonious",
139     "passlib": "types-passlib",
140     "passpy": "types-passpy",
141     "peewee": "types-peewee",
142     "pep8ext_naming": "types-pep8-naming",
143     "playsound": "types-playsound",
144     "psutil": "types-psutil",
145     "psycopg2": "types-psycopg2",
146     "pyaudio": "types-pyaudio",
147     "pyautogui": "types-PyAutoGUI",
148     "pycocotools": "types-pycocotools",
149     "pyflakes": "types-pyflakes",
150     "pygments": "types-Pygments",
151     "pyi_splash": "types-pyinstaller",
152     "pynput": "types-pynput",
153     "pythoncom": "types-pywin32",
154     "pythonwin": "types-pywin32",
155     "pyscreeze": "types-PyScreeze",
156     "pysftp": "types-pysftp",
157     "pytest_lazyfixture": "types-pytest-lazy-fixture",
158     "pywintypes": "types-pywin32",
159     "regex": "types-regex",
160     "send2trash": "types-Send2Trash",
161     "slumber": "types-slumber",
162     "stdlib_list": "types-stdlib-list",
163     "stripe": "types-stripe",
164     "toposort": "types-toposort",
165     "tqdm": "types-tqdm",
166     "tree_sitter": "types-tree-sitter",
167     "tree_sitter_languages": "types-tree-sitter-languages",
168     "ttkthemes": "types-ttkthemes",
169     "urllib3": "types-urllib3",
170     "vobject": "types-vobject",
171     "whatthepatch": "types-whatthepatch",
172     "win32": "types-pywin32",
173     "win32api": "types-pywin32",
174     "win32con": "types-pywin32",
175     "win32com": "types-pywin32",
176     "win32comext": "types-pywin32",
177     "win32gui": "types-pywin32",
178     "xmltodict": "types-xmltodict",
179     "xxhash": "types-xxhash",
180     "zxcvbn": "types-zxcvbn",
181     # Stub packages that are not from typeshed
182     # Since these can be installed automatically via --install-types, we have a high trust bar
183     # for additions here
184     "pandas": "pandas-stubs",  # https://github.com/pandas-dev/pandas-stubs
185     "lxml": "lxml-stubs",  # https://github.com/lxml/lxml-stubs
186 }
187
```
--- 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/mypy/stubinfo.py b/mypy/stubinfo.py
--- a/mypy/stubinfo.py
+++ b/mypy/stubinfo.py
@@ -20,8 +20,6 @@
 # Package name can have one or two components ('a' or 'a.b').
 legacy_bundled_packages = {
     "aiofiles": "types-aiofiles",
-    "backports": "types-backports",
-    "backports_abc": "types-backports_abc",
     "bleach": "types-bleach",
     "boto": "types-boto",
     "cachetools": "types-cachetools",

{"golden_diff": "diff --git a/mypy/stubinfo.py b/mypy/stubinfo.py\n--- a/mypy/stubinfo.py\n+++ b/mypy/stubinfo.py\n@@ -20,8 +20,6 @@\n # Package name can have one or two components ('a' or 'a.b').\n legacy_bundled_packages = {\n     \"aiofiles\": \"types-aiofiles\",\n-    \"backports\": \"types-backports\",\n-    \"backports_abc\": \"types-backports_abc\",\n     \"bleach\": \"types-bleach\",\n     \"boto\": \"types-boto\",\n     \"cachetools\": \"types-cachetools\",\n", "issue": "Wrong recommendation to install `types-backports`\nWhen I import `backports.zoneinfo`, I get\r\n\r\n```\r\nsrc/test_checks.py:29:1: error: Library stubs not installed for \"backports.zoneinfo\"  [import]\r\nsrc/test_checks.py:29:1: note: Hint: \"python3 -m pip install types-backports\"\r\nsrc/test_checks.py:29:1: note: (or run \"mypy --install-types\" to install all missing stub packages)\r\nsrc/test_checks.py:29:1: note: See https://mypy.readthedocs.io/en/stable/running_mypy.html#missing-imports\r\n```\r\n\r\nHowever, the `types-backports` package is obsolete since python/typeshed#5997; it was replaced with `types-backports.ssl_match_hostname`. It never provided stubs for `backports.zoneinfo` (which is a py.typed package and doesn't need stubs), only for `ssl_match_hostname`.\r\n\r\n`backports.ssl_match_hostname` provides a 3.7+ feature (https://pypi.org/project/backports.ssl_match_hostname/), so it isn't relevant on any supported version of Python and I don't think mypy needs to recommend installing it. I will submit a PR to remove it from the list of recommended packages.\n", "before_files": [{"content": "from __future__ import annotations\n\n\ndef is_legacy_bundled_package(prefix: str) -> bool:\n    return prefix in legacy_bundled_packages\n\n\ndef approved_stub_package_exists(prefix: str) -> bool:\n    return is_legacy_bundled_package(prefix) or prefix in non_bundled_packages\n\n\ndef stub_package_name(prefix: str) -> str:\n    return legacy_bundled_packages.get(prefix) or non_bundled_packages[prefix]\n\n\n# Stubs for these third-party packages used to be shipped with mypy.\n#\n# Map package name to PyPI stub distribution name.\n#\n# Package name can have one or two components ('a' or 'a.b').\nlegacy_bundled_packages = {\n    \"aiofiles\": \"types-aiofiles\",\n    \"backports\": \"types-backports\",\n    \"backports_abc\": \"types-backports_abc\",\n    \"bleach\": \"types-bleach\",\n    \"boto\": \"types-boto\",\n    \"cachetools\": \"types-cachetools\",\n    \"click_spinner\": \"types-click-spinner\",\n    \"contextvars\": \"types-contextvars\",\n    \"croniter\": \"types-croniter\",\n    \"dataclasses\": \"types-dataclasses\",\n    \"dateparser\": \"types-dateparser\",\n    \"datetimerange\": \"types-DateTimeRange\",\n    \"dateutil\": \"types-python-dateutil\",\n    \"decorator\": \"types-decorator\",\n    \"deprecated\": \"types-Deprecated\",\n    \"docutils\": \"types-docutils\",\n    \"first\": \"types-first\",\n    \"geoip2\": \"types-geoip2\",\n    \"gflags\": \"types-python-gflags\",\n    \"google.protobuf\": \"types-protobuf\",\n    \"markdown\": \"types-Markdown\",\n    \"maxminddb\": \"types-maxminddb\",\n    \"mock\": \"types-mock\",\n    \"OpenSSL\": \"types-pyOpenSSL\",\n    \"paramiko\": \"types-paramiko\",\n    \"pkg_resources\": \"types-setuptools\",\n    \"polib\": \"types-polib\",\n    \"pycurl\": \"types-pycurl\",\n    \"pymysql\": \"types-PyMySQL\",\n    \"pyrfc3339\": \"types-pyRFC3339\",\n    \"python2\": \"types-six\",\n    \"pytz\": \"types-pytz\",\n    \"pyVmomi\": \"types-pyvmomi\",\n    \"redis\": \"types-redis\",\n    \"requests\": \"types-requests\",\n    \"retry\": \"types-retry\",\n    \"simplejson\": \"types-simplejson\",\n    \"singledispatch\": \"types-singledispatch\",\n    \"six\": \"types-six\",\n    \"slugify\": \"types-python-slugify\",\n    \"tabulate\": \"types-tabulate\",\n    \"toml\": \"types-toml\",\n    \"typed_ast\": \"types-typed-ast\",\n    \"tzlocal\": \"types-tzlocal\",\n    \"ujson\": \"types-ujson\",\n    \"waitress\": \"types-waitress\",\n    \"yaml\": \"types-PyYAML\",\n}\n\n# Map package name to PyPI stub distribution name from typeshed.\n# Stubs for these packages were never bundled with mypy. Don't\n# include packages that have a release that includes PEP 561 type\n# information.\n#\n# Package name can have one or two components ('a' or 'a.b').\n#\n# Note that these packages are omitted for now:\n#   pika:       typeshed's stubs are on PyPI as types-pika-ts.\n#               types-pika already exists on PyPI, and is more complete in many ways,\n#               but is a non-typeshed stubs package.\nnon_bundled_packages = {\n    \"MySQLdb\": \"types-mysqlclient\",\n    \"PIL\": \"types-Pillow\",\n    \"PyInstaller\": \"types-pyinstaller\",\n    \"Xlib\": \"types-python-xlib\",\n    \"annoy\": \"types-annoy\",\n    \"appdirs\": \"types-appdirs\",\n    \"aws_xray_sdk\": \"types-aws-xray-sdk\",\n    \"babel\": \"types-babel\",\n    \"backports.ssl_match_hostname\": \"types-backports.ssl_match_hostname\",\n    \"braintree\": \"types-braintree\",\n    \"bs4\": \"types-beautifulsoup4\",\n    \"bugbear\": \"types-flake8-bugbear\",\n    \"caldav\": \"types-caldav\",\n    \"cffi\": \"types-cffi\",\n    \"chevron\": \"types-chevron\",\n    \"colorama\": \"types-colorama\",\n    \"commonmark\": \"types-commonmark\",\n    \"consolemenu\": \"types-console-menu\",\n    \"crontab\": \"types-python-crontab\",\n    \"d3dshot\": \"types-D3DShot\",\n    \"dj_database_url\": \"types-dj-database-url\",\n    \"dockerfile_parse\": \"types-dockerfile-parse\",\n    \"docopt\": \"types-docopt\",\n    \"editdistance\": \"types-editdistance\",\n    \"entrypoints\": \"types-entrypoints\",\n    \"farmhash\": \"types-pyfarmhash\",\n    \"flake8_2020\": \"types-flake8-2020\",\n    \"flake8_builtins\": \"types-flake8-builtins\",\n    \"flake8_docstrings\": \"types-flake8-docstrings\",\n    \"flake8_plugin_utils\": \"types-flake8-plugin-utils\",\n    \"flake8_rst_docstrings\": \"types-flake8-rst-docstrings\",\n    \"flake8_simplify\": \"types-flake8-simplify\",\n    \"flake8_typing_imports\": \"types-flake8-typing-imports\",\n    \"flask_cors\": \"types-Flask-Cors\",\n    \"flask_migrate\": \"types-Flask-Migrate\",\n    \"flask_sqlalchemy\": \"types-Flask-SQLAlchemy\",\n    \"fpdf\": \"types-fpdf2\",\n    \"gdb\": \"types-gdb\",\n    \"google.cloud\": \"types-google-cloud-ndb\",\n    \"hdbcli\": \"types-hdbcli\",\n    \"html5lib\": \"types-html5lib\",\n    \"httplib2\": \"types-httplib2\",\n    \"humanfriendly\": \"types-humanfriendly\",\n    \"invoke\": \"types-invoke\",\n    \"jack\": \"types-JACK-Client\",\n    \"jmespath\": \"types-jmespath\",\n    \"jose\": \"types-python-jose\",\n    \"jsonschema\": \"types-jsonschema\",\n    \"keyboard\": \"types-keyboard\",\n    \"ldap3\": \"types-ldap3\",\n    \"nmap\": \"types-python-nmap\",\n    \"oauthlib\": \"types-oauthlib\",\n    \"openpyxl\": \"types-openpyxl\",\n    \"opentracing\": \"types-opentracing\",\n    \"paho.mqtt\": \"types-paho-mqtt\",\n    \"parsimonious\": \"types-parsimonious\",\n    \"passlib\": \"types-passlib\",\n    \"passpy\": \"types-passpy\",\n    \"peewee\": \"types-peewee\",\n    \"pep8ext_naming\": \"types-pep8-naming\",\n    \"playsound\": \"types-playsound\",\n    \"psutil\": \"types-psutil\",\n    \"psycopg2\": \"types-psycopg2\",\n    \"pyaudio\": \"types-pyaudio\",\n    \"pyautogui\": \"types-PyAutoGUI\",\n    \"pycocotools\": \"types-pycocotools\",\n    \"pyflakes\": \"types-pyflakes\",\n    \"pygments\": \"types-Pygments\",\n    \"pyi_splash\": \"types-pyinstaller\",\n    \"pynput\": \"types-pynput\",\n    \"pythoncom\": \"types-pywin32\",\n    \"pythonwin\": \"types-pywin32\",\n    \"pyscreeze\": \"types-PyScreeze\",\n    \"pysftp\": \"types-pysftp\",\n    \"pytest_lazyfixture\": \"types-pytest-lazy-fixture\",\n    \"pywintypes\": \"types-pywin32\",\n    \"regex\": \"types-regex\",\n    \"send2trash\": \"types-Send2Trash\",\n    \"slumber\": \"types-slumber\",\n    \"stdlib_list\": \"types-stdlib-list\",\n    \"stripe\": \"types-stripe\",\n    \"toposort\": \"types-toposort\",\n    \"tqdm\": \"types-tqdm\",\n    \"tree_sitter\": \"types-tree-sitter\",\n    \"tree_sitter_languages\": \"types-tree-sitter-languages\",\n    \"ttkthemes\": \"types-ttkthemes\",\n    \"urllib3\": \"types-urllib3\",\n    \"vobject\": \"types-vobject\",\n    \"whatthepatch\": \"types-whatthepatch\",\n    \"win32\": \"types-pywin32\",\n    \"win32api\": \"types-pywin32\",\n    \"win32con\": \"types-pywin32\",\n    \"win32com\": \"types-pywin32\",\n    \"win32comext\": \"types-pywin32\",\n    \"win32gui\": \"types-pywin32\",\n    \"xmltodict\": \"types-xmltodict\",\n    \"xxhash\": \"types-xxhash\",\n    \"zxcvbn\": \"types-zxcvbn\",\n    # Stub packages that are not from typeshed\n    # Since these can be installed automatically via --install-types, we have a high trust bar\n    # for additions here\n    \"pandas\": \"pandas-stubs\",  # https://github.com/pandas-dev/pandas-stubs\n    \"lxml\": \"lxml-stubs\",  # https://github.com/lxml/lxml-stubs\n}\n", "path": "mypy/stubinfo.py"}], "after_files": [{"content": "from __future__ import annotations\n\n\ndef is_legacy_bundled_package(prefix: str) -> bool:\n    return prefix in legacy_bundled_packages\n\n\ndef approved_stub_package_exists(prefix: str) -> bool:\n    return is_legacy_bundled_package(prefix) or prefix in non_bundled_packages\n\n\ndef stub_package_name(prefix: str) -> str:\n    return legacy_bundled_packages.get(prefix) or non_bundled_packages[prefix]\n\n\n# Stubs for these third-party packages used to be shipped with mypy.\n#\n# Map package name to PyPI stub distribution name.\n#\n# Package name can have one or two components ('a' or 'a.b').\nlegacy_bundled_packages = {\n    \"aiofiles\": \"types-aiofiles\",\n    \"bleach\": \"types-bleach\",\n    \"boto\": \"types-boto\",\n    \"cachetools\": \"types-cachetools\",\n    \"click_spinner\": \"types-click-spinner\",\n    \"contextvars\": \"types-contextvars\",\n    \"croniter\": \"types-croniter\",\n    \"dataclasses\": \"types-dataclasses\",\n    \"dateparser\": \"types-dateparser\",\n    \"datetimerange\": \"types-DateTimeRange\",\n    \"dateutil\": \"types-python-dateutil\",\n    \"decorator\": \"types-decorator\",\n    \"deprecated\": \"types-Deprecated\",\n    \"docutils\": \"types-docutils\",\n    \"first\": \"types-first\",\n    \"geoip2\": \"types-geoip2\",\n    \"gflags\": \"types-python-gflags\",\n    \"google.protobuf\": \"types-protobuf\",\n    \"markdown\": \"types-Markdown\",\n    \"maxminddb\": \"types-maxminddb\",\n    \"mock\": \"types-mock\",\n    \"OpenSSL\": \"types-pyOpenSSL\",\n    \"paramiko\": \"types-paramiko\",\n    \"pkg_resources\": \"types-setuptools\",\n    \"polib\": \"types-polib\",\n    \"pycurl\": \"types-pycurl\",\n    \"pymysql\": \"types-PyMySQL\",\n    \"pyrfc3339\": \"types-pyRFC3339\",\n    \"python2\": \"types-six\",\n    \"pytz\": \"types-pytz\",\n    \"pyVmomi\": \"types-pyvmomi\",\n    \"redis\": \"types-redis\",\n    \"requests\": \"types-requests\",\n    \"retry\": \"types-retry\",\n    \"simplejson\": \"types-simplejson\",\n    \"singledispatch\": \"types-singledispatch\",\n    \"six\": \"types-six\",\n    \"slugify\": \"types-python-slugify\",\n    \"tabulate\": \"types-tabulate\",\n    \"toml\": \"types-toml\",\n    \"typed_ast\": \"types-typed-ast\",\n    \"tzlocal\": \"types-tzlocal\",\n    \"ujson\": \"types-ujson\",\n    \"waitress\": \"types-waitress\",\n    \"yaml\": \"types-PyYAML\",\n}\n\n# Map package name to PyPI stub distribution name from typeshed.\n# Stubs for these packages were never bundled with mypy. Don't\n# include packages that have a release that includes PEP 561 type\n# information.\n#\n# Package name can have one or two components ('a' or 'a.b').\n#\n# Note that these packages are omitted for now:\n#   pika:       typeshed's stubs are on PyPI as types-pika-ts.\n#               types-pika already exists on PyPI, and is more complete in many ways,\n#               but is a non-typeshed stubs package.\nnon_bundled_packages = {\n    \"MySQLdb\": \"types-mysqlclient\",\n    \"PIL\": \"types-Pillow\",\n    \"PyInstaller\": \"types-pyinstaller\",\n    \"Xlib\": \"types-python-xlib\",\n    \"annoy\": \"types-annoy\",\n    \"appdirs\": \"types-appdirs\",\n    \"aws_xray_sdk\": \"types-aws-xray-sdk\",\n    \"babel\": \"types-babel\",\n    \"backports.ssl_match_hostname\": \"types-backports.ssl_match_hostname\",\n    \"braintree\": \"types-braintree\",\n    \"bs4\": \"types-beautifulsoup4\",\n    \"bugbear\": \"types-flake8-bugbear\",\n    \"caldav\": \"types-caldav\",\n    \"cffi\": \"types-cffi\",\n    \"chevron\": \"types-chevron\",\n    \"colorama\": \"types-colorama\",\n    \"commonmark\": \"types-commonmark\",\n    \"consolemenu\": \"types-console-menu\",\n    \"crontab\": \"types-python-crontab\",\n    \"d3dshot\": \"types-D3DShot\",\n    \"dj_database_url\": \"types-dj-database-url\",\n    \"dockerfile_parse\": \"types-dockerfile-parse\",\n    \"docopt\": \"types-docopt\",\n    \"editdistance\": \"types-editdistance\",\n    \"entrypoints\": \"types-entrypoints\",\n    \"farmhash\": \"types-pyfarmhash\",\n    \"flake8_2020\": \"types-flake8-2020\",\n    \"flake8_builtins\": \"types-flake8-builtins\",\n    \"flake8_docstrings\": \"types-flake8-docstrings\",\n    \"flake8_plugin_utils\": \"types-flake8-plugin-utils\",\n    \"flake8_rst_docstrings\": \"types-flake8-rst-docstrings\",\n    \"flake8_simplify\": \"types-flake8-simplify\",\n    \"flake8_typing_imports\": \"types-flake8-typing-imports\",\n    \"flask_cors\": \"types-Flask-Cors\",\n    \"flask_migrate\": \"types-Flask-Migrate\",\n    \"flask_sqlalchemy\": \"types-Flask-SQLAlchemy\",\n    \"fpdf\": \"types-fpdf2\",\n    \"gdb\": \"types-gdb\",\n    \"google.cloud\": \"types-google-cloud-ndb\",\n    \"hdbcli\": \"types-hdbcli\",\n    \"html5lib\": \"types-html5lib\",\n    \"httplib2\": \"types-httplib2\",\n    \"humanfriendly\": \"types-humanfriendly\",\n    \"invoke\": \"types-invoke\",\n    \"jack\": \"types-JACK-Client\",\n    \"jmespath\": \"types-jmespath\",\n    \"jose\": \"types-python-jose\",\n    \"jsonschema\": \"types-jsonschema\",\n    \"keyboard\": \"types-keyboard\",\n    \"ldap3\": \"types-ldap3\",\n    \"nmap\": \"types-python-nmap\",\n    \"oauthlib\": \"types-oauthlib\",\n    \"openpyxl\": \"types-openpyxl\",\n    \"opentracing\": \"types-opentracing\",\n    \"paho.mqtt\": \"types-paho-mqtt\",\n    \"parsimonious\": \"types-parsimonious\",\n    \"passlib\": \"types-passlib\",\n    \"passpy\": \"types-passpy\",\n    \"peewee\": \"types-peewee\",\n    \"pep8ext_naming\": \"types-pep8-naming\",\n    \"playsound\": \"types-playsound\",\n    \"psutil\": \"types-psutil\",\n    \"psycopg2\": \"types-psycopg2\",\n    \"pyaudio\": \"types-pyaudio\",\n    \"pyautogui\": \"types-PyAutoGUI\",\n    \"pycocotools\": \"types-pycocotools\",\n    \"pyflakes\": \"types-pyflakes\",\n    \"pygments\": \"types-Pygments\",\n    \"pyi_splash\": \"types-pyinstaller\",\n    \"pynput\": \"types-pynput\",\n    \"pythoncom\": \"types-pywin32\",\n    \"pythonwin\": \"types-pywin32\",\n    \"pyscreeze\": \"types-PyScreeze\",\n    \"pysftp\": \"types-pysftp\",\n    \"pytest_lazyfixture\": \"types-pytest-lazy-fixture\",\n    \"pywintypes\": \"types-pywin32\",\n    \"regex\": \"types-regex\",\n    \"send2trash\": \"types-Send2Trash\",\n    \"slumber\": \"types-slumber\",\n    \"stdlib_list\": \"types-stdlib-list\",\n    \"stripe\": \"types-stripe\",\n    \"toposort\": \"types-toposort\",\n    \"tqdm\": \"types-tqdm\",\n    \"tree_sitter\": \"types-tree-sitter\",\n    \"tree_sitter_languages\": \"types-tree-sitter-languages\",\n    \"ttkthemes\": \"types-ttkthemes\",\n    \"urllib3\": \"types-urllib3\",\n    \"vobject\": \"types-vobject\",\n    \"whatthepatch\": \"types-whatthepatch\",\n    \"win32\": \"types-pywin32\",\n    \"win32api\": \"types-pywin32\",\n    \"win32con\": \"types-pywin32\",\n    \"win32com\": \"types-pywin32\",\n    \"win32comext\": \"types-pywin32\",\n    \"win32gui\": \"types-pywin32\",\n    \"xmltodict\": \"types-xmltodict\",\n    \"xxhash\": \"types-xxhash\",\n    \"zxcvbn\": \"types-zxcvbn\",\n    # Stub packages that are not from typeshed\n    # Since these can be installed automatically via --install-types, we have a high trust bar\n    # for additions here\n    \"pandas\": \"pandas-stubs\",  # https://github.com/pandas-dev/pandas-stubs\n    \"lxml\": \"lxml-stubs\",  # https://github.com/lxml/lxml-stubs\n}\n", "path": "mypy/stubinfo.py"}]}