Description
I've not investigated when/whether there was a change in numpydoc, but scikit-learn has long relied on Attributes (as per docstring, rather than than descriptors on the class) being listed like Parameters. See old docs at http://scikit-learn.org/0.18/modules/generated/sklearn.linear_model.LogisticRegression.html for instance.
We've merged a recent numpydoc into scikit-learn master, which uses _str_member_list
to render Attributes, rather than _str_param_list
. See new docs at http://scikit-learn.org/dev/modules/generated/sklearn.linear_model.LogisticRegression.html. The listing looks more like methods, and hence like what you get out of autosummary for descriptors, but it altogether (and particularly the type spec) looks wrong. I'm not sure how those type specs work well for any users of Attributes.
To fix scikit-learn's needs, I propose that we extend the Jinja templating of numpy_docstring.rst such that instead of just rendering strings with e.g. {{ attributes }}
, we have Jinja statements like:
{% members_list Attributes %}
or perhaps Jinja filters like:
{% raw_attributes | members_list %}
but unless we want to compose filters, I'm not sure the benefit of this.
Would this be acceptable?