Skip to main content

Avro file reader/writer

Project description

Build Status

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.

Project details


Download files

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

Source Distribution

pyavroc-0.7.2.tar.gz (17.7 kB view details)

Uploaded Source

Built Distributions

pyavroc-0.7.2-py3.5-linux-x86_64.egg (158.3 kB view details)

Uploaded Egg

pyavroc-0.7.2-py3.4-linux-x86_64.egg (157.8 kB view details)

Uploaded Egg

pyavroc-0.7.2-py2.7-linux-x86_64.egg (157.4 kB view details)

Uploaded Egg

pyavroc-0.7.2-py2.6-linux-x86_64.egg (157.3 kB view details)

Uploaded Egg

File details

Details for the file pyavroc-0.7.2.tar.gz.

File metadata

  • Download URL: pyavroc-0.7.2.tar.gz
  • Upload date:
  • Size: 17.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for pyavroc-0.7.2.tar.gz
Algorithm Hash digest
SHA256 5778a688e50d7abf2d8f7c84e7812cb86c204fcb798558ea893ff6f518828f50
MD5 e75e2a841c0fa24f064784143d844573
BLAKE2b-256 7bfbfb3ed151173c10ffe4b4fb83dae6879dbf6f029c864c8f98da0ef788a7a8

See more details on using hashes here.

File details

Details for the file pyavroc-0.7.2-py3.5-linux-x86_64.egg.

File metadata

File hashes

Hashes for pyavroc-0.7.2-py3.5-linux-x86_64.egg
Algorithm Hash digest
SHA256 a9c0975f034ed979eaf9f7fea674703ebb0cf1e6a5df0a4ebd50dbd484904a8f
MD5 33686a94e82cd434c7aa418dc7dcab88
BLAKE2b-256 41d2d718e15af9dfb2d6a7402e3a32ec48d052970f8b1acbde6f2d4160b6b8c2

See more details on using hashes here.

File details

Details for the file pyavroc-0.7.2-py3.4-linux-x86_64.egg.

File metadata

File hashes

Hashes for pyavroc-0.7.2-py3.4-linux-x86_64.egg
Algorithm Hash digest
SHA256 731a9dae594e59085d719da69fd42f6c6196fb8c94d753d098085ed83aa9ea05
MD5 f607170359941ecabf4b3a3d0040320f
BLAKE2b-256 24f03f8e73c755fd021d35f72a3ad48e0beb721855fee741b1844e7e3ea193e1

See more details on using hashes here.

File details

Details for the file pyavroc-0.7.2-py2.7-linux-x86_64.egg.

File metadata

File hashes

Hashes for pyavroc-0.7.2-py2.7-linux-x86_64.egg
Algorithm Hash digest
SHA256 94ac3a23a829b073dd20d6ca54b8224f89d92647a0df82a6f490b53025c8f00c
MD5 767558340c3a15d25aff13a39ed9cf96
BLAKE2b-256 179b99e7158de72cf084bdcd1b284b36bb16e2dcf0e1afbb33972d1fd53a1909

See more details on using hashes here.

File details

Details for the file pyavroc-0.7.2-py2.6-linux-x86_64.egg.

File metadata

File hashes

Hashes for pyavroc-0.7.2-py2.6-linux-x86_64.egg
Algorithm Hash digest
SHA256 cb5a64452b8e22c3a88d764b37c729458dd43637086bf62c77775e87a78a813e
MD5 0eac5a793e8f1720d18e049402ebfc7e
BLAKE2b-256 8123ab797009455d89d06429cc96ccac1b5dc4b39c521eccea51f852a434b65d

See more details on using hashes here.

Supported by

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