Skip to main content
This is a pre-production deployment of Warehouse. Changes made here affect the production instance of PyPI (pypi.python.org).
Help us improve Python packaging - Donate today!

Avro file reader/writer

Project Description

An Avro file reader/writer for Python.

Usage

>>> import pyavroc
>>> with open('myfile.avro') as fp:
>>>     reader = pyavroc.AvroFileReader(fp, types=True)
>>>     for record in reader:
>>>         print record

Comparison with original Avro Python API

pyavroc is a Python API on top of upstream Avro-C. This means it reads about 40 times faster than Avro’s Python implementation. (The exact timings depend on the version of Python used).

Name Description Relative speed (bigger is better)
python-avro Avro’s implementation (pure Python) 1
fastavro python-avro improved, using Cython 10
pyavroc Python/C API on upstream Avro-C 40

Building the module

You will need to build Avro-C with a number of patches applied. This is available at https://github.com/Byhiras/avro.git, branch “patches”.

Then you can build pyavroc, linking against the Avro-C shared library.

The pyavroc repository contains the script clone_avro_and_build.sh which automates this process:

./clone_avro_and_build.sh

Writing records

pyavroc supports writing, both for records created as dictionaries, and for records created as Python objects.

More examples

More examples are available in the tests directory.

License

Copyright 2015 Byhiras (Europe) Limited

Licensed under the Apache License, Version 2.0 (the “License”); you may not use this file except in compliance with the License. You may obtain a copy of the License at:

http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an “AS IS” BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.

Release History

Release History

This version
History Node

0.7.2

History Node

0.7.1

History Node

0.7.0

History Node

0.6.3

History Node

0.6.2

History Node

0.6.1

History Node

0.6.0

Download Files

Download Files

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

File Name & Checksum SHA256 Checksum Help Version File Type Upload Date
pyavroc-0.7.2-py2.6-linux-x86_64.egg (157.3 kB) Copy SHA256 Checksum SHA256 2.6 Egg Sep 30, 2015
pyavroc-0.7.2-py2.7-linux-x86_64.egg (157.4 kB) Copy SHA256 Checksum SHA256 2.7 Egg Sep 30, 2015
pyavroc-0.7.2-py3.4-linux-x86_64.egg (157.8 kB) Copy SHA256 Checksum SHA256 3.4 Egg Sep 30, 2015
pyavroc-0.7.2-py3.5-linux-x86_64.egg (158.3 kB) Copy SHA256 Checksum SHA256 3.5 Egg Sep 30, 2015
pyavroc-0.7.2.tar.gz (17.7 kB) Copy SHA256 Checksum SHA256 Source Sep 30, 2015

Supported By

WebFaction WebFaction Technical Writing Elastic Elastic Search Pingdom Pingdom Monitoring Dyn Dyn DNS Sentry Sentry Error Logging CloudAMQP CloudAMQP RabbitMQ Heroku Heroku PaaS Kabu Creative Kabu Creative UX & Design Fastly Fastly CDN DigiCert DigiCert EV Certificate Rackspace Rackspace Cloud Servers DreamHost DreamHost Log Hosting