Включить определенные импортированные функции в документацию sphinx - PullRequest
0 голосов
/ 29 мая 2018

Допустим, что my_module имеет следующее __init__.py:

from my_module.misc import f2

def f1(p1,p2):
    """
    My f1 function.

    :param p1: First parameter.
    :param p2: Second parameter.
    :return: Returned value.
    """
    return p1 + p2

Где misc.py содержит следующую функцию:

def f2(p1,p2):
    """
    My f2 function.

    :param p1: First parameter.
    :param p2: Second parameter.
    :return: Returned value.
    """
    return p1 - p2

Я документирую my_moduleиспользуя sphinx со следующим подходом и f2 не появляется в результате, есть ли способ указать, что он должен быть включен?

my_module
---------

.. automodule:: my_module
   :members:
   :undoc-members:

1 Ответ

0 голосов
/ 30 мая 2018

Работает, если вы добавляете список __all__ в __init __. Py.

from my_module.misc import f2

__all__ = ["f1", "f2"]

def f1(p1,p2):
    """
    My f1 function.

    :param p1: First parameter.
    :param p2: Second parameter.
    :return: Returned value.
    """
    return p1 + p2

Из документации Sphinx :

Для модулей:__all__ будет учитываться при поиске членов, если вы не укажете флаг ignore-module-all.Без ignore-module-all порядок членов также будет таким: __all__.

...