未提供项目描述
项目描述
数据类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 查看哈希值)