Skip to main content

avro codec implemented with Cython

Project description

# cavro

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

# Functionality

## Basic

  • [x] Parse Schema json

  • [x] Non-core attributes

  • [x] name resolution

  • [x] namespaced name resolution

## Basic schema support

  • [x] Null

  • [x] Union array

  • [x] boolean

  • [x] int

  • [x] long

  • [x] float

  • [x] double

  • [x] bytes

  • [x] string

  • [x] record

  • [x] fixed

  • [x] enum

  • [x] array

  • [x] map

## Value Reading (Binary encoding)

  • [x] Null

  • [x] bool

  • [x] int

  • [x] long

  • [x] float

  • [x] double

  • [x] bytes

  • [x] string

  • [x] record

  • [x] fixed

  • [x] enum

  • [x] array

  • [x] map

## Value Writing (Binary encoding)

  • [x] Null

  • [x] bool

  • [x] int

  • [x] long

  • [x] float

  • [x] double

  • [x] bytes

  • [x] string

  • [x] record

  • [x] fixed

  • [x] enum

  • [x] array

  • [x] map

## Value Reading (Json encoding)

  • [x] Null

  • [x] bool

  • [x] int

  • [x] long

  • [x] float

  • [x] double

  • [x] bytes

  • [x] string

  • [x] record

  • [x] fixed

  • [x] enum

  • [x] array

  • [x] map

## Value Writing (Json encoding)

  • [x] Null

  • [x] bool

  • [x] int

  • [x] long

  • [x] float

  • [x] double

  • [x] bytes

  • [x] string

  • [x] record

  • [x] fixed

  • [x] enum

  • [x] array

  • [x] map

## Schema Validation

  • [ ] Null

  • [ ] bool

  • [ ] int

  • [ ] long

  • [ ] float

  • [ ] double

  • [ ] bytes

  • [ ] string

  • [ ] record

  • [ ] fixed

  • [ ] enum

  • [ ] array

  • [ ] map

## Canonical form

  • [x] Null

  • [x] bool

  • [x] int

  • [x] long

  • [x] float

  • [x] double

  • [x] bytes

  • [x] string

  • [x] record

  • [x] fixed

  • [x] enum

  • [x] array

  • [x] map

  • [x] fingerprinting

  • [x] md5, sha256

  • [x] rabin

## Container format

  • [x] basic reading

  • [x] read schema

  • [x] read objects

  • [ ] Write container

  • [x] null schema

  • [x] deflate support

  • [x] 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

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distributions

No source distribution files available for this release.See tutorial on generating distribution archives.

Built Distributions

cavro-0.3.2-cp312-cp312-win_amd64.whl (609.2 kB view hashes)

Uploaded CPython 3.12 Windows x86-64

cavro-0.3.2-cp312-cp312-win32.whl (502.6 kB view hashes)

Uploaded CPython 3.12 Windows x86

cavro-0.3.2-cp312-cp312-musllinux_1_1_x86_64.whl (4.9 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ x86-64

cavro-0.3.2-cp312-cp312-musllinux_1_1_i686.whl (4.5 MB view hashes)

Uploaded CPython 3.12 musllinux: musl 1.1+ i686

cavro-0.3.2-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.8 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ x86-64

cavro-0.3.2-cp312-cp312-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.4 MB view hashes)

Uploaded CPython 3.12 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cavro-0.3.2-cp312-cp312-macosx_10_9_x86_64.whl (765.1 kB view hashes)

Uploaded CPython 3.12 macOS 10.9+ x86-64

cavro-0.3.2-cp311-cp311-win_amd64.whl (628.0 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

cavro-0.3.2-cp311-cp311-win32.whl (512.2 kB view hashes)

Uploaded CPython 3.11 Windows x86

cavro-0.3.2-cp311-cp311-musllinux_1_1_x86_64.whl (5.0 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

cavro-0.3.2-cp311-cp311-musllinux_1_1_i686.whl (4.7 MB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

cavro-0.3.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.2 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

cavro-0.3.2-cp311-cp311-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (3.9 MB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cavro-0.3.2-cp311-cp311-macosx_10_9_x86_64.whl (779.3 kB view hashes)

Uploaded CPython 3.11 macOS 10.9+ x86-64

cavro-0.3.2-cp310-cp310-win_amd64.whl (625.9 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

cavro-0.3.2-cp310-cp310-win32.whl (513.1 kB view hashes)

Uploaded CPython 3.10 Windows x86

cavro-0.3.2-cp310-cp310-musllinux_1_1_x86_64.whl (4.5 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

cavro-0.3.2-cp310-cp310-musllinux_1_1_i686.whl (4.2 MB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

cavro-0.3.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.9 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

cavro-0.3.2-cp310-cp310-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (3.6 MB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cavro-0.3.2-cp310-cp310-macosx_10_9_x86_64.whl (773.5 kB view hashes)

Uploaded CPython 3.10 macOS 10.9+ x86-64

cavro-0.3.2-cp39-cp39-win_amd64.whl (625.7 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

cavro-0.3.2-cp39-cp39-win32.whl (512.8 kB view hashes)

Uploaded CPython 3.9 Windows x86

cavro-0.3.2-cp39-cp39-musllinux_1_1_x86_64.whl (4.5 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

cavro-0.3.2-cp39-cp39-musllinux_1_1_i686.whl (4.2 MB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

cavro-0.3.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (3.9 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

cavro-0.3.2-cp39-cp39-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (3.6 MB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cavro-0.3.2-cp39-cp39-macosx_10_9_x86_64.whl (772.0 kB view hashes)

Uploaded CPython 3.9 macOS 10.9+ x86-64

cavro-0.3.2-cp38-cp38-win_amd64.whl (635.6 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

cavro-0.3.2-cp38-cp38-win32.whl (521.5 kB view hashes)

Uploaded CPython 3.8 Windows x86

cavro-0.3.2-cp38-cp38-musllinux_1_1_x86_64.whl (4.9 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

cavro-0.3.2-cp38-cp38-musllinux_1_1_i686.whl (4.6 MB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

cavro-0.3.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (4.3 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

cavro-0.3.2-cp38-cp38-manylinux_2_5_i686.manylinux1_i686.manylinux_2_17_i686.manylinux2014_i686.whl (4.0 MB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686 manylinux: glibc 2.5+ i686

cavro-0.3.2-cp38-cp38-macosx_10_9_x86_64.whl (767.2 kB view hashes)

Uploaded CPython 3.8 macOS 10.9+ x86-64

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page