Closed
Description
What do we want out of our API docs? What are the current issues?
I think we're (mostly) happy with api.rst
: we manually list the classes and methods that we want to include the docs, grouped by topics of our choosing.
I think we're unhappy with some aspects of the auto-genrated class pages.
The hack in our vendored numpydoc.py
"fixing" the autosummary to not include a table of methods for certain classes. This avoids a ton of redundant pages with the parent class, but we can't call out important differences like RangeIndex.start
We'd like a way to limit autosummary to specific methods in a class (I think this can be done with a Methods
section in the docstring)
Tasks:
- Limit API doc of classes to certain members (either extend autodoc or do it manually?) -> DOC: document subclasses in API docs with selection of specific methods/attributes #18202
- DOC: fix API docs generation with sphinx 1.6 DOC: fix API docs generation with sphinx 1.6 #16705
- DOC: documenting cython class (eg Timestamp): "cyfunction is not a python function" DOC: documenting cython class (eg Timestamp): "cyfunction is not a python function" #5218 -> DOC: document subclasses in API docs with selection of specific methods/attributes #18202
- Remove vendored IPython sphinxext (DOC: Remove vendored IPython.sphinext #18193, DOC: removed vendored IPython.sphinxext - take 2 #19657)
- should be OK with BUG sphinxext: ensure sys.stdout is used for logging (#10904) ipython/ipython#10907 released)
- removed in DOC: removed vendored IPython.sphinxext - take 2 #19657
- We should check on Windows!
- Align our numpydoc version with upstream / use upstream version: for this we somehow need to fix (or push upstream) our hacks to numpydoc ( I think this are the only relevant changes to the numpydoc source since it was last aligned with upstream in DOC: update numpydoc to current master (commit 223df02530) #6003) (xref DOC: some hacks to get rid of warnings #11257)):
- cf40991 initial commit for allowing classes without members table -> DOC: document subclasses in API docs with selection of specific methods/attributes #18202
- 70c9d31 for None attributes
- Remove vendored numpydoc (work around Format attributes like parameters numpy/numpydoc#106 (comment))
- Fix
cache_readonly
copying docstring (The use of @cache_readonly removes the docstring of attributes #18197) -
Index.name
and other class attributes. Either fix in numpydoc to use sphinx magic, or make into properties -
DataFrame.index
andDataFrame.columns
(Allow accessing AxisProperties on classes #18196) - Check performance (better than 1.6, but still slower? Considerable slowdown in writing autodoc pages with sphinx 1.6.x sphinx-doc/sphinx#4230)