I am very familiar with Python, and with Python documentation best practices, and with software documentation practices in general. I think it is safe to say that when someone very familiar with Python, or with API documentation in general, sees an entry in an API document for a function foo(*args), they expect the subsequent text to contain some mention of “args” or “*args.” It is normal if the text says, e.g., “args is the same thing as args in other_function” or “args is passed to other_function.” It is also normal, at least in some cases, if args is not spelled out explicitly, but its meaning is readily decipherable by a reasonable reader; for example, with max() it is obvious that args means arg3, arg4, etc.
But I do not think it is reasonable to expect a brand-new reader of the matplotlib documentation to understand instantly that when they see “*args” in a signature they should really search for “Parameters” in the subsequent text. It is confusing, and non-standard, and creates an unfortunate impression of low quality in what I know to be a fantastically high-quality tool.
You might be wondering: How would I know that matplotlib is high-quality, if I am so new to it? I should explain that. It was a bit misleading of me to say I am new to matplotlib. I have used it many times, but always in a hacky, one-off, cut-and-paste manner – just enough to draw some graph in the moment, and then move on. I have never dived deep into the documentation. When I say I am a newbie, I mean I am a newbie to really understanding framework – I am new to the matplotlib documentation. But I am familiar enough with matplotlib itself to know what a great tool it is.
Wouldn’t it be possible to post-process the output of numpydoc to rename Parameters to *args? (Actually, I can see that is not right – Parameters really is a section heading, and it would be better, perhaps, to adjoin “*args” just below it, for example.) If not that, I would like to understand better why linking “*args” to the Parameters section would be problematic. The former would be better, but either would be a huge improvement over the current state. (By the way, I did not understand the argument that “the text between them is more explanatory of how to use the function” at all. I’m not sure how that connects to this.)
Thank you for considering my input. I really appreciate your taking the time to respond.