3

Sphinx拡張NumpyDocを使用して、ドキュメントがドキュメント化されているコードと一致することを自動的に確認する方法はありますか?

たとえば、次のドキュメントはタイプミスによりコードと一致しません。

def myfunc(apples, bears):
"""
    Parameters
    ----------
    apples : int
        The number of apples.
    beards : int
        The number of bears to eat the apples.
"""

Sphinx または NumpyDoc でこれをエラーにすることはできますか?

4

1 に答える 1

0

これは NumpyDoc または Sphinx に組み込まれていますが、NumpyDoc のスクレイピング機能を使用することは可能です。必要な機能を実現するコード スニペットを次に示します。

import inspect

from numpydoc.docscrape import FunctionDoc

def myfunc(apples, bears):
    """
        Parameters
        ----------
        apples : int
            The number of apples.
        beards : int
            The number of bears to eat the apples.
    """

doc = FunctionDoc(myfunc)
argspec = inspect.getargspec(myfunc)

# check for basic spelling errors
for a_i, arg in enumerate(argspec.args):
    if arg != doc["Parameters"][a_i][0]:
        print("%s != %s" %(arg, doc["Parameters"][a_i][0]))
于 2016-12-11T08:30:42.360 に答える