Skip to content

Dataclasses Avro Schema CLI

Command line interface from dataclasses-avroschema to work with avsc resources

Tests GitHub license codecov python version

Requirements

python 3.9+

Usage

You can validate avro schemas either from a local file or url:

Assuming that we have a local file schema.avsc that contains an avro schema, we can check whether it is valid

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}}
    ]
}

To see all the commands execute dc-avro --help

Development

  1. Install requirements: poetry install
  2. Code linting: ./scripts/format
  3. Run tests: ./scripts/test