在Python Sphinx的autodoc中更改模块的名称

时间:2019-05-14 19:42:03

标签: python python-sphinx autodoc

我正在寻找使用autofunction在Python模块中自动编写某些函数的功能。例如,假设函数在mylib/funcs/a.py中定义,并且该文件看起来像这样:

def myfunc(arg):
    """ My function does something """
    return

我的目的是让用户从库的根目录而不是在文件/模块路径处调用该函数。换句话说,mylib.myfunc而不是mylib.funcs.a.myfunc

但是,出于我不希望涉及的这个问题的范围之外的原因,当您执行import mylib; mylib.myfunc或执行from mylib import myfunc时,它并不指向实际函数docstring是。

我可以像这样获得自动文档的功能:

..currentmodule:: mylib.funcs.a
..autofunction:: myfunc

但是,生成的文档具有类似于mylib.funcs.a.myfunc的签名。我希望它只是mylib.myfunc

如果我不使用autodoc,可以在我的狮身人面像文档中执行以下操作:

.. function:: myfunc(arg)
    :module: mylib

所以我想我的问题是:在函数上使用autodoc时,是否可以“别名”或更改模块的标签?我查看了用于处理文档字符串和签名的预处理事件,但是这些似乎不允许您更改模块的显示方式。

0 个答案:

没有答案