fastavro
Fast read/write of AVRO files
Install
fastavro on PyPI
pip
pip install fastavrouv
uv add fastavropoetry
poetry add fastavroPackage 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
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.
Similar packages
permissive · top 1,000 on PyPI
json5permissive · top 1,000 on PyPI
apache-airflow-providers-databrickspermissive · top 1,000 on PyPI
brotlipermissive · top 1,000 on PyPI
aiofilepermissive · top 1,000 on PyPI
lz4permissive · top 1,000 on PyPI
tomlkitpermissive · top 1,000 on PyPI
imagesizepermissive · top 1,000 on PyPI
preshedpermissive · top 1,000 on PyPI
pyasn1permissive · top 100 on PyPI