找小伙伴一起造这个简单又实用的轮子:基于模式定义的对象验证器/转换器/生成器

2018-04-04 14:54:22 +08:00
 jfry

我的想法是主要实现这么一个库:使用 Python 定义模式,然后可以用改模式来:

PyPI 上面类似的库是有的,但是觉得其 API 不好用,因此打算重新造一个轮子,下面是已经实现了的判断对象是否符合模式的例子:

schema = {
    'a': [],
    'b': [
        {
            'c': int,
            'd': Int(default=3),
            'e': [str]
        }
    ],
    'c': Int(validator=lambda x: 1 < x < 10)
}

rubric.validate(schema, {
    'a': [],
    'b': [
        {
            'c': 1,
            'd': 2,
            'e': ['hello', 'world']
        }
    ],
    'c': 7
}) # pass

目前功能都只实现了部分(只作了验证,很多类型的验证规则也还没定义),代码也不到 200 行,因此特意来此找感兴趣的朋友来一起完成这个项目,主要是:

代码注释丰富,测试也很多,除了 pytest 之外不依赖任何第三方库.稍微熟悉 python 就可以了~,感兴趣的朋友快一起来吧~~

1737 次点击
所在节点    Python
2 条回复
jfry
2018-04-04 14:55:15 +08:00
项目地址都忘记贴了=.=: https://github.com/toaco/rubric
jfry
2018-04-04 15:04:59 +08:00

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/444300

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX