跳转到主要内容

使用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编写,用于需要速度的部分。

项目详情


下载文件

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

源代码发行版

serpyco-d7-1.3.16.tar.gz (42.9 kB 查看哈希值)

上传时间 源代码

构建版本

serpyco_d7-1.3.16-pp310-pypy310_pp73-win_amd64.whl (123.1 kB 查看哈希值)

上传时间 PyPy Windows x86-64

serpyco_d7-1.3.16-pp310-pypy310_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (163.0 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ ARM64

serpyco_d7-1.3.16-pp310-pypy310_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (160.9 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

serpyco_d7-1.3.16-pp310-pypy310_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (163.3 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

serpyco_d7-1.3.16-pp310-pypy310_pp73-macosx_11_0_arm64.whl (134.9 kB 查看哈希值)

上传时间 PyPy macOS 11.0+ ARM64

serpyco_d7-1.3.16-pp310-pypy310_pp73-macosx_10_9_x86_64.whl (137.5 kB 查看哈希值)

上传时间 PyPy macOS 10.9+ x86-64

serpyco_d7-1.3.16-pp39-pypy39_pp73-win_amd64.whl (122.9 kB 查看哈希值)

上传时间 PyPy Windows x86-64

serpyco_d7-1.3.16-pp39-pypy39_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (163.1 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ ARM64

serpyco_d7-1.3.16-pp39-pypy39_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (160.9 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

serpyco_d7-1.3.16-pp39-pypy39_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (163.5 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

serpyco_d7-1.3.16-pp39-pypy39_pp73-macosx_11_0_arm64.whl (134.9 kB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

serpyco_d7-1.3.16-pp39-pypy39_pp73-macosx_10_9_x86_64.whl (137.3 kB 查看哈希值)

上传于 PyPy macOS 10.9+ x86-64

serpyco_d7-1.3.16-pp38-pypy38_pp73-win_amd64.whl (122.2 kB 查看哈希值)

上传于 PyPy Windows x86-64

serpyco_d7-1.3.16-pp38-pypy38_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (162.0 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ ARM64

serpyco_d7-1.3.16-pp38-pypy38_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (159.7 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

serpyco_d7-1.3.16-pp38-pypy38_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (162.8 kB 查看哈希值)

上传于 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

serpyco_d7-1.3.16-pp38-pypy38_pp73-macosx_11_0_arm64.whl (133.5 kB 查看哈希值)

上传于 PyPy macOS 11.0+ ARM64

serpyco_d7-1.3.16-pp38-pypy38_pp73-macosx_10_9_x86_64.whl (136.5 kB 查看哈希值)

上传于 PyPy macOS 10.9+ x86-64

serpyco_d7-1.3.16-pp37-pypy37_pp73-win_amd64.whl (122.3 kB 查看哈希值)

上传时间 PyPy Windows x86-64

serpyco_d7-1.3.16-pp37-pypy37_pp73-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (162.0 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ ARM64

serpyco_d7-1.3.16-pp37-pypy37_pp73-manylinux_2_5_x86_64.manylinux1_x86_64.manylinux_2_17_x86_64.manylinux2014_x86_64.whl (159.8 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ x86-64 manylinux: glibc 2.5+ x86-64

serpyco_d7-1.3.16-pp37-pypy37_pp73-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (162.9 kB 查看哈希值)

上传时间 PyPy manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

serpyco_d7-1.3.16-pp37-pypy37_pp73-macosx_10_9_x86_64.whl (136.7 kB 查看哈希值)

上传时间 PyPy macOS 10.9+ x86-64

serpyco_d7-1.3.16-cp311-cp311-win_amd64.whl (139.4 kB 查看哈希值)

上传时间 CPython 3.11 Windows x86-64

serpyco_d7-1.3.16-cp311-cp311-win32.whl (124.8 kB 查看哈希值)

上传时间 CPython 3.11 Windows x86

serpyco_d7-1.3.16-cp311-cp311-musllinux_1_1_x86_64.whl (973.2 kB 查看哈希值)

上传时间 CPython 3.11 musllinux: musl 1.1+ x86-64

serpyco_d7-1.3.16-cp311-cp311-musllinux_1_1_i686.whl (926.9 kB 查看哈希值)

上传时间 CPython 3.11 musllinux: musl 1.1+ i686

serpyco_d7-1.3.16-cp311-cp311-musllinux_1_1_aarch64.whl (1.0 MB 查看哈希值)

上传于 CPython 3.11 musllinux: musl 1.1+ ARM64

serpyco_d7-1.3.16-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (974.1 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ x86-64

serpyco_d7-1.3.16-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ ARM64

serpyco_d7-1.3.16-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (923.1 kB 查看哈希值)

上传于 CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

serpyco_d7-1.3.16-cp311-cp311-macosx_11_0_arm64.whl (174.0 kB 查看哈希值)

上传于 CPython 3.11 macOS 11.0+ ARM64

serpyco_d7-1.3.16-cp311-cp311-macosx_10_9_x86_64.whl (182.9 kB 查看哈希值)

上传于 CPython 3.11 macOS 10.9+ x86-64

serpyco_d7-1.3.16-cp310-cp310-win_amd64.whl (142.3 kB 查看哈希值)

上传于 CPython 3.10 Windows x86-64

serpyco_d7-1.3.16-cp310-cp310-win32.whl (126.1 kB 查看哈希值)

上传于 CPython 3.10 Windows x86

serpyco_d7-1.3.16-cp310-cp310-musllinux_1_1_x86_64.whl (928.8 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ x86-64

serpyco_d7-1.3.16-cp310-cp310-musllinux_1_1_i686.whl (887.6 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ i686

serpyco_d7-1.3.16-cp310-cp310-musllinux_1_1_aarch64.whl (973.8 kB 查看哈希值)

上传于 CPython 3.10 musllinux: musl 1.1+ ARM64

serpyco_d7-1.3.16-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (925.2 kB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ x86-64

serpyco_d7-1.3.16-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (966.6 kB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ ARM64

serpyco_d7-1.3.16-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (876.4 kB 查看哈希值)

上传时间: CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

serpyco_d7-1.3.16-cp310-cp310-macosx_11_0_arm64.whl (177.0 kB 查看哈希值)

上传时间: CPython 3.10 macOS 11.0+ ARM64

serpyco_d7-1.3.16-cp310-cp310-macosx_10_9_x86_64.whl (187.8 kB 查看哈希值)

上传时间: CPython 3.10 macOS 10.9+ x86-64

serpyco_d7-1.3.16-cp39-cp39-win_amd64.whl (146.5 kB 查看哈希值)

上传时间: CPython 3.9 Windows x86-64

serpyco_d7-1.3.16-cp39-cp39-win32.whl (130.5 kB 查看哈希值)

上传时间: CPython 3.9 Windows x86

serpyco_d7-1.3.16-cp39-cp39-musllinux_1_1_x86_64.whl (953.6 kB 查看哈希值)

上传时间: CPython 3.9 musllinux: musl 1.1+ x86-64

serpyco_d7-1.3.16-cp39-cp39-musllinux_1_1_i686.whl (919.1 kB 查看哈希值)

上传时间: CPython 3.9 musllinux: musl 1.1+ i686

serpyco_d7-1.3.16-cp39-cp39-musllinux_1_1_aarch64.whl (1.0 MB 查看哈希值)

上传于 CPython 3.9 musllinux: musl 1.1+ ARM64

serpyco_d7-1.3.16-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (952.1 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ x86-64

serpyco_d7-1.3.16-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (996.8 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ ARM64

serpyco_d7-1.3.16-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (908.2 kB 查看哈希值)

上传于 CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

serpyco_d7-1.3.16-cp39-cp39-macosx_11_0_arm64.whl (170.2 kB 查看哈希值)

上传于 CPython 3.9 macOS 11.0+ ARM64

serpyco_d7-1.3.16-cp39-cp39-macosx_10_9_x86_64.whl (193.6 kB 查看哈希值)

上传于 CPython 3.9 macOS 10.9+ x86-64

serpyco_d7-1.3.16-cp38-cp38-win_amd64.whl (146.9 kB 查看哈希值)

上传于 CPython 3.8 Windows x86-64

serpyco_d7-1.3.16-cp38-cp38-win32.whl (130.8 kB 查看哈希值)

上传于 CPython 3.8 Windows x86

serpyco_d7-1.3.16-cp38-cp38-musllinux_1_1_x86_64.whl (1.0 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ x86-64

serpyco_d7-1.3.16-cp38-cp38-musllinux_1_1_i686.whl (981.0 kB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ i686

serpyco_d7-1.3.16-cp38-cp38-musllinux_1_1_aarch64.whl (1.1 MB 查看哈希值)

上传于 CPython 3.8 musllinux: musl 1.1+ ARM64

serpyco_d7-1.3.16-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (963.4 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ x86-64

serpyco_d7-1.3.16-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (1.0 MB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ ARM64

serpyco_d7-1.3.16-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (919.8 kB 查看哈希值)

上传于 CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

serpyco_d7-1.3.16-cp38-cp38-macosx_11_0_arm64.whl (171.6 kB 查看哈希值)

上传于 CPython 3.8 macOS 11.0+ ARM64

serpyco_d7-1.3.16-cp38-cp38-macosx_10_9_x86_64.whl (187.1 kB 查看哈希值)

上传于 CPython 3.8 macOS 10.9+ x86-64

serpyco_d7-1.3.16-cp37-cp37m-win_amd64.whl (141.5 kB 查看哈希值)

上传于 CPython 3.7m Windows x86-64

serpyco_d7-1.3.16-cp37-cp37m-win32.whl (127.2 kB 查看哈希值)

上传于 CPython 3.7m Windows x86

serpyco_d7-1.3.16-cp37-cp37m-musllinux_1_1_x86_64.whl (840.3 kB 查看哈希值)

上传于 CPython 3.7m musllinux: musl 1.1+ x86-64

serpyco_d7-1.3.16-cp37-cp37m-musllinux_1_1_i686.whl (805.5 kB 查看哈希值)

上传于 CPython 3.7m musllinux: musl 1.1+ i686

serpyco_d7-1.3.16-cp37-cp37m-musllinux_1_1_aarch64.whl (877.5 kB 查看哈希值)

上传于 CPython 3.7m musllinux: musl 1.1+ ARM64

serpyco_d7-1.3.16-cp37-cp37m-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (833.9 kB 查看哈希值)

上传于 CPython 3.7m manylinux: glibc 2.17+ x86-64

serpyco_d7-1.3.16-cp37-cp37m-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (874.1 kB 查看哈希值)

上传于 CPython 3.7m manylinux: glibc 2.17+ ARM64

serpyco_d7-1.3.16-cp37-cp37m-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (791.8 kB 查看哈希值)

上传于 CPython 3.7m manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

serpyco_d7-1.3.16-cp37-cp37m-macosx_10_9_x86_64.whl (182.0 kB 查看哈希值)

上传于 CPython 3.7m macOS 10.9+ x86-64

由支持

AWS AWS 云计算和安全赞助商 Datadog Datadog 监控 Fastly Fastly CDN Google Google 下载分析 Microsoft Microsoft PSF赞助商 Pingdom Pingdom 监控 Sentry Sentry 错误日志 StatusPage StatusPage 状态页面