首页 > 其他分享 >Pdoc:轻量级生成 API 文档

Pdoc:轻量级生成 API 文档

时间:2024-05-08 15:36:53浏览次数:22  
标签:name Python 生成 API 文档 Pdoc https 轻量级 pdoc

pdoc 是一个轻量级的库,专注于为 Python 项目生成 API 文档。
它通过扫描指定的模块和包,自动提取文档字符串,快速转化为易于浏览的 HTML 文档。这项技术尤其适用于需要快速生成文档的现代 Python 项目。
与市面上其他文档生成库例如 Sphinx 相比,pdoc 的特色在于其轻量级和易用性。
开发者无需过多配置,便可以得到整洁的 API 文档,将时间更多地投入到代码的编写上。
但如果项目需要更丰富的用户手册或教程编写功能,那么可能需要考虑其它如 Sphinx 的工具。
项目地址:https://github.com/mitmproxy/pdoc

安装

pdoc 支持 Python 3.6 以上版本,安装非常简便,只需一个 pip 命令:

pip install pdoc

基本用法

使用 pdoc,你只需要执行一个简单的命令即可生成你的项目文档:

pdoc your_python_module

或者,针对一个具体的文件,可以这样:

pdoc ./my_project.py

pdoc 还有内置的 web 服务器支持实时重新加载。如果你想查看 pdoc 自己的文档,可以运行:

pdoc pdoc

想查看支持的命令行选项,运行:

pdoc --help

或者,你可以访问官方文档[1]来获取更多信息。

Markdown 支持

pdoc 极大地简化了文档编写流程,它将文档视为普通的 Markdown 文件,让你更专注于内容的创作。

现代 Python 语言特性

pdoc 对现代 Python 3 的类型注解和其它特性提供了一流的支持。

自动化和便捷性

pdoc 能自动链接你文档字符串中的标识符到对应文档。它也会理解 numpydoc 和 Google 风格的字符串。

完美的继承

pdoc 会通过继承来解析类型注解和 docstrings。

高级功能

pdoc 的高级功能包括:

  • 自定义 HTML 模板支持
  • 自动尝试解析类型注释字符串字面量作为前向引用
  • 使用继承来解析类成员的类型注释和文档字符串。

对于有着更复杂文档需求的开发者,pdoc 提供了生成独立 HTML 文档的能力,而无需其他依赖。

在线预览

有时你可能需要直接预览生成的文档。pdoc 提供了在线预览的功能,只需一个命令:

pdoc -o ./html pdoc

生成的网站示例可以在这里查看官方文档。

示例

"""
A small `pdoc` example.
"""

class Dog:
    """"""
    name: str
    """The name of our dog."""
    friends: list["Dog"]
    """The friends of our dog."""

    def __init__(self, name: str):
        """Make a Dog without any friends (yet)."""
        self.name = name
        self.friends = []

    def bark(self, loud: bool = True):
        """*woof*"""

    @property
    def age(self) -> int:
        """*3 years old*"""        
pdoc ./snake.py

Pdoc:轻量级生成%20API%20文档-0

自定义网站 logo

pdoc ./snake.py --logo "https://placedog.net/300?random"

参考资料
[1]
官方文档: https://pdoc.dev/docs/pdoc.html
[2]
numpydoc: https://www.osgeo.cn/numpy/docs/howto_document.html
[3]
docstrings: https://www.runoob.com/w3cnote/python-docstrings.html


标签:name,Python,生成,API,文档,Pdoc,https,轻量级,pdoc
From: https://www.cnblogs.com/luckzack/p/18179939

