python - Sphinx 公共(public) API 文档

标签 python python-sphinx

我有大量 python 文件,我想为我的项目生成公共(public) API 文档。所有属于 api 一部分的功能我都用装饰器装饰了。

例如:

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

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

最佳答案

我正在回答我自己的问题......经过更多搜索后我发现了这个:

https://www.sphinx-doc.org/en/master/usage/extensions/autodoc.html#skipping-members

基本上你可以在你的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)

您还可以使用函数处理文档字符串。

关于python - Sphinx 公共(public) API 文档,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10343998/

相关文章:

python - 如何跳过 Airflow 运算符(operator)中的任务?

python - PyCharm中如何自动生成Python API文档

python-sphinx - Sphinx Pygments 词法分析器过滤器扩展?

python - Paramiko:围绕 NAT 路由器的端口转发

python - 如何在 Sphinx 文档中创建内部超链接

python - 在windows上安装python/sphinx环境?

python - Sphinx 的 .. include::directive 和 "duplicate label"警告

python - Plotly:如何在 x 轴上仅绘制月份和日期? (忽略年份)

python - Scipy Normaltest是如何使用的?

python - 导入错误 : cannot import name 'Users' from 'user'