Skip to content

untereiner/cavro

 
 

Repository files navigation

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

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Python 94.4%
  • C 2.8%
  • Other 2.8%