PyCQA / flake8-import-order

Flake8 plugin that checks import order against various Python Style Guides
GNU Lesser General Public License v3.0
278 stars 72 forks source link

Use sys.stdlib_module_names #198

Open Dreamsorcerer opened 1 year ago

Dreamsorcerer commented 1 year ago

Fix #184, fix #175 and similar, once and for all (atleast once support for Python 3.9 is dropped).

Dreamsorcerer commented 1 year ago

OK, these are in the old list, but not in sys.stdlib_module_names:

{'imgfile', 'fpformat', 'SimpleXMLRPCServer', 'aetools', 'aetypes', 'dummy_threading', 'httplib', 'future_builtins', 'bsddb', 'commands', 'mhlib', 'gl', 'user', 'macostools', 'imputil', 'DEVICE', 'cd', 'Queue', 'whichdb', 'autoGIL', 'dbhash', 'parser', 'CGIHTTPServer', 'fm', 'dircache', 'Mapping', '__builtin__', 'Cookie', 'cookielib', 'UserString', 'sha', 'UserDict', 'al', 'anydbm', 'formatter', 'fl', 'dl', 'Sequence', 'SimpleHTTPServer', 'aepack', 'hotshot', 'thread', 'Binary', 'SUNAUDIODEV', 'EasyDialogs', 'GL', 'findertools', 'repr', 'symbol', 'Bastion', 'xmlrpclib', 'ScrolledText', 'sunaudiodev', '_dummy_thread', 'rexec', 'robotparser', 'mimify', 'StringIO', 'MacOS', 'BaseHTTPServer', 'fpectl', 'Boolean', 'Tix', 'Numeric', 'new', 'gensuitemodule', 'DocXMLRPCServer', 'MiniAEFrame', 'Set', 'mimetools', 'macurl2path', 'gdbm', 'flp', 'UserList', 'md5', 'multifile', 'htmlentitydefs', 'cPickle', 'jpeg', 'sets', 'dummy_thread', 'ttk', 'posixfile', 'test', 'cStringIO', 'urllib2', 'ConfigParser', 'FL', 'MimeWriter', 'FrameWork', 'macpath', 'statvfs', 'os2emxpath', 'urlparse', 'ic', 'Text', 'SocketServer', 'htmllib', 'copy_reg', 'HTMLParser', 'Tkinter', 'rfc822', 'imageop', 'popen2', 'dumbdbm', '__main__', 'sgmllib', 'ColorPicker', 'mutex', 'AL'}
Dreamsorcerer commented 1 year ago

Almost all of them are old Python 2 modules. These are the ones that I can't see in the Python 2 docs, so no idea where these came from: {'_dummy_thread', 'Text', 'macurl2path', 'Boolean', 'Binary', 'Set', 'os2emxpath', 'Numeric', 'Mapping', 'Sequence'}

Plus __main__ which should be added, and test, which is available in Python 3, but is not included in the list for some reason..

Dreamsorcerer commented 1 year ago

That should help reduce maintenance in future anyway.