本文档为 Claude Code (claude.ai/code) 提供代码库操作指南。
- 默认使用中文与 Claude 进行交流
- 如用户输入其他语言(如英文),可临时使用该语言进行交流
Libra 是一个极简的 Python Web 框架,仿照 Flask 开发,用于构建轻量级 RESTful API 应用。符合 WSGI 标准。
# 运行所有测试
python -m pytest tests/ -v
# 运行单个测试文件
python -m pytest tests/test_app.py -v
# 运行单个测试
python -m pytest tests/test_app.py::TestLibraApp::test_simple_request -v
# 运行示例应用
python example.py框架采用经典的 WSGI 应用模式:
libra/
├── app.py # 核心应用类(WSGI 入口)
├── routing.py # 路由匹配,支持 URL 参数(<id>、<id:int>、<path:path>)
├── request.py # 请求对象(args、json、form、headers、data)
├── response.py # 响应对象(JSON、Cookie、重定向)
├── template.py # 简单模板引擎(变量、for 循环、if 条件)
└── exceptions.py # HTTP 异常类(NotFoundError、MethodNotAllowedError 等)
核心架构模式:
- WSGI 兼容:
Libra类实现了__call__和wsgi_app(environ, start_response) - 路由装饰器:
@app.route()、@app.get()、@app.post()等 - 请求/响应:框架将 WSGI environ 封装为
Request对象;视图可返回字符串、字典或Response对象 - 钩子函数:
@app.before_request和@app.after_request用于请求生命周期
共 52 个 pytest 测试,存放在 tests/ 目录,按模块组织(test_routing.py、test_request.py、test_response.py、test_app.py)。