跳转到主要内容

验证和解析库

项目描述

Trafaret Schema
===============

[![构建状态](https://circleci.com/gh/Deepwalker/trafaret_schema.svg?style=shield)](https://circleci.com/gh/Deepwalker/trafaret_schema)
[![Gitter](https://badges.gitter.im/Deepwalker/trafaret.png)](https://gitter.im/Deepwalker/trafaret)
[![下载](https://img.shields.io/pypi/v/trafaret_schema.svg?style=flat-square)](https://pypi.python.org/pypi/trafaret_schema)
[![下载](https://img.shields.io/pypi/l/trafaret_schema.svg?style=flat-square)](https://pypi.python.org/pypi/trafaret_schema)


库接受JSON Schema并将其转换为Trafaret实例

from trafaret_schema import json_schema
check_string = json_schema({'type': 'string', 'minLength': 6, 'maxLength': 10, 'pattern': '(bla)+'})
check_string('blablabla')

需要注意的是,这个库是一个大的Trafaret,它产生其他Trafaret。所以在解析
JSON Schema时,您可能会得到DataError,并且在使用解析的schema时您也会得到DataError。
您可以在任何可以使用Trafaret的情况下使用schema解析器或解析的schema作为Trafaret。

您可以使用`Register`对象提供自定义`format`实现并支持跨schema `$ref` 对象
对象

import trafaret as t
from trafaret_schema import json_schema, Register

my_reg = Register()

my_reg.reg_format('any_ip', t.IPv4 | t.IPv6)

check_address = json_schema(open('address.json').read(), context=register)
check_person = json_schema(open('person.json').read(), context=register)


库有点有趣,因为它是在`trafaret`中实现的,并产生`trafaret`实例。也像是
专业级别的`trafaret`使用(我希望如此)。

功能

[*] 基础
[*] 类型
[*] 枚举
[*] 常量
[*] 数字
[*] 字符串
[*] 数组
[*] minProperties
[*] 最大属性数
[*] 唯一项目
[*] 项目
[*] 其他项目
[*] 包含
[*] 对象
[*] 最大属性数
[*] minProperties
[*] 必需
[*] 属性
[*] 模式属性
[*] 其他属性
[*] 依赖关系
[*] 属性名
[*] 组合器
[*] 任意一个
[*] 所有
[*] 其中一个
[*] 非
[*] 格式
[*] 参考
[*] 定义
[*] $ref

项目详情


下载文件

下载适合您平台的应用程序。如果您不确定选择哪个,请了解更多关于安装包的信息。

源分发

trafaret_schema-0.2.1.tar.gz (7.5 kB 查看哈希值)

上传时间

构建分发

trafaret_schema-0.2.1-py3-none-any.whl (9.3 kB 查看哈希值)

上传时间 Python 3

由以下支持