主要观点: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 许可证。
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。