pluralsight / spavro

Spavro is a (sp)eedier avro library -- Spavro is a fork of the official Apache AVRO python 2 implementation with the goal of greatly improving data read deserialization and write serialization performance.
Apache License 2.0
26 stars 15 forks source link

Add support for xz codec. #7

Closed Posnet closed 5 years ago

Posnet commented 5 years ago

Hi, So while xz is not officially part of the Avro spec, it is part of the Java Implementation (and used to be the default codec). I have a lot of avro files generated from Java that use this codec and would like to access them from python. So I have added xz codec support with this pull request.

https://avro.apache.org/docs/1.8.2/api/java/org/apache/avro/file/XZCodec.html

mikepk commented 5 years ago

Hi Alec, sorry for the silence (been up to my eyeballs with travel and other things). Thanks for the PR! I should get a chance to review it and merge it in the next couple of days (looks fairly simple). I'd also love to know how you're using Spavro and how useful it's been for you.

mikepk commented 5 years ago

Just had to review the generated C. I was tempted to strip it out since your functional changes didn't touch the fast_binary.pyx source but the C code looks like it's different because of a point version difference of Cython and looks harmless. Thanks for the contribution!