On 01/09/2013 12:20 PM, Nelle Varoquaux wrote:
Hi all,

A while back, Mike drafted a MEP to modernize the documentation:

https://github.com/matplotlib/matplotlib/wiki/Mep10

The main idea behind this MEP is to use the full potential of new tools and conventions available for sphinx, to make the documentation more readable, maintainable and consistent over the codebase. The main proposed changes are the following:

- follow the numpy docstring format, which is widely adopted among scientific python projects (numpy, scipy, scikit-learn, scikit-image, etc). - use the autodoc_docstring_signature of sphinx 1.1, which allow to have the explicit function signature instead of the python one in the generated documentation (args* and **kwargs are replaced by the explicits arguments) - replace the duplication of the documentation (by concatenating docstrings) by explicits references. This will shorten the docstrings. - use the autosummary extension of sphinx (sphinx aggregates small classes on one page, while classes with many methods such as xes.axes have one page dedicated to them)

My suggestion is actually that large classes (like Axes) would be broken up to multiple pages (one per method). Smaller classes can remain on the same page. Sphinx doesn't do any automatic determination here (as far as I know), but we can decide how to organize it on a class-by-class basis.

- examples should link to relevant documentation
This dovetails nicely with Tony Yu's reorganization of the examples.

The implementation is going to be long and tedious: Mike has separated it 5 steps, that can be done independently from one another.
If this MEP has been accepted, I can start implementing it (with step 1).

When I initially brought this MEP to the mailing list (as now), the only controversy was surrounding the function signatures. I think we can proceed with the plan to move function signatures to the top of the docstring for now (this is reasonably easy, since they're in the docstrings now, just not in a format that Sphinx can readily use). If a proposal is made that allows us to use **kwargs less in the first place, that can be done independently of the docstring changes. (Worst case, we end up removing the signatures from the docstrings later). But I haven't found a solution to the **kwargs problem that addresses the need to extend many disparate methods simultaneously in the future.

We can wait a little to see if there are further comments, but I think there's probably little major controversy over the rest of the MEP.

Mike


Thanks,
N



------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612


_______________________________________________
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

------------------------------------------------------------------------------
Master Java SE, Java EE, Eclipse, Spring, Hibernate, JavaScript, jQuery
and much more. Keep your Java skills current with LearnJavaNow -
200+ hours of step-by-step video tutorials by Java experts.
SALE $49.99 this month only -- learn more at:
http://p.sf.net/sfu/learnmore_122612 
_______________________________________________
Matplotlib-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/matplotlib-devel

Reply via email to