相关文章

  • rapidjson
    一、简介RapidJSON是腾讯开源的一个高效的C++JSON解析器及生成器,它是只有头文件的C++库。RapidJSON是跨平台的,支持Windows、Linux、MacOSX及iOS、Android。writer和prettywriter都是将JSON数据打包为字符串的方法。官网:https://rapidjson.org/zh-cn/index.html1.1write和pr......
  • 在Gitlab Runner中调用Web Api写入Directory.Build.props需要的版本号文件
    摘要本文介绍了在Windows上的GitlabRunner,如何调用webapi更新版本号定义文件。PowerShellfunctionUpdate-Version{ param( [string]$WEB_API_URL, [string]$NAMESPACE, [string]$VERSION_ID )echo"能生成或写入.props文件的webapi的网站地址:"$WEB_API_URLe......
  • 入门Semantic Kernel:OneApi集成与HelloWorld
    引言从这一章节开始正式进入我们的SemanticKernel的学习之旅了。什么是SemanticKernel?SemanticKernel是一个轻量级的开源框架,通过SemanticKernel可以快速使用不同编程语言(C#/Python/Java)结合LLMs(OpenAI、AzureOpenAI、HuggingFace等模型)构建智能应用,简化将人......
  • Tensorflow object detection API (ubuntu18.04) 安装和踩坑;
    踩坑:将slim和models路径加入虚拟环境中;将slim和models路径加入系统路径中;(加入系统路径的时候,这个pwd) qit(持续更新)具体安装流程:(很多问题)2.0版本;(继续更新)condacreate-ntf_obj_det_api_v2python=3.8 (很丝滑)重新尝试tf1.0版本;参考:https://blog.csdn......
  • cuda使用时Could not locate zlibwapi.dll 问题解释和解决
    第一次配置cuda环境,python环境训练模型时,可能遇到Couldnotlocatezlibwapi.dll.Pleasemakesureitisinyourlibrarypath! 原因就是window系统里没有zlibwapi.dll.,与cuda没关系,cuda只是依赖它。安装某些软件时可能会自动把这个动态库安装到系统的某个path路径下,比如......
  • 【OpenVINO™】使用OpenVINO™ C# API 部署 YOLO-World实现实时开放词汇对象检测
    YOLO-World是一个融合了实时目标检测与增强现实(AR)技术的创新平台,旨在将现实世界与数字世界无缝对接。该平台以YOLO(YouOnlyLookOnce)算法为核心,实现了对视频中物体的快速准确识别,并通过AR技术将虚拟元素与真实场景相结合,为用户带来沉浸式的交互体验。在本文中,我们将结合OpenVINO......
  • 高效驾驶证识别:API接口提升工作效率
     在日常生活和工作中,我们经常会遇到需要处理大量驾驶证信息的情况。例如,交通管理部门需要对驾驶证进行审核和管理,保险公司需要核实驾驶证信息等等。传统的处理方式需要人工逐一提取和录入信息,耗时且容易出错。而现在,借助高效的驾驶证识别API接口,我们可以大大提升工作效率。驾......
  • dubbo-registry-api服务注册
    底层接口Registry接口:继承RegistryService与Node两个接口RegistryService接口:定义了Registry的注册、注销、订阅、取消订阅事件、lookup接口Node接口:定义getUrl、isAvailable、destroy接口中间层接口RegistryFactory 接口:定义了根据URL创建Registry的方法RegistryServ......
  • Whose:轻量级搜索引擎工具
    #Whoosh简介Whoosh由MattChaput创建,它一开始是一个为Houdini3D动画软件包的在线文档提供简单、快速的搜索服务工具,之后便慢慢成为一个成熟的搜索解决工具并已开源。Whoosh纯由Python编写而成,是一个灵活的,方便的,轻量级的搜索引擎工具,现在同时支持Python2、3,其优点如......
  • toapi:抓取任意网页内容并提供 HTTP API获取数据
    Github地址:https://github.com/elliotgao2/toapiPythonToapi是一个基于XPath和CSS选择器的WebAPI框架,它能够快速将网页内容转换为结构化的API。Toapi提供了简单易用的接口,使得开发者可以轻松地从网页中提取数据,并以API的形式呈现出来。同时,Toapi支持自定义规则和过......