Skip to main content

Very fast Avro library for Python.

Project description

quickavro Build Status

quickavro is a Python library for working with the Avro file format. The purpose of this library is to provide a high-performance interface in Python for reading/writing Avro files. The performance of Avro has been historically very poor in Python, so quickavro makes use of a Python C extension that directly interacts with the official Avro C API. quickavro is currently alpha quality.

Documentation

API documentation and examples can be found at http://chrisrx.github.io/quickavro.

Install

$ pip install quickavro

It is important to note, however, that until PyPi allows binary wheels for linux, setup.py will attempt to download and compile the dependencies when installing with pip install.

Building from source

quickavro depends upon several C libraries:

They depend upon traditional build/config tools (cmake, autoconf, pkgconfig, etc), that sometimes make compiling this a nightmare so I ended up trying something a little different here and so far it is working well.

make vendor
make
make install

The vendor make target downloads and unpacks the source files for all the libraries, while the default make target build, calls Python setuptools/distutils to staticly compile these and creates a Wheel binary package. This removes the need for these libraries to be dynamically linked correctly and can trivially be packaged within the binary Wheel package without worries like if the header package has installed for the library.

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

quickavro-0.1.22.tar.gz (17.9 kB view details)

Uploaded Source

File details

Details for the file quickavro-0.1.22.tar.gz.

File metadata

  • Download URL: quickavro-0.1.22.tar.gz
  • Upload date:
  • Size: 17.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for quickavro-0.1.22.tar.gz
Algorithm Hash digest
SHA256 ce9e3ace07b0c8967d997f73e42a790ae52191de1e92d7554e22e9e5eaa7e615
MD5 58829b7245bc7a7101304b0c836c419b
BLAKE2b-256 73d4c813f8c0cc93efb58d551968d95efc6127a9dde30522720dc1b68a96e8d2

See more details on using hashes here.

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