一种用于模式强制模型的小语言。
fame的Python项目详细描述
fame是python中的元建模框架。
- 实体由模型描述
- 模型由元模型描述
- 模型具有字段、派生字段和约束
- 实体可以有自定义字段
- 即使数据无效,也可以创建实体
- 有用于验证和获取错误消息的函数
- 验证检查字段的存在和类型
- 验证检查所有约束
- 派生字段已记录
示例
class Experiment(Model): @schema def metamodel(self, m): m.field('name', str) m.field('subject', options( 'user', 'visitor', 'email', 'listing', 'market' )) m.field('treatments', array(str)) m.field('percent_exposed', int, default=100) m.field('design', nullable(regexp('^https?'))) @derived_field def is_miscellanous(self): return self.subject not in ['user', 'visitor'] @constraint("expected percent_exposed to not exceed 100, got {}") def constraint(self): if self.percent_exposed > 100: return self.percent_exposed
惯例
- 首先定义元模型函数
- 然后定义导出的场函数
- 然后定义所有约束函数
- 约束函数都命名为“constraint”,这是有意的
安装
要安装此软件包,请运行
pip install fame
贡献
欢迎在Github上提交错误报告和请求, https://github.com/akuhn/py-fame