Typact
Python 3.13+ · v0.1.4

让类型
成为契约。

用熟悉的参数声明定义远程 API。Typact 接管请求构建、传输、转换与测试。

阅读文档
contract.py
@client.get("/users/{user_id}")
async def get_user(
    user_id: int = Path(),
) -> User:
    pass
DECLAREBUILDRUNTIMETYPE

写下接口的样子。
剩下的交给 Runtime。

声明、传输与转换彼此解耦。你的业务函数只保留真正重要的部分:输入与输出。

01

声明即实现

Path、Query、Header、Body、Form 与 File,保持 FastAPI 风格的直觉。

02

类型贯穿全程

Pydantic TypeAdapter 将响应可靠地转换为模型、列表或任意声明类型。

03

传输自由切换

标准库开箱即用,也可无缝接入 httpx、aiohttp 或自己的 Runtime。

更少胶水代码。
更清晰的边界。

五分钟开始使用