Sphinx autodoc,其参数来自 readthedocs 上的模拟模块
Sphinx autodoc with parameter from a mocked module on readthedocs
我们正在使用 readthedocs 来记录我们的开源项目 pandapower。
由于 pandapower 依赖于无法在 rtd 上构建的 numpy 和其他 C 库,我们使用 autodoc_mock_imports 参数为这些库创建模拟导入。这在一般情况下效果很好,但会导致将 np.nan 作为默认参数的函数的 autodoc 出现问题,例如代码中的 here. The default value e.g. for the sn_kva parameter is np.nan (see here,但由于 numpy 作为模拟模块导入,它显示作为 "sphinx.ext.autodoc._MockModule object"。
有人知道可以避免这种情况吗?
提供所需的签名作为文档字符串的第一行。然后 Sphinx 将使用它作为输出中的签名。参见 http://www.sphinx-doc.org/en/stable/ext/autodoc.html#confval-autodoc_docstring_signature。
在您的例子中,函数的第一行如下所示:
def create_load(net, bus, p_kw, q_kvar=0, const_z_percent=0, const_i_percent=0, sn_kva=nan,
name=None, scaling=1., index=None,
in_service=True, type=None, max_p_kw=nan, min_p_kw=nan,
max_q_kvar=nan, min_q_kvar=nan, controllable=nan):
"""
create_load(net, bus, p_kw, q_kvar=0, const_z_percent=0, const_i_percent=0, sn_kva=nan,
name=None, scaling=1.0, index=None,
in_service=True, type=None, max_p_kw=nan, min_p_kw=nan,
max_q_kvar=nan, min_q_kvar=nan, controllable=nan)
Adds one load in table net["load"].
...
"""
我们正在使用 readthedocs 来记录我们的开源项目 pandapower。
由于 pandapower 依赖于无法在 rtd 上构建的 numpy 和其他 C 库,我们使用 autodoc_mock_imports 参数为这些库创建模拟导入。这在一般情况下效果很好,但会导致将 np.nan 作为默认参数的函数的 autodoc 出现问题,例如代码中的 here. The default value e.g. for the sn_kva parameter is np.nan (see here,但由于 numpy 作为模拟模块导入,它显示作为 "sphinx.ext.autodoc._MockModule object"。
有人知道可以避免这种情况吗?
提供所需的签名作为文档字符串的第一行。然后 Sphinx 将使用它作为输出中的签名。参见 http://www.sphinx-doc.org/en/stable/ext/autodoc.html#confval-autodoc_docstring_signature。
在您的例子中,函数的第一行如下所示:
def create_load(net, bus, p_kw, q_kvar=0, const_z_percent=0, const_i_percent=0, sn_kva=nan,
name=None, scaling=1., index=None,
in_service=True, type=None, max_p_kw=nan, min_p_kw=nan,
max_q_kvar=nan, min_q_kvar=nan, controllable=nan):
"""
create_load(net, bus, p_kw, q_kvar=0, const_z_percent=0, const_i_percent=0, sn_kva=nan,
name=None, scaling=1.0, index=None,
in_service=True, type=None, max_p_kw=nan, min_p_kw=nan,
max_q_kvar=nan, min_q_kvar=nan, controllable=nan)
Adds one load in table net["load"].
...
"""