定义可序列化的、经过模式验证的类的轻量级模块
lasso的Python项目详细描述
套索是Python的一个小模块,它 允许使用类型检查属性定义类,符合 预定模式。
使用套索schemas的类可以用于:
用法
定义一个类,并附加一个用于检查 属性:
>>> from lasso import Schemed >>> class Point(Schemed): ... __schema__ = { "x": int, "y": int } ... >>>
现在可以创建值,使用关键字参数设置 属性。请注意如何正常访问属性:
>>> location = Point(x=-3, y=5) >>> location.x, location.y (-3, 5) >>>
属性被类型检查:
>>> location.x = 6 # Succeds >>> location.x = "invalid value" # Fails Traceback (most recent call last): ... schema.SchemaError: 'invalid value' should be instance of <class 'int'> >>> location.x, location.y # Values remain unchanged (6, 5) >>>
最后,但并非最不重要的是,自动支持与json的转换:
>>> json_text = location.to_json(sort_keys=True) >>> json_text '{"x": 6, "y": 5}' >>> value = Point.from_json(json_text) >>> value.__class__.__name__ 'Point' >>>
安装
稳定版本被上传到PyPI,所以 可以使用pip:
安装和升级它们pip install lasso
或者,您可以自行安装开发版本- 直接从git存储库:
pip install -e git://github.com/aperezdc/lasso-python
文档
套索的文档位于:
http://lasso.readthedocs.org/en/latest
请注意,文档正在处理中。同时,你可以 想进一步了解模块本身的源代码, 或者更好的是projects using the module的代码。