| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800801802803804805806807808809810811812813814815816817818819820821822823824825826827828829830831832833834835836837838839840841842843844845846847848849850851852853854855856857858859860861862863864865866867868869870871872873874875876877878879880881882883884885886887888889890891892893894895896897898899900901902903904905906907908909910911912913914915916917918919920921922923924925926927928929930931932933934935936937938939940941942943944945946947948949950951952953954955956957958959960961962963964965966967968969970971972973974975976977978979980981982983984985986987988989990991992993994995996997998999100010011002100310041005100610071008100910101011101210131014101510161017101810191020102110221023102410251026102710281029103010311032103310341035103610371038103910401041104210431044104510461047104810491050105110521053105410551056105710581059106010611062106310641065106610671068106910701071107210731074107510761077107810791080108110821083108410851086108710881089109010911092109310941095109610971098109911001101110211031104110511061107110811091110111111121113111411151116 |
- """List of Python standard library modules.
- Sadly, there is no reliable way to tell whether a module is part of the
- standard library except by comparing to a canonical list.
- This is taken from https://github.com/PyCQA/isort/tree/develop/isort/stdlibs,
- which itself is sourced from the Python documentation.
- """
- import sys
- def is_stdlib_module(module: str) -> bool:
- base_module = module.partition(".")[0]
- return base_module in _get_stdlib_modules()
- def _get_stdlib_modules():
- if sys.version_info.major == 3:
- if sys.version_info.minor == 6:
- return stdlib3_6
- if sys.version_info.minor == 7:
- return stdlib3_7
- if sys.version_info.minor == 8:
- return stdlib3_8
- if sys.version_info.minor == 9:
- return stdlib3_9
- if sys.version_info.minor == 10:
- return stdlib3_10
- raise RuntimeError(f"Unsupported Python version: {sys.version_info}")
- stdlib3_6 = {
- "_dummy_thread",
- "_thread",
- "abc",
- "aifc",
- "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",
- "copy",
- "copyreg",
- "crypt",
- "csv",
- "ctypes",
- "curses",
- "datetime",
- "dbm",
- "decimal",
- "difflib",
- "dis",
- "distutils",
- "doctest",
- "dummy_threading",
- "email",
- "encodings",
- "ensurepip",
- "enum",
- "errno",
- "faulthandler",
- "fcntl",
- "filecmp",
- "fileinput",
- "fnmatch",
- "formatter",
- "fpectl",
- "fractions",
- "ftplib",
- "functools",
- "gc",
- "getopt",
- "getpass",
- "gettext",
- "glob",
- "grp",
- "gzip",
- "hashlib",
- "heapq",
- "hmac",
- "html",
- "http",
- "imaplib",
- "imghdr",
- "imp",
- "importlib",
- "inspect",
- "io",
- "ipaddress",
- "itertools",
- "json",
- "keyword",
- "lib2to3",
- "linecache",
- "locale",
- "logging",
- "lzma",
- "macpath",
- "mailbox",
- "mailcap",
- "marshal",
- "math",
- "mimetypes",
- "mmap",
- "modulefinder",
- "msilib",
- "msvcrt",
- "multiprocessing",
- "netrc",
- "nis",
- "nntplib",
- "ntpath",
- "numbers",
- "operator",
- "optparse",
- "os",
- "ossaudiodev",
- "parser",
- "pathlib",
- "pdb",
- "pickle",
- "pickletools",
- "pipes",
- "pkgutil",
- "platform",
- "plistlib",
- "poplib",
- "posix",
- "posixpath",
- "pprint",
- "profile",
- "pstats",
- "pty",
- "pwd",
- "py_compile",
- "pyclbr",
- "pydoc",
- "queue",
- "quopri",
- "random",
- "re",
- "readline",
- "reprlib",
- "resource",
- "rlcompleter",
- "runpy",
- "sched",
- "secrets",
- "select",
- "selectors",
- "shelve",
- "shlex",
- "shutil",
- "signal",
- "site",
- "smtpd",
- "smtplib",
- "sndhdr",
- "socket",
- "socketserver",
- "spwd",
- "sqlite3",
- "sre",
- "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",
- "threading",
- "time",
- "timeit",
- "tkinter",
- "token",
- "tokenize",
- "trace",
- "traceback",
- "tracemalloc",
- "tty",
- "turtle",
- "turtledemo",
- "types",
- "typing",
- "unicodedata",
- "unittest",
- "urllib",
- "uu",
- "uuid",
- "venv",
- "warnings",
- "wave",
- "weakref",
- "webbrowser",
- "winreg",
- "winsound",
- "wsgiref",
- "xdrlib",
- "xml",
- "xmlrpc",
- "zipapp",
- "zipfile",
- "zipimport",
- "zlib",
- }
- stdlib3_7 = {
- "_dummy_thread",
- "_thread",
- "abc",
- "aifc",
- "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",
- "dummy_threading",
- "email",
- "encodings",
- "ensurepip",
- "enum",
- "errno",
- "faulthandler",
- "fcntl",
- "filecmp",
- "fileinput",
- "fnmatch",
- "formatter",
- "fractions",
- "ftplib",
- "functools",
- "gc",
- "getopt",
- "getpass",
- "gettext",
- "glob",
- "grp",
- "gzip",
- "hashlib",
- "heapq",
- "hmac",
- "html",
- "http",
- "imaplib",
- "imghdr",
- "imp",
- "importlib",
- "inspect",
- "io",
- "ipaddress",
- "itertools",
- "json",
- "keyword",
- "lib2to3",
- "linecache",
- "locale",
- "logging",
- "lzma",
- "macpath",
- "mailbox",
- "mailcap",
- "marshal",
- "math",
- "mimetypes",
- "mmap",
- "modulefinder",
- "msilib",
- "msvcrt",
- "multiprocessing",
- "netrc",
- "nis",
- "nntplib",
- "ntpath",
- "numbers",
- "operator",
- "optparse",
- "os",
- "ossaudiodev",
- "parser",
- "pathlib",
- "pdb",
- "pickle",
- "pickletools",
- "pipes",
- "pkgutil",
- "platform",
- "plistlib",
- "poplib",
- "posix",
- "posixpath",
- "pprint",
- "profile",
- "pstats",
- "pty",
- "pwd",
- "py_compile",
- "pyclbr",
- "pydoc",
- "queue",
- "quopri",
- "random",
- "re",
- "readline",
- "reprlib",
- "resource",
- "rlcompleter",
- "runpy",
- "sched",
- "secrets",
- "select",
- "selectors",
- "shelve",
- "shlex",
- "shutil",
- "signal",
- "site",
- "smtpd",
- "smtplib",
- "sndhdr",
- "socket",
- "socketserver",
- "spwd",
- "sqlite3",
- "sre",
- "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",
- "threading",
- "time",
- "timeit",
- "tkinter",
- "token",
- "tokenize",
- "trace",
- "traceback",
- "tracemalloc",
- "tty",
- "turtle",
- "turtledemo",
- "types",
- "typing",
- "unicodedata",
- "unittest",
- "urllib",
- "uu",
- "uuid",
- "venv",
- "warnings",
- "wave",
- "weakref",
- "webbrowser",
- "winreg",
- "winsound",
- "wsgiref",
- "xdrlib",
- "xml",
- "xmlrpc",
- "zipapp",
- "zipfile",
- "zipimport",
- "zlib",
- }
- stdlib3_8 = {
- "_dummy_thread",
- "_thread",
- "abc",
- "aifc",
- "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",
- "dummy_threading",
- "email",
- "encodings",
- "ensurepip",
- "enum",
- "errno",
- "faulthandler",
- "fcntl",
- "filecmp",
- "fileinput",
- "fnmatch",
- "formatter",
- "fractions",
- "ftplib",
- "functools",
- "gc",
- "getopt",
- "getpass",
- "gettext",
- "glob",
- "grp",
- "gzip",
- "hashlib",
- "heapq",
- "hmac",
- "html",
- "http",
- "imaplib",
- "imghdr",
- "imp",
- "importlib",
- "inspect",
- "io",
- "ipaddress",
- "itertools",
- "json",
- "keyword",
- "lib2to3",
- "linecache",
- "locale",
- "logging",
- "lzma",
- "mailbox",
- "mailcap",
- "marshal",
- "math",
- "mimetypes",
- "mmap",
- "modulefinder",
- "msilib",
- "msvcrt",
- "multiprocessing",
- "netrc",
- "nis",
- "nntplib",
- "ntpath",
- "numbers",
- "operator",
- "optparse",
- "os",
- "ossaudiodev",
- "parser",
- "pathlib",
- "pdb",
- "pickle",
- "pickletools",
- "pipes",
- "pkgutil",
- "platform",
- "plistlib",
- "poplib",
- "posix",
- "posixpath",
- "pprint",
- "profile",
- "pstats",
- "pty",
- "pwd",
- "py_compile",
- "pyclbr",
- "pydoc",
- "queue",
- "quopri",
- "random",
- "re",
- "readline",
- "reprlib",
- "resource",
- "rlcompleter",
- "runpy",
- "sched",
- "secrets",
- "select",
- "selectors",
- "shelve",
- "shlex",
- "shutil",
- "signal",
- "site",
- "smtpd",
- "smtplib",
- "sndhdr",
- "socket",
- "socketserver",
- "spwd",
- "sqlite3",
- "sre",
- "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",
- "threading",
- "time",
- "timeit",
- "tkinter",
- "token",
- "tokenize",
- "trace",
- "traceback",
- "tracemalloc",
- "tty",
- "turtle",
- "turtledemo",
- "types",
- "typing",
- "unicodedata",
- "unittest",
- "urllib",
- "uu",
- "uuid",
- "venv",
- "warnings",
- "wave",
- "weakref",
- "webbrowser",
- "winreg",
- "winsound",
- "wsgiref",
- "xdrlib",
- "xml",
- "xmlrpc",
- "zipapp",
- "zipfile",
- "zipimport",
- "zlib",
- }
- stdlib3_9 = {
- "_thread",
- "abc",
- "aifc",
- "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",
- "getopt",
- "getpass",
- "gettext",
- "glob",
- "graphlib",
- "grp",
- "gzip",
- "hashlib",
- "heapq",
- "hmac",
- "html",
- "http",
- "imaplib",
- "imghdr",
- "imp",
- "importlib",
- "inspect",
- "io",
- "ipaddress",
- "itertools",
- "json",
- "keyword",
- "lib2to3",
- "linecache",
- "locale",
- "logging",
- "lzma",
- "mailbox",
- "mailcap",
- "marshal",
- "math",
- "mimetypes",
- "mmap",
- "modulefinder",
- "msilib",
- "msvcrt",
- "multiprocessing",
- "netrc",
- "nis",
- "nntplib",
- "ntpath",
- "numbers",
- "operator",
- "optparse",
- "os",
- "ossaudiodev",
- "parser",
- "pathlib",
- "pdb",
- "pickle",
- "pickletools",
- "pipes",
- "pkgutil",
- "platform",
- "plistlib",
- "poplib",
- "posix",
- "posixpath",
- "pprint",
- "profile",
- "pstats",
- "pty",
- "pwd",
- "py_compile",
- "pyclbr",
- "pydoc",
- "queue",
- "quopri",
- "random",
- "re",
- "readline",
- "reprlib",
- "resource",
- "rlcompleter",
- "runpy",
- "sched",
- "secrets",
- "select",
- "selectors",
- "shelve",
- "shlex",
- "shutil",
- "signal",
- "site",
- "smtpd",
- "smtplib",
- "sndhdr",
- "socket",
- "socketserver",
- "spwd",
- "sqlite3",
- "sre",
- "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",
- "threading",
- "time",
- "timeit",
- "tkinter",
- "token",
- "tokenize",
- "trace",
- "traceback",
- "tracemalloc",
- "tty",
- "turtle",
- "turtledemo",
- "types",
- "typing",
- "unicodedata",
- "unittest",
- "urllib",
- "uu",
- "uuid",
- "venv",
- "warnings",
- "wave",
- "weakref",
- "webbrowser",
- "winreg",
- "winsound",
- "wsgiref",
- "xdrlib",
- "xml",
- "xmlrpc",
- "zipapp",
- "zipfile",
- "zipimport",
- "zlib",
- "zoneinfo",
- }
- stdlib3_10 = {
- "_ast",
- "_thread",
- "abc",
- "aifc",
- "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",
- "fractions",
- "ftplib",
- "functools",
- "gc",
- "getopt",
- "getpass",
- "gettext",
- "glob",
- "graphlib",
- "grp",
- "gzip",
- "hashlib",
- "heapq",
- "hmac",
- "html",
- "http",
- "imaplib",
- "imghdr",
- "imp",
- "importlib",
- "inspect",
- "io",
- "ipaddress",
- "itertools",
- "json",
- "keyword",
- "lib2to3",
- "linecache",
- "locale",
- "logging",
- "lzma",
- "mailbox",
- "mailcap",
- "marshal",
- "math",
- "mimetypes",
- "mmap",
- "modulefinder",
- "msilib",
- "msvcrt",
- "multiprocessing",
- "netrc",
- "nis",
- "nntplib",
- "ntpath",
- "numbers",
- "operator",
- "optparse",
- "os",
- "ossaudiodev",
- "pathlib",
- "pdb",
- "pickle",
- "pickletools",
- "pipes",
- "pkgutil",
- "platform",
- "plistlib",
- "poplib",
- "posix",
- "posixpath",
- "pprint",
- "profile",
- "pstats",
- "pty",
- "pwd",
- "py_compile",
- "pyclbr",
- "pydoc",
- "queue",
- "quopri",
- "random",
- "re",
- "readline",
- "reprlib",
- "resource",
- "rlcompleter",
- "runpy",
- "sched",
- "secrets",
- "select",
- "selectors",
- "shelve",
- "shlex",
- "shutil",
- "signal",
- "site",
- "smtpd",
- "smtplib",
- "sndhdr",
- "socket",
- "socketserver",
- "spwd",
- "sqlite3",
- "sre",
- "sre_compile",
- "sre_constants",
- "sre_parse",
- "ssl",
- "stat",
- "statistics",
- "string",
- "stringprep",
- "struct",
- "subprocess",
- "sunau",
- "symtable",
- "sys",
- "sysconfig",
- "syslog",
- "tabnanny",
- "tarfile",
- "telnetlib",
- "tempfile",
- "termios",
- "test",
- "textwrap",
- "threading",
- "time",
- "timeit",
- "tkinter",
- "token",
- "tokenize",
- "trace",
- "traceback",
- "tracemalloc",
- "tty",
- "turtle",
- "turtledemo",
- "types",
- "typing",
- "unicodedata",
- "unittest",
- "urllib",
- "uu",
- "uuid",
- "venv",
- "warnings",
- "wave",
- "weakref",
- "webbrowser",
- "winreg",
- "winsound",
- "wsgiref",
- "xdrlib",
- "xml",
- "xmlrpc",
- "zipapp",
- "zipfile",
- "zipimport",
- "zlib",
- "zoneinfo",
- }
|