跳转到主要内容

使用Cython快速序列化数据类

项目描述

什么是Serpyco ?

Serpyco是一个为Python 3.6+数据类设计的序列化库,只需定义您的数据类即可使用。

import dataclasses
import typing

import serpyco

@dataclasses.dataclass
class Example(object):
    name: str
    num: int
    tags: typing.List[str]


serializer = serpyco.Serializer(Example)

result = serializer.dump(Example(name="foo", num=2, tags=["hello", "world"]))
print(result)

{'name': 'foo', 'num': 2, 'tags': ['hello', 'world']}

Serpyco通过分析数据类字段,可以识别许多类型:列表集合元组可选联合……您还可以在定义中嵌入其他数据类。

Serpyco的主要用例是将对象序列化以用于API,但它可以帮助您在需要将对象转换为/从内置Python类型进行转换时。

功能

  • 数据类的序列化和反序列化

  • 输入/输出数据验证

  • 非常快

  • 可通过自定义编码器进行扩展

安装

Serpyco最好通过pip安装

pip install serpyco

它只有3(Python 3.6数据类回端口有4)个依赖项

  • rapid-json:用于数据验证和快速JSON导入/导出

  • python-dateutil:用于序列化datetime对象

  • typing_inspect:用于检查类型以创建序列化器

文档

贡献

Serpyco使用PythonCython编写,用于需要速度的部分。

项目详情


下载文件

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

源分发

serpycow-1.5.0.tar.gz (39.7 kB 查看哈希值)

上传时间

支持