跳转到主要内容

使用结构化类进行参数解析。

项目描述

defspec

dataclassattrsmsgspec 等创建OpenAPI规范和文档。

为什么不...

[!NOTE]还有很多其他项目可以生成OpenAPI文档甚至验证数据。本项目旨在替代它们。

本项目是私人倡议的遗产。在开发过程中,我发现使用msgspec可以优雅地定义和生成API模式。OpenAPI组件可用于为各种项目生成API文档。因此,我决定将其提取出来,并将其转换为公共项目。

当您不想引入太多其他依赖项时,可以使用此项目作为低级组件或直接模块。

安装

pip install defspec

示例

您可以在浏览器中打开上述示例并查看OpenAPI文档

用法

from dataclasses import dataclass
from typing import List

from defspec import OpenAPI


@dataclass
class User:
    name: str
    age: int


openapi = OpenAPI()
openapi.register_route("/", method="get", summary="Hello World")
openapi.register_route(
    "/users", method="post", summary="Get all the user info", response_type=List[User]
)

# get the OpenAPI spec
print(openapi.to_dict())
# get the OpenAPI spec bytes
with open("openapi.json", "wb") as f:
    f.write(openapi.to_json())

# serve as a HTTP server
openapi.serve_as_http_daemon(port=8000, run_in_background=True)

项目详情


下载文件

下载适合您平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。

源分布

defspec-0.1.1.tar.gz (13.8 kB 查看哈希值)

上传时间: 源代码

构建发行版

defspec-0.1.1-py3-none-any.whl (10.5 kB 查看哈希值)

上传时间: Python 3

由以下支持