未提供项目描述
项目描述
数据类Avro模式CLI
从dataclasses-avroschema提供的命令行界面,用于处理avsc资源
要求
python 3.8+
文档
https://marcosschroh.github.io/dc-avro/
使用方法
您可以从本地文件或url验证一个avro模式
假设我们有一个包含avro模式的本地文件schema.avsc,我们可以检查它是否有效
dc-avro validate-schema --path schema.avsc
Valid schema!! 👍
{
'type': 'record',
'name': 'UserAdvance',
'fields': [
{'name': 'name', 'type': 'string'},
{'name': 'age', 'type': 'long'},
{'name': 'pets', 'type': {'type': 'array', 'items': 'string', 'name': 'pet'}},
{'name': 'accounts', 'type': {'type': 'map', 'values': 'long', 'name': 'account'}},
{'name': 'favorite_colors', 'type': {'type': 'enum', 'name': 'FavoriteColor', 'symbols': ['BLUE', 'YELLOW', 'GREEN']}},
{'name': 'has_car', 'type': 'boolean', 'default': False},
{'name': 'country', 'type': 'string', 'default': 'Argentina'},
{'name': 'address', 'type': ['null', 'string'], 'default': None},
{'name': 'md5', 'type': {'type': 'fixed', 'name': 'md5', 'size': 16}}
]
}
您可以使用lint命令验证多个.avsc文件
dc-avro lint tests/schemas/example.avsc tests/schemas/example_v2.avsc
👍 Total valid schemas: 2
tests/schemas/example.avsc
tests/schemas/example_v2.avsc
要查看所有命令,请执行dc-avro --help
pre-commit中的使用
将以下行添加到您的.pre-commit-config.yaml文件中,以启用avro模式linting
- repo: https://github.com/marcosschroh/dc-avro.git
rev: 0.7.0
hooks:
- id: lint-avsc
additional_dependencies: [typing_extensions]
功能
- 验证
schema - lint
schemas - 从
schemas生成models - 使用
schema进行数据反序列化 - 使用
schema进行数据序列化 - 查看
schemas之间的差异 - 从
schema生成伪造数据
开发
- 安装要求:
poetry install - 代码linting:
./scripts/format - 运行测试:
./scripts/test
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定选择哪个,请了解有关安装包的更多信息。
源分发
dc_avro-0.9.0.tar.gz (5.5 kB 查看哈希值)
构建分发
dc_avro-0.9.0-py3-none-any.whl (6.5 kB 查看哈希值)