GitHub - Maxim-Mushizky/cstructpy:一个允许为类似 C 的结构体创建数据模型类的包,该类简化了发送和读取二进制消息的过程。

主要观点:cstructpy 是一个轻量级 Python 包,用于使用类似 C 的原始类型进行结构化数据的二进制序列化和反序列化,旨在通过类型注解进行数据验证,可与 pydantic.BaseModel 或 dataclasses.dataclass 配合使用。
关键信息

  • 提供自定义整数、浮点数、字符和数组等原始类型。
  • 可动态创建具有灵活字段定义的结构化类。
  • 支持所有原始类型的验证,包括数组大小验证。
  • 能轻松将数据序列化为/从二进制格式反序列化。
  • 包含单元测试,可通过 pytest 运行。
  • 使用 GitHub Actions 自动运行 linting、类型检查和测试。
    重要细节
  • 安装通过 pip:pip install cstructpy
  • 定义结构化类时继承GenericStruct并使用自定义原始类型定义字段,如class MyDataStructure(GenericStruct)
  • 可设置字段默认值,如field1: INT8 = 16
  • 原始类型包括 INT8 等多种类型,除 CHAR 和 PADDING 外其他类型可带方括号作为数组。
  • 每个字段类型有自己的验证规则,超出范围会引发 ValueError。
  • 示例展示了创建实例、打包和解包二进制数据等操作。
  • 项目基于 MIT 许可证。
阅读 11
0 条评论