"""A list of all builtin modules."""

from __future__ import annotations

import sys

BUILTINS: frozenset[str]
if sys.version_info >= (3, 10):
    BUILTINS = frozenset(sys.stdlib_module_names)  # pylint: disable=no-member
else:
    # Use the list of builtins from Python 3.9
    BUILTINS = frozenset(
        """\
__future__
_abc
_aix_support
_ast
_asyncio
_bisect
_blake2
_bootlocale
_bootsubprocess
_bz2
_codecs
_codecs_cn
_codecs_hk
_codecs_iso2022
_codecs_jp
_codecs_kr
_codecs_tw
_collections
_collections_abc
_compat_pickle
_compression
_contextvars
_crypt
_csv
_ctypes
_ctypes_test
_curses
_curses_panel
_datetime
_dbm
_decimal
_distutils_hack
_elementtree
_functools
_gdbm
_hashlib
_heapq
_imp
_io
_json
_locale
_lsprof
_lzma
_markupbase
_md5
_multibytecodec
_multiprocessing
_opcode
_operator
_osx_support
_peg_parser
_pickle
_posixshmem
_posixsubprocess
_py_abc
_pydecimal
_pyio
_queue
_random
_scproxy
_sha1
_sha256
_sha3
_sha512
_signal
_sitebuiltins
_socket
_sqlite3
_sre
_ssl
_stat
_statistics
_string
_strptime
_struct
_symtable
_sysconfigdata__darwin_darwin
_testbuffer
_testcapi
_testimportmultiple
_testinternalcapi
_testmultiphase
_thread
_threading_local
_tkinter
_tracemalloc
_uuid
_virtualenv
_warnings
_weakref
_weakrefset
_xxsubinterpreters
_xxtestfuzz
_zoneinfo
abc
aifc
antigravity
argparse
array
ast
asynchat
asyncio
asyncore
atexit
audioop
base64
bdb
binascii
binhex
bisect
builtins
bz2
cProfile
calendar
cgi
cgitb
chunk
cmath
cmd
code
codecs
codeop
collections
colorsys
compileall
concurrent
configparser
contextlib
contextvars
copy
copyreg
crypt
csv
ctypes
curses
dataclasses
datetime
dbm
decimal
difflib
dis
distutils
doctest
email
encodings
ensurepip
enum
errno
faulthandler
fcntl
filecmp
fileinput
fnmatch
formatter
fractions
ftplib
functools
gc
genericpath
getopt
getpass
gettext
glob
graphlib
grp
gzip
hashlib
heapq
hmac
html
http
idlelib
imaplib
imghdr
imp
importlib
inspect
io
ipaddress
itertools
json
keyword
lib2to3
linecache
locale
logging
lzma
mailbox
mailcap
marshal
math
memray
mimetypes
mmap
modulefinder
multiprocessing
netrc
nis
nntplib
ntpath
nturl2path
numbers
opcode
operator
optparse
os
parser
pathlib
pdb
pickle
pickletools
pip
pipes
pkg_resources
pkgutil
platform
plistlib
poplib
posix
posixpath
pprint
profile
pstats
pty
pwd
py_compile
pyclbr
pydoc
pydoc_data
pyexpat
queue
quopri
random
re
readline
reprlib
resource
rlcompleter
runpy
sched
secrets
select
selectors
setuptools
shelve
shlex
shutil
signal
site
smtpd
smtplib
sndhdr
socket
socketserver
sqlite3
sre_compile
sre_constants
sre_parse
ssl
stat
statistics
string
stringprep
struct
subprocess
sunau
symbol
symtable
sys
sysconfig
syslog
tabnanny
tarfile
telnetlib
tempfile
termios
test
textwrap
this
threading
time
timeit
tkinter
token
tokenize
trace
traceback
tracemalloc
tty
turtle
turtledemo
types
typing
unicodedata
unittest
urllib
uu
uuid
venv
warnings
wave
weakref
webbrowser
wheel
wsgiref
xdrlib
xml
xmlrpc
xxlimited
xxsubtype
zipapp
zipfile
zipimport
zlib
zoneinfo""".split(),
    )
