skillfed

fastavro

Fast read/write of AVRO files

fastavro Permissive license MIT Active 711 v1.12.2 released

Install

fastavro on PyPI

pip

pip install fastavro

uv

uv add fastavro

poetry

poetry add fastavro

Package facts

License MIT (permissive)
Python support supports the current Python release (>=3.9)
Install friction medium — platform-specific wheel
Runtime dependencies none
Maintenance actively maintained — 111 days since the last release
Last repo commit
First released
Popularity one of the top 1,000 most-downloaded packages on PyPI (30-day window, as of 2026-08-13)
Known vulnerabilities none known (OSV.dev, checked 2026-08-13)

Evidence: fastavro-1.12.2-cp310-cp310-macosx_10_9_universal2.whl; fastavro-1.12.2-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; fastavro-1.12.2-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; fastavro-1.12.2-cp310-cp310-musllinux_1_2_aarch64.whl; fastavro-1.12.2-cp310-cp310-musllinux_1_2_x86_64.whl; fastavro-1.12.2-cp310-cp310-win_amd64.whl; fastavro-1.12.2-cp311-cp311-macosx_10_9_universal2.whl; fastavro-1.12.2-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; fastavro-1.12.2-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; fastavro-1.12.2-cp311-cp311-musllinux_1_2_aarch64.whl; fastavro-1.12.2-cp311-cp311-musllinux_1_2_x86_64.whl; fastavro-1.12.2-cp311-cp311-win_amd64.whl; fastavro-1.12.2-cp311-cp311-win_arm64.whl; fastavro-1.12.2-cp312-cp312-macosx_10_13_universal2.whl; fastavro-1.12.2-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; fastavro-1.12.2-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; fastavro-1.12.2-cp312-cp312-musllinux_1_2_aarch64.whl; fastavro-1.12.2-cp312-cp312-musllinux_1_2_x86_64.whl; fastavro-1.12.2-cp312-cp312-win_amd64.whl; fastavro-1.12.2-cp312-cp312-win_arm64.whl

Development Status :: 5 - Production/StableIntended Audience :: DevelopersOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: PythonProgramming Language :: Python :: 3Programming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: 3.9Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: Scientific/Engineering :: Information AnalysisTopic :: Software Development :: LibrariesTopic :: Software Development :: Libraries :: Python Modules

About fastavro

from the package's own PyPI description — quoted content, verbatim

fastavro

Build Status (image) Documentation Status (image) codecov (image)

Because the Apache Python avro package is written in pure Python, it is relatively slow. In one test case, it takes about 14 seconds to iterate through a file of 10,000 records. By comparison, the JAVA avro SDK reads the same file in 1.9 seconds.

The fastavro library was written to offer performance comparable to the Java library. With regular CPython, fastavro uses C extensions which allow it to iterate the same 10,000 record file in 1.7 seconds. With PyPy, this drops to 1.5 seconds (to be fair, the JAVA benchmark is doing some extra JSON encoding/decoding).

fastavro supports the following Python versions:

  • Python 3.9
  • Python 3.10
  • Python 3.11
  • Python 3.12
  • Python 3.13
  • Python 3.14
  • PyPy3

Supported Features

  • File Writer
  • File Reader (iterating...

Read as markdown · JSON record · Source repository · Homepage

AI interpretation — verify before relying

AI-generated interpretation of the package facts above; every digit, version, license, or vulnerability id it cites is grounded in the facts already shown on this page

fastavro provides fast serialization and deserialization of Apache Avro data files, with C extensions delivering performance comparable to the Java SDK while supporting schemaless I/O, multiple codecs, and schema resolution.

Medium install friction due to compiled C extensions across multiple platforms (CPython 3.9–3.14, PyPy3, macOS/Linux/Windows), but wheels are pre-built for all major architectures. Active maintenance with last commit on 2026-08-07 and 111 days since latest release.

MIT license permits unrestricted commercial and private use, modification, and distribution with minimal obligations—only requiring license and copyright notice retention.

Usage

pip install fastavro

import fastavro
with open('data.avro', 'rb') as f:
    for record in fastavro.reader(f):
        print(record)

Requires Python 3.9 or later; C extensions are pre-built but compilation may be needed on unsupported platforms.

Verdict: fastavro is a production-stable, actively maintained library in the top 1000 PyPI packages with no known vulnerabilities. Its permissive MIT license and comprehensive codec/schema support make it suitable for performance-critical Avro workloads, though medium install friction from compiled extensions is typical for this use case.

Needs verification

  • Whether codec libraries (Snappy, Deflate, Zstandard, Bzip2, LZ4, XZ) are optional dependencies or bundled.
  • Performance characteristics on PyPy3 relative to CPython with C extensions in production scenarios.
avro serialization pythonfast avro read writeavro file formatapache avro libraryavro codec compressionschema evolution avroavro data serialization

Similar packages