Search code examples
python-3.xpython-2.7pydocpython-3.9

The pydoc module doesn't display all documentation for codecs.py


I was looking into how the pydoc module works in Python 3.9 and noticed that if you run pydoc server and go to the codecs.py module documentation, there's no documentation for the BufferedIncrementalDecoder and BufferedIncrementalEncoder classes (see picture).

I start the doc server with the following command:

py -m pydoc -b

I tried to find an online pydoc server for clarity, but only found it for Python 2.7. As you can see, BufferedIncrementalDecoder and BufferedIncrementalEncoder are also missing, although they are in the codecs.py module.

What am I missing here?


Solution

  • Those two classes BufferedIncrementalDecoder and BufferedIncrementalEncoder are not listed in the __all__ sequence in codecs.py

    as such, pydoc will skip those (choosing only to show the documentation for the exported names)

    If those two classes are intentionally public it may be worth sending a pull request to cpython to add them to the __all__ sequence