Sphinx Public API文档

时间:2012-04-27 02:24:50

标签: python documentation python-sphinx

我有大量的python文件,我想为我的项目生成公共API文档。作为api一部分的所有函数我都用装饰器装饰。

例如:

@api
def post_comment(comment)"
    """ Posts a coment
    """
    pass

同一个类中还有其他公共方法。 API分布在几个文件中,每个文件用方法定义类,有些方法有@api装饰器。如何告诉Sphinx仅为公共API生成文档?

1 个答案:

答案 0 :(得分:3)

我正在回答我自己的问题......经过一番搜索,我发现了这个问题:

http://sphinx.pocoo.org/ext/autodoc.html#event-autodoc-skip-member

基本上你可以在conf.py文件中定义一个函数,可以查看每个成员并跳过 所有没有合适装饰的人。

这是我的conf.py文件末尾的一个小例子(这是sphinx的配置文件)

def my_doc_skip(app, what, name, obj, skip, options):
    if what != "method":
        return True

    # if obj is decorated with @api
    #     return True
    # return False

def setup(app):
    app.connect('autodoc-process-docstring', my_process_docstring)
    app.connect('autodoc-skip-member', my_doc_skip)

您还可以使用函数处理docstring。