Python的数据验证和转换库。CleanCat的继承者。
项目描述
CleanChausie
CleanChausie是一个用于Python的数据验证和转换库。它是CleanCat的继承者。
查看文档!
对这个项目感兴趣?Close
正在寻找优秀的工程师加入我们的团队。
主要功能
- 在类型检查的对象上/与操作,具有良好的IDE/自动完成支持
- 简单字段的注解声明
- 可组合/可重用字段和字段验证逻辑
- 支持(但不强制)传递上下文(以避免全局状态)
- 上下文模式与基于sqlalchemy的显式会话管理兼容。即当验证时传递会话
- 支持清晰的架构内字段依赖(即一个字段可以依赖于另一个字段的验证值)
- 显式空值/省略参数
- 一次返回多个字段的错误,并带有字段归属
CleanChausie示例
这是一个如何使用架构来支持Flask端点的简短示例。更详细的示例可以在文档中找到。
from typing import List
from cleanchausie import (
clean, ListField, URLField, EmailField, field, ValidationError, Schema
)
from flask import app, request, jsonify
class JobApplication(Schema):
first_name: str
last_name: str
email: str = field(EmailField())
urls: List[str] = field(ListField(URLField(default_scheme='http://')))
@app.route('/job_application', methods=['POST'])
def test_view():
result = clean(JobApplication, request.json)
if isinstance(result, ValidationError):
return jsonify(result.serialize()), 400
# Now "result" has the validated data, in the form of a `JobApplication` instance.
assert isinstance(result, JobApplication)
name = f'{result.first_name} {result.last_name}'
发布流程
- 请务必彻底审查和测试代码更改。
- 准备新的发布
- 在
cleanchausie/__init__.py
中更新包版本。 - 为新的版本添加更改日志条目。
- 合并到master
- 在
- 在GitHub动作标签中发送新的“构建和发布”工作流程操作。
生成的工作流程将构建并发布新版本到PyPi。
项目详情
关闭
cleanchausie-1.17.8.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a85315230c7614f92d2115c08c1b8990757e91b6e87eb2e756321a301a620f3e |
|
MD5 | 771734ef1acbd7f0d8ef2bf6b1d30ca5 |
|
BLAKE2b-256 | 23b26547073a1d53e2ed8ad010983e4e6e9db305205db11f6e38a9c9b8097b8e |