Skip to content

Commit

Permalink
Replace Sphinx napoleon for numpydoc
Browse files Browse the repository at this point in the history
Replace the builtin Sphinx plugin `napoleon` for `numpydoc`. This solves
the issue of attributes with trailing underscore not rendering properly
in docs. Add `numpydoc` as requirement for building the docs and add it
to the Sphinx configuration file. Remove `napoleon` from Sphinx
configuration. Remove the "Methods Summary" section in the Sphinx class
template since `numpydoc` builds its own list of all methods.

Related to fatiando/community#149
  • Loading branch information
santisoler committed Apr 24, 2024
1 parent 07b270b commit ca2758f
Show file tree
Hide file tree
Showing 4 changed files with 6 additions and 20 deletions.
14 changes: 0 additions & 14 deletions doc/_templates/autosummary/class.rst
Original file line number Diff line number Diff line change
Expand Up @@ -4,20 +4,6 @@

.. autoclass:: {{ objname }}

.. rubric:: Methods Summary

.. autosummary::
{% for item in members %}
{% if item in ['__call__'] %}
{{ objname }}.{{ item }}
{% endif %}
{% endfor %}
{% for item in methods %}
{% if item != '__init__' %}
{{ objname }}.{{ item }}
{% endif %}
{% endfor %}

----

{% for item in methods %}
Expand Down
10 changes: 4 additions & 6 deletions doc/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -25,13 +25,13 @@
extensions = [
"sphinx.ext.autodoc",
"sphinx.ext.autosummary",
"numpydoc",
"sphinx.ext.coverage",
"sphinx.ext.mathjax",
"sphinx.ext.doctest",
"sphinx.ext.viewcode",
"sphinx.ext.extlinks",
"sphinx.ext.intersphinx",
"sphinx.ext.napoleon",
"sphinx_gallery.gen_gallery",
"sphinx_design",
"sphinx_copybutton",
Expand All @@ -57,11 +57,9 @@
# Autosummary pages will be generated by sphinx-autogen instead of sphinx-build
autosummary_generate = []

# Otherwise, the Return parameter list looks different from the Parameters list
napoleon_use_rtype = False
# Otherwise, the Attributes parameter list looks different from the Parameters
# list
napoleon_use_ivar = True
# Create cross-references for the parameter types in the Parameters, Other
# Parameters, Returns and Yields sections of the docstring
numpydoc_xref_param_type = True

# Always show the source code that generates a plot
plot_include_source = True
Expand Down
1 change: 1 addition & 0 deletions env/requirements-docs.txt
Original file line number Diff line number Diff line change
@@ -1,4 +1,5 @@
sphinx==7.2.*
numpydoc==1.7.*
sphinx-book-theme==1.1.*
sphinx-gallery==0.15.*
sphinx-copybutton==0.5.*
Expand Down
1 change: 1 addition & 0 deletions environment.yml
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,7 @@ dependencies:
- coverage
# Documentation
- sphinx==7.2.*
- numpydoc==1.7.*
- sphinx-book-theme==1.1.*
- sphinx-gallery==0.15.*
- sphinx-copybutton==0.5.*
Expand Down

0 comments on commit ca2758f

Please sign in to comment.