I agree with all of this -- there are plenty of underscored functions
which should be in the ref manual.  If nothing else, then the __init__
functions of classes.  When restifying files I have made sure that all
the EXAMPLES:: from __init__ functions are copied into the class's own
docstring since then they do appear in the ref manual.

John

2009/4/24 Carl Witty <carl.wi...@gmail.com>:
>
> On Fri, Apr 24, 2009 at 5:36 AM, Pat LeSmithe <qed...@gmail.com> wrote:
>>
>> chris wuthrich wrote:
>>>  * In one of my files i have a line "power_series = series". This
>>> produces the full docstring of series to appear twice in the
>>> documentation, once under series and once under power_series. How can
>>> I exclude the alias ?
>>
>> According to
>>
>> http://sphinx.pocoo.org/ext/autodoc.html
>>
>> the autodoc directives
>>
>> .. autoclass:: pAdicLseriesOrdinary
>>   :members: series, is_ordinary, is_supersingular
>>
>> might work in Sphinx v0.5 and
>>
>> .. autoclass:: pAdicLseriesOrdinary
>>   :exclude-members: power_series
>>
>> in Sphinx v0.6.  However, I believe the current version of builder.py
>> does not scan for custom directives when it auto-generates the .rst
>> files.  I don't know if it's OK simply to put them in a docstring.
>>
>> Another possibility is to add to builder.py an auto-skip-member()
>> handler that skips certain methods, along the lines of
>>
>> http://groups.google.com/group/sphinx-dev/browse_thread/thread/852fbec28bc4ba15/719dbcf762c9db18?#719dbcf762c9db18
>>
>>
>> except that it scans the first part of a __doc__ attribute for some phrase.
>
> Of course, looking at __doc__ for a keyword won't help distinguish
> power_series from series after "power_series = series".
>
> I definitely do like the idea of using keywords to the docstrings to
> control whether they show up in the reference manual, though.  (This
> could override the current decision, which I think is "non-underscore
> methods are included, underscore methods are not".)
>
> It seems like the first line of the docstring (on the same line as the
> triple-quotes) would be a good place for such a keyword:
>
> def foo():
>    r"""exclude
>    Docs for foo.
>    """
>    pass
>
> I really want about three different levels of reference manual for a
> lot of my code.  For instance, sage/misc/sage_input.py has one
> function that's useful to people working from the command line or
> notebook, one class (with a bunch of methods) that's useful to people
> writing Sage library code (writing new types, and wanting to support
> sage_input on those types), and a bunch of classes that are only
> useful to people (only me, so far) working on sage_input itself.  It
> would be nice to be able to mark these ("public", "library", and
> "private", perhaps), and then be able to produce three different
> reference manuals (small, medium, and huge) with different subsets of
> the documentation.
>
> As far as aliases go, it should be possible to automatically detect
> aliases inside sphinx and produce appropriate documentation (once we
> decide what the appropriate documentation is).  (This would mean
> patching sphinx, or forking the autodoc extension; hopefully this
> would be considered a useful feature that would be accepted upstream.)
>
> Carl
>
> >
>

--~--~---------~--~----~------------~-------~--~----~
To post to this group, send email to sage-devel@googlegroups.com
To unsubscribe from this group, send email to 
sage-devel-unsubscr...@googlegroups.com
For more options, visit this group at http://groups.google.com/group/sage-devel
URLs: http://www.sagemath.org
-~----------~----~----~----~------~----~------~--~---

Reply via email to