[New-bugs-announce] [issue2726] Autodoc's autoclass directive should include constructor docstring

Abhik Shah report at bugs.python.org
Wed Apr 30 16:04:15 CEST 2008

New submission from Abhik Shah <abhikshah at gmail.com>:

The autoclass directive adds the class constructor's argspec to the header and shows the class docstring 
below it but doesn't add the constructor's docstring.  I usually use the class docstring to describe the 
class and the constructor's docstring to describe the constructor arguments so if the constructor argspec 
is being shown, I would expect the description of it to be included below.

Result of svn diff sphinx/ext/autodoc.py:

Index: sphinx/ext/autodoc.py
--- sphinx/ext/autodoc.py	(revision 62582)
+++ sphinx/ext/autodoc.py	(working copy)
@@ -154,6 +154,13 @@
     result.append(indent + '.. %s:: %s%s' % (what, qualname, args), '<autodoc>')
     result.append('', '<autodoc>')
+    # added by abhik (4/29/08)
+    if what == 'class':
+        initdoc = inspect.getdoc(getattr(todoc, '__init__'))
+        if initdoc:
+            docstring = docstring if docstring else ''
+            docstring += "\n" + indent + initdoc
     # the module directive doesn't like content
     if what != 'module':
         indent += '   '

I don't know how other people would expect autodoc to work so maybe this behavior could be controlled by 
a config param?

assignee: georg.brandl
components: Documentation tools (Sphinx)
messages: 66002
nosy: abhik, georg.brandl
severity: normal
status: open
title: Autodoc's autoclass directive should include constructor docstring
type: behavior
versions: Python 2.5

Tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list