[SciPy-dev] Guidelines for documenting parameter types

Stéfan van der Walt stefan at sun.ac.za
Sat Aug 16 23:49:59 EDT 2008


Hi Neil

2008/8/16 Neil Crighton <neilcrighton at gmail.com>:
> A few of us participating in the doc marathon
> (http://sd-2116.dedibox.fr/pydocweb/wiki/Front%20Page/) have some
> questions about documenting parameter types, and I thought it would be
> good to get others' opinions.  If we can agree on some guidelines,
> perhaps they could be incorporated into the docstring standard
> (http://projects.scipy.org/scipy/numpy/wiki/CodingStyleGuidelines#docstring-standard)?

Thank you for bringing this conversation to the table.  I'm replying
only to scipy-dev, since I don't want to flood both mailing lists.

> (2) Often it's useful to state the type of an input or returned array.
> If we want to say the array returned by np.all is of type bool, what
> should we say? Possibilities used so far are
>
> int array
> array of int
> array of ints
>
> I prefer 'array of ints', because it is also suitable for tuples and
> lists ('tuple of ints', or 'list of dtypes'). 'int tuple' is just bad
> :) .

I like 'array of ints' too.  Unless there are objections, let's stick to that.

> (4) Sometimes we need to specify more than one kind of type.  For
> example, the shape parameter of zeros can be either an int or a
> sequence of ints (but is not array_like, since it doesn't accepted
> nested sequences). How should we write this? Some possibilities are:
>
> int or sequence of ints
> {int, sequence of ints}

I like the first option, 'int or sequence of ints'.

> (5) For keyword arguments, the default value is often None. In this
> case we've been omitting None from the parameter types. However,
> sometimes None is a valid input type but is not the default (e.g. axis
> keyword for argsort). In this case I think it's a good idea to include
> None as an explicit parameter.

Good point.

Thank you for considering all of these cases.  I'll wait a few days
for more comments on the thread, but I like your suggestions above and
will incorporate them into the standard unless anyone objects.

Cheers
Stéfan



More information about the SciPy-Dev mailing list