I want to include the docstrings for __init__()
in my sphinx-generated documentation.
I was following the accepted answer to this stackoverflow question to add a handler for autodoc-skip-member
and was still unable to see my __init__()
documentation. Trace code inside the if name == "__init__":
block shows I am hitting that code.
On a hunch I removed 'sphinx.ext.napoleon'
from my extensions
definition, leaving
extensions = [
'sphinx.ext.autodoc',
# 'sphinx.ext.napoleon',
]
and then I can see the __init__()
documentation.
The only thing I see in the napoleon documentation that seems relevant is napoleon_include_special_with_doc
, which it says defaults to True
. Explicitly setting it to True
in conf.py
doesn't seem to change anything.
ETA: If I add the following method:
def __blah__(self):
'''blah blah blah'''
print self.__class__
I see __blah__()
in my generated documentation.
__blah__
to __repr__
or __str__
,
I see them in the generated documentation.__init__
and change
__blah__
to __init__
I don't see it.So it seems specific to __init__()
.
Is this a known issue, and is there another way to control this when using napoleon?
Per Rob's followon at https://github.com/sphinx-doc/sphinx/issues/2374, if you're using any extension that also sets a handler for the "autodoc-skip-member" event only one of the handlers will be used. This would seem to be the issue at hand. Thanks Rob!