对“colander”的扩展,作为rest api验证的一部分特别有用。
colander-tools的Python项目详细描述
这个包是colander的一组扩展,在 实现restapi。
严格类型
colander_tools.strict模块包含一系列严格类型。那些类型 按照Postel’s law: 它们对序列化是严格的,对反序列化是宽松的。
包括:
- Integer
- Float
- Boolean
- String
- Mapping
字节类型
colander_tools.bytes模块包括序列化/反序列化编码二进制数据的类型。
包括:
- Base16Bytes
- Base32Bytes
- Base64Bytes
- URLSafeBase64Bytes
打开映射
colander_tools.mapping模块包含两个Mapping子类,它们允许 并验证除值之外的任意键。
包括:
- OpenMapping:允许您指定键类型和值类型的映射。 分开;
- SortedOpenMapping:保存键顺序的OpenMapping的扩展 反序列化为collections.OrderedDict。
网络地址类型
colander_tools.netaddr模块包含一系列类型,这些类型序列化和 反序列化网络地址(IP地址、MAC地址等),由 netaddr包。
空类型
colander_tools.null模块包含一个包装类型,该包装类型允许none作为值。
可序列化类
colander_tools.serializable模块包含绑定python类的工具 他们的计划。
模式继承/子模式
colander_tools.subschema模块包括构建事物模式的工具 可以有不同类型/类的。
时区类型
colander_tools.timezone模块包含用于序列化和 反序列化时区标识符,如欧洲/阿姆斯特丹或亚洲/香港, 由pytz包提供支持。