untereiner / cavro

Python Avro client written in cython

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

cavro

An Avro serializer/deserializer for python written in cython. https://stestagg.github.io/cavro/

Functionality

Basic

  • Parse Schema json
  • Non-core attributes
  • name resolution
  • namespaced name resolution

Basic schema support

  • Null
  • Union array
  • boolean
  • int
  • long
  • float
  • double
  • bytes
  • string
  • record
  • fixed
  • enum
  • array
  • map

Value Reading (Binary encoding)

  • Null
  • bool
  • int
  • long
  • float
  • double
  • bytes
  • string
  • record
  • fixed
  • enum
  • array
  • map

Value Writing (Binary encoding)

  • Null
  • bool
  • int
  • long
  • float
  • double
  • bytes
  • string
  • record
  • fixed
  • enum
  • array
  • map

Value Reading (Json encoding)

  • Null
  • bool
  • int
  • long
  • float
  • double
  • bytes
  • string
  • record
  • fixed
  • enum
  • array
  • map

Value Writing (Json encoding)

  • Null
  • bool
  • int
  • long
  • float
  • double
  • bytes
  • string
  • record
  • fixed
  • enum
  • array
  • map

Schema Validation

  • Null
  • bool
  • int
  • long
  • float
  • double
  • bytes
  • string
  • record
  • fixed
  • enum
  • array
  • map

Canonical form

  • Null
  • bool
  • int
  • long
  • float
  • double
  • bytes
  • string
  • record
  • fixed
  • enum
  • array
  • map
  • fingerprinting
  • md5, sha256
  • rabin

Container format

  • basic reading
  • read schema
  • read objects
  • Write container
  • null schema
  • deflate support
  • snappy support
  • Improved reader error handling
  • Snappy checksum validation

Logical Types

  • Decimal
  • Date
  • Time (millis)
  • Time (micros)
  • Timestamp (millis)
  • Timestamp (micros)
  • Duration

Other

  • writing array & maps by chunk

About

Python Avro client written in cython

License:MIT License


Languages

Language:Python 94.4%Language:C 2.8%Language:HTML 1.0%Language:Makefile 0.8%Language:Shell 0.6%Language:Dockerfile 0.4%