stdlib-list icon indicating copy to clipboard operation
stdlib-list copied to clipboard

There seems to be packages that are missing in Python Module Index

Open kwhkim opened this issue 2 years ago • 3 comments

Hello, great package!

I refrain from naming any module the same as python standard module. So I scraped from Python Module Index site and I recently found your module so I check my result with your result.

I scraped from https://docs.python.org/3.8/py-modindex.html

and see the difference from what the this package has.

Here is whole bunch of modules that are missing in Python Module Index(v3.8) but exist in what I got from stdlib_list("3.8")

{'_abc', '_ast', '_asyncio', '_bisect', '_blake2', '_bootlocale', '_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', '_elementtree', '_frozen_importlib', '_frozen_importlib_external', '_functools', '_gdbm', '_hashlib', '_heapq', '_imp', '_io', '_json', '_locale', '_lsprof', '_lzma', '_markupbase', '_md5', '_multibytecodec', '_multiprocessing', '_opcode', '_operator', '_osx_support', '_pickle', '_posixshmem', '_posixsubprocess', '_py_abc', '_pydecimal', '_pyio', '_queue', '_random', '_sha1', '_sha256', '_sha3', '_sha512', '_signal', '_sitebuiltins', '_socket', '_sqlite3', '_sre', '_ssl', '_stat', '_statistics', '_string', '_strptime', '_struct', '_symtable', '_testbuffer', '_testcapi', '_testimportmultiple', '_testinternalcapi', '_testmultiphase', '_threading_local', '_tkinter', '_tracemalloc', '_uuid', '_warnings', '_weakref', '_weakrefset', '_xxsubinterpreters', '_xxtestfuzz', 'antigravity', 'genericpath', 'idlelib', 'ntpath', 'nturl2path', 'opcode', 'posixpath', 'pydoc_data', 'pyexpat', 'sre_compile', 'sre_constants', 'sre_parse', 'this', 'xxlimited', 'xxsubtype'}

It might be that python has upgraded in 3.8.

kwhkim avatar Jan 03 '22 08:01 kwhkim

I check the validity of the list above.

import this works but import xxlimited does not.

So neither your list nor mine is perfect. What is your source? My source is the url mentioned above.

kwhkim avatar Jan 03 '22 08:01 kwhkim

Here is the full list of modules I failed to import with __import__()

No module named '_crypt' 19 _crypt No module named '_curses' 23 _curses No module named '_curses_panel' 24 _curses_panel No module named '_dbm' 26 _dbm No module named '_gdbm' 32 _gdbm No module named '_posixshmem' 49 _posixshmem No module named '_posixsubprocess' 50 _posixsubprocess No module named '_uuid' 80 _uuid No module named '_xxtestfuzz' 85 _xxtestfuzz No module named 'xxlimited' 99 xxlimited

kwhkim avatar Jan 03 '22 08:01 kwhkim

Oh it only supports the version up until 3.5...

kwhkim avatar Jan 03 '22 08:01 kwhkim

Yeah, this package additionally contains modules that appear in a Python distribution but aren't considered public (as indicated by the _prefix format).

Unfortunately, there's no incredibly sound way to get a "perfect" list of all standard library modules, since individual distributions might have different lists based on their target platform, OS, or even how they're built. The work in #64 will make things slightly more consistent here, but there will probably still be gaps around individual OSes and build configurations (until I have more time to work out reliable methods for retrieving those).

woodruffw avatar Jun 20 '23 16:06 woodruffw

Closing as intended.

woodruffw avatar Jun 22 '23 03:06 woodruffw