Coverage for /pythoncovmergedfiles/medio/medio/usr/local/lib/python3.8/site-packages/astroid/_backport_stdlib_names.py: 67%
12 statements
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:53 +0000
« prev ^ index » next coverage.py v7.2.7, created at 2023-06-07 06:53 +0000
1# Licensed under the LGPL: https://www.gnu.org/licenses/old-licenses/lgpl-2.1.en.html
2# For details: https://github.com/pylint-dev/astroid/blob/main/LICENSE
3# Copyright (c) https://github.com/pylint-dev/astroid/blob/main/CONTRIBUTORS.txt
5"""
6Shim to support Python versions < 3.10 that don't have sys.stdlib_module_names
8These values were created by cherry-picking the commits from
9https://bugs.python.org/issue42955 into each version, but may be updated
10manually if changes are needed.
11"""
13import sys
15# TODO: Remove this file when Python 3.9 is no longer supported
17PY_3_7 = frozenset(
18 {
19 "__future__",
20 "_abc",
21 "_ast",
22 "_asyncio",
23 "_bisect",
24 "_blake2",
25 "_bootlocale",
26 "_bz2",
27 "_codecs",
28 "_codecs_cn",
29 "_codecs_hk",
30 "_codecs_iso2022",
31 "_codecs_jp",
32 "_codecs_kr",
33 "_codecs_tw",
34 "_collections",
35 "_collections_abc",
36 "_compat_pickle",
37 "_compression",
38 "_contextvars",
39 "_crypt",
40 "_csv",
41 "_ctypes",
42 "_curses",
43 "_curses_panel",
44 "_datetime",
45 "_dbm",
46 "_decimal",
47 "_dummy_thread",
48 "_elementtree",
49 "_functools",
50 "_gdbm",
51 "_hashlib",
52 "_heapq",
53 "_imp",
54 "_io",
55 "_json",
56 "_locale",
57 "_lsprof",
58 "_lzma",
59 "_markupbase",
60 "_md5",
61 "_msi",
62 "_multibytecodec",
63 "_multiprocessing",
64 "_opcode",
65 "_operator",
66 "_osx_support",
67 "_pickle",
68 "_posixsubprocess",
69 "_py_abc",
70 "_pydecimal",
71 "_pyio",
72 "_queue",
73 "_random",
74 "_sha1",
75 "_sha256",
76 "_sha3",
77 "_sha512",
78 "_signal",
79 "_sitebuiltins",
80 "_socket",
81 "_sqlite3",
82 "_sre",
83 "_ssl",
84 "_stat",
85 "_string",
86 "_strptime",
87 "_struct",
88 "_symtable",
89 "_thread",
90 "_threading_local",
91 "_tkinter",
92 "_tracemalloc",
93 "_uuid",
94 "_warnings",
95 "_weakref",
96 "_weakrefset",
97 "_winapi",
98 "abc",
99 "aifc",
100 "antigravity",
101 "argparse",
102 "array",
103 "ast",
104 "asynchat",
105 "asyncio",
106 "asyncore",
107 "atexit",
108 "audioop",
109 "base64",
110 "bdb",
111 "binascii",
112 "binhex",
113 "bisect",
114 "builtins",
115 "bz2",
116 "cProfile",
117 "calendar",
118 "cgi",
119 "cgitb",
120 "chunk",
121 "cmath",
122 "cmd",
123 "code",
124 "codecs",
125 "codeop",
126 "collections",
127 "colorsys",
128 "compileall",
129 "concurrent",
130 "configparser",
131 "contextlib",
132 "contextvars",
133 "copy",
134 "copyreg",
135 "crypt",
136 "csv",
137 "ctypes",
138 "curses",
139 "dataclasses",
140 "datetime",
141 "dbm",
142 "decimal",
143 "difflib",
144 "dis",
145 "distutils",
146 "doctest",
147 "dummy_threading",
148 "email",
149 "encodings",
150 "ensurepip",
151 "enum",
152 "errno",
153 "faulthandler",
154 "fcntl",
155 "filecmp",
156 "fileinput",
157 "fnmatch",
158 "formatter",
159 "fractions",
160 "ftplib",
161 "functools",
162 "gc",
163 "genericpath",
164 "getopt",
165 "getpass",
166 "gettext",
167 "glob",
168 "grp",
169 "gzip",
170 "hashlib",
171 "heapq",
172 "hmac",
173 "html",
174 "http",
175 "idlelib",
176 "imaplib",
177 "imghdr",
178 "imp",
179 "importlib",
180 "inspect",
181 "io",
182 "ipaddress",
183 "itertools",
184 "json",
185 "keyword",
186 "lib2to3",
187 "linecache",
188 "locale",
189 "logging",
190 "lzma",
191 "macpath",
192 "mailbox",
193 "mailcap",
194 "marshal",
195 "math",
196 "mimetypes",
197 "mmap",
198 "modulefinder",
199 "msilib",
200 "msvcrt",
201 "multiprocessing",
202 "netrc",
203 "nis",
204 "nntplib",
205 "nt",
206 "ntpath",
207 "nturl2path",
208 "numbers",
209 "opcode",
210 "operator",
211 "optparse",
212 "os",
213 "ossaudiodev",
214 "parser",
215 "pathlib",
216 "pdb",
217 "pickle",
218 "pickletools",
219 "pipes",
220 "pkgutil",
221 "platform",
222 "plistlib",
223 "poplib",
224 "posix",
225 "posixpath",
226 "pprint",
227 "profile",
228 "pstats",
229 "pty",
230 "pwd",
231 "py_compile",
232 "pyclbr",
233 "pydoc",
234 "pydoc_data",
235 "pyexpat",
236 "queue",
237 "quopri",
238 "random",
239 "re",
240 "readline",
241 "reprlib",
242 "resource",
243 "rlcompleter",
244 "runpy",
245 "sched",
246 "secrets",
247 "select",
248 "selectors",
249 "shelve",
250 "shlex",
251 "shutil",
252 "signal",
253 "site",
254 "smtpd",
255 "smtplib",
256 "sndhdr",
257 "socket",
258 "socketserver",
259 "spwd",
260 "sqlite3",
261 "sre_compile",
262 "sre_constants",
263 "sre_parse",
264 "ssl",
265 "stat",
266 "statistics",
267 "string",
268 "stringprep",
269 "struct",
270 "subprocess",
271 "sunau",
272 "symbol",
273 "symtable",
274 "sys",
275 "sysconfig",
276 "syslog",
277 "tabnanny",
278 "tarfile",
279 "telnetlib",
280 "tempfile",
281 "termios",
282 "textwrap",
283 "this",
284 "threading",
285 "time",
286 "timeit",
287 "tkinter",
288 "token",
289 "tokenize",
290 "trace",
291 "traceback",
292 "tracemalloc",
293 "tty",
294 "turtle",
295 "turtledemo",
296 "types",
297 "typing",
298 "unicodedata",
299 "unittest",
300 "urllib",
301 "uu",
302 "uuid",
303 "venv",
304 "warnings",
305 "wave",
306 "weakref",
307 "webbrowser",
308 "winreg",
309 "winsound",
310 "wsgiref",
311 "xdrlib",
312 "xml",
313 "xmlrpc",
314 "zipapp",
315 "zipfile",
316 "zipimport",
317 "zlib",
318 }
319)
321PY_3_8 = frozenset(
322 PY_3_7
323 - {
324 "macpath",
325 }
326 | {
327 "_posixshmem",
328 "_statistics",
329 "_xxsubinterpreters",
330 }
331)
333PY_3_9 = frozenset(
334 PY_3_8
335 - {
336 "_dummy_thread",
337 "dummy_threading",
338 }
339 | {
340 "_aix_support",
341 "_bootsubprocess",
342 "_peg_parser",
343 "_zoneinfo",
344 "graphlib",
345 "zoneinfo",
346 }
347)
349if sys.version_info[:2] == (3, 7):
350 stdlib_module_names = PY_3_7
351elif sys.version_info[:2] == (3, 8):
352 stdlib_module_names = PY_3_8
353elif sys.version_info[:2] == (3, 9):
354 stdlib_module_names = PY_3_9
355else:
356 raise AssertionError("This module is only intended as a backport for Python <= 3.9")