fastavro 1.12.1


pip install fastavro

  Latest version

Released: Oct 10, 2025

Project Links

Meta
Author: Miki Tebeka
Requires Python: >=3.9

Classifiers

Development Status
  • 5 - Production/Stable

Intended Audience
  • Developers

Operating System
  • POSIX :: Linux
  • Microsoft :: Windows
  • MacOS

Programming Language
  • Python :: 3
  • Python :: 3.9
  • Python :: 3.10
  • Python :: 3.11
  • Python :: 3.12
  • Python :: 3.13
  • Python :: 3.14
  • Python :: Implementation :: CPython
  • Python :: Implementation :: PyPy
  • Python

Topic
  • Software Development :: Libraries :: Python Modules
  • Software Development :: Libraries
  • Scientific/Engineering :: Information Analysis

fastavro

Build Status Documentation Status codecov

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 via records or blocks)
  • Schemaless Writer
  • Schemaless Reader
  • JSON Writer
  • JSON Reader
  • Codecs (Snappy, Deflate, Zstandard, Bzip2, LZ4, XZ)
  • Schema resolution
  • Aliases
  • Logical Types
  • Parsing schemas into the canonical form
  • Schema fingerprinting

Missing Features

  • Anything involving Avro's RPC features

Documentation

Documentation is available at http://fastavro.readthedocs.io/en/latest/

Installing

fastavro is available both on PyPI

pip install fastavro

and on conda-forge conda channel.

conda install -c conda-forge fastavro

Contributing

  • Bugs and new feature requests typically start as GitHub issues where they can be discussed. I try to resolve these as time affords, but PRs are welcome from all.
  • Get approval from discussing on the GitHub issue before opening the pull request
  • Tests must be passing for pull request to be considered

Developer requirements can be installed with pip install -r developer_requirements.txt. If those are installed, you can run the tests with ./run-tests.sh. If you have trouble installing those dependencies, you can run docker build . to run the tests inside a Docker container. This won't test on all versions of Python or on PyPy, so it's possible to still get CI failures after making a pull request, but we can work through those errors if/when they happen. .run-tests.sh only covers the Cython tests. In order to test the pure Python implementation, comment out python setup.py build_ext --inplace and re-run.

NOTE: Some tests might fail when running the tests locally. An example of this is this codec tests. If the supporting codec library is not available, the test will fail. These failures can be ignored since the tests will on pull requests and will be run in the correct environments with the correct dependencies set up.

Releasing

We release both to PyPI and to conda-forge.

We assume you have twine installed and that you've created your own fork of fastavro-feedstock.

  • Make sure the tests pass
  • Run make tag
  • Wait for all artifacts to be built and published to the GitHub release.
  • Run make publish
  • The conda-forge PR should get created and merged automatically

Changes

See the ChangeLog

Contact

Project Home

1.12.1 Oct 10, 2025
1.12.0 Jul 31, 2025
1.11.1 May 18, 2025
1.11.0 May 18, 2025
1.10.0 Dec 20, 2024
1.9.7 Sep 06, 2024
1.9.6 Sep 05, 2024
1.9.5 Jul 08, 2024
1.9.4 Feb 13, 2024
1.9.3 Jan 09, 2024
1.9.2 Dec 21, 2023
1.9.1 Dec 06, 2023
1.9.0 Oct 28, 2023
1.8.4 Oct 03, 2023
1.8.3 Sep 07, 2023
1.8.2 Jul 19, 2023
1.8.1 Jul 17, 2023
1.8.0 Jul 06, 2023
1.7.4 May 04, 2023
1.7.3 Mar 08, 2023
1.7.2 Feb 22, 2023
1.7.1 Jan 27, 2023
1.7.0 Oct 26, 2022
1.6.1 Sep 09, 2022
1.6.0 Aug 15, 2022
1.5.4 Jul 29, 2022
1.5.3 Jul 19, 2022
1.5.2 Jun 27, 2022
1.5.1 Jun 08, 2022
1.5.0 Jun 07, 2022
1.4.12 May 18, 2022
1.4.11 Apr 27, 2022
1.4.10 Mar 04, 2022
1.4.9 Jan 08, 2022
1.4.8 Dec 27, 2021
1.4.7 Oct 29, 2021
1.4.6 Oct 23, 2021
1.4.5 Sep 23, 2021
1.4.4 Jul 22, 2021
1.4.3 Jul 16, 2021
1.4.2 Jun 28, 2021
1.4.1 May 18, 2021
1.4.0 Apr 16, 2021
1.3.5 Mar 31, 2021
1.3.4 Mar 20, 2021
1.3.3 Mar 13, 2021
1.3.2 Feb 14, 2021
1.3.1 Feb 06, 2021
1.3.0 Jan 21, 2021
1.2.4 Jan 17, 2021
1.2.3 Dec 24, 2020
1.2.2 Dec 23, 2020
1.2.1 Dec 02, 2020
1.2.0 Nov 19, 2020
1.1.1 Nov 17, 2020
1.1.0 Oct 30, 2020
1.0.0.post1 Aug 26, 2020
1.0.0 Aug 23, 2020
0.24.2 Aug 18, 2020
0.24.1 Aug 16, 2020
0.24.0 Jul 30, 2020
0.23.6 Jul 12, 2020
0.23.5 Jun 22, 2020
0.23.4 May 15, 2020
0.23.3 Apr 29, 2020
0.23.2 Apr 18, 2020
0.23.1 Apr 03, 2020
0.23.0 Mar 23, 2020
0.22.13 Mar 03, 2020
0.22.12 Feb 27, 2020
0.22.11 Feb 26, 2020
0.22.10 Feb 24, 2020
0.22.9 Dec 20, 2019
0.22.8 Dec 16, 2019
0.22.7 Nov 06, 2019
0.22.6 Nov 03, 2019
0.22.5 Sep 19, 2019
0.22.4 Aug 26, 2019
0.22.3 Jul 12, 2019
0.22.2 Jun 28, 2019
0.22.1 Jun 14, 2019
0.22.0 Jun 13, 2019
0.21.24 May 29, 2019
0.21.23 May 07, 2019
0.21.22 Apr 27, 2019
0.21.21 Apr 19, 2019
0.21.20 Apr 03, 2019
0.21.19 Mar 03, 2019
0.21.18 Feb 14, 2019
0.21.17 Jan 22, 2019
0.21.16 Dec 22, 2018
0.21.15 Dec 10, 2018
0.21.14 Nov 17, 2018
0.21.13 Nov 12, 2018
0.21.12 Nov 01, 2018
0.21.11 Oct 30, 2018
0.21.10 Oct 25, 2018
0.21.9 Oct 09, 2018
0.21.8 Sep 25, 2018
0.21.7 Sep 17, 2018
0.21.6 Sep 16, 2018
0.21.5 Sep 04, 2018
0.21.4 Jul 25, 2018
0.21.3 Jul 12, 2018
0.21.2 Jul 12, 2018
0.21.1 Jul 10, 2018
0.21.0 Jul 09, 2018
0.21.0rc1 Jul 06, 2018
0.20.0 Jul 03, 2018
0.19.9 Jun 29, 2018
0.19.8 Jun 27, 2018
0.19.7 Jun 13, 2018
0.19.6 May 31, 2018
0.19.5 May 29, 2018
0.19.4 May 22, 2018
0.19.3 May 20, 2018
0.19.2 May 18, 2018
0.19.1 May 16, 2018
0.19.0 May 14, 2018
0.18.2 May 08, 2018
0.18.1 May 02, 2018
0.18.0 Apr 27, 2018
0.17.10 Mar 30, 2018
0.17.9 Mar 01, 2018
0.17.8 Feb 12, 2018
0.17.7 Feb 01, 2018
0.17.6 Feb 01, 2018
0.17.5 Jan 24, 2018
0.17.4 Jan 22, 2018
0.17.3 Jan 19, 2018
0.17.2 Jan 18, 2018
0.17.1 Dec 27, 2017
0.17.0 Dec 26, 2017
0.16.7 Dec 24, 2017
0.16.6 Dec 13, 2017
0.16.5 Dec 12, 2017
0.16.4 Dec 05, 2017
0.16.3 Nov 29, 2017
0.16.1 Nov 27, 2017
0.14.11 Nov 07, 2017
0.14.10 Sep 18, 2017
0.14.9 Sep 10, 2017
0.14.8 Sep 02, 2017
0.14.7 Aug 08, 2017
0.14.6 Aug 02, 2017
0.14.5 Jul 15, 2017
0.14.3 Jun 24, 2017
0.14.2 Jun 08, 2017
0.14.1 Jun 07, 2017
0.14.0 Jun 03, 2017
0.13.0 May 02, 2017
0.12.2 Apr 19, 2017
0.12.1 Dec 09, 2016
0.12.0 Dec 08, 2016
0.11.1 Nov 25, 2016
0.11.0 Oct 20, 2016
0.10.2 Aug 01, 2016
0.10.1 Jul 03, 2016
0.9.11 Jun 12, 2016
0.9.10 Jun 07, 2016
0.9.9 Feb 13, 2016
0.9.8 Jan 15, 2016
0.9.7 Dec 27, 2015
0.9.6 Oct 14, 2015
0.9.5 Oct 04, 2015
0.9.4 Oct 01, 2015
0.9.3 Sep 01, 2015
0.9.2 Aug 25, 2015
0.9.1 Aug 21, 2015
0.9.0 Aug 20, 2015
0.8.8 Aug 18, 2015
0.8.7 Aug 15, 2015
0.8.6 Aug 13, 2015
0.8.5 Aug 05, 2015
0.8.4 Aug 03, 2015
0.8.3 Jul 16, 2015
0.8.2 Jul 14, 2015
0.8.1 Jun 02, 2015
0.8.0 May 04, 2015
0.7.10 Apr 28, 2015
0.7.9 Aug 28, 2014
0.7.8 May 20, 2014
0.7.7 Mar 27, 2013
0.7.6 Mar 27, 2013
0.7.5 Mar 23, 2013
0.7.4 Mar 02, 2013
0.7.3 Feb 19, 2013
0.7.2 Jan 08, 2013
0.7.1 Dec 11, 2012
0.7.0 Dec 11, 2012
0.6.10 Oct 06, 2012
0.6.9 Oct 06, 2012
0.6.8 Jul 14, 2012
0.6.7 Apr 30, 2012
0.6.6 Apr 29, 2012
0.6.5 Apr 25, 2012
0.6.4 Apr 14, 2012
0.6.3 Mar 16, 2012
0.6.2 Mar 13, 2012
0.6.1 Mar 12, 2012
0.6.0 Mar 10, 2012
0.5.0 Feb 23, 2012
0.4.2 Jan 30, 2012
0.4.1 Jan 26, 2012
0.4.0 Jan 25, 2012
0.3.2 Jan 24, 2012
0.3.1 Jan 24, 2012
0.3.0 Jan 23, 2012
0.2.2 Jan 11, 2012
0.2.1 Jan 11, 2012
0.2.0 Jan 11, 2012
0.1.0 Jan 05, 2012

Wheel compatibility matrix

Platform CPython 3.9 CPython 3.10 CPython 3.11 CPython 3.12 CPython 3.13 CPython 3.14 CPython (additional flags: t) 3.13 CPython (additional flags: t) 3.14
macosx_10_13_universal2
macosx_10_15_universal2
macosx_10_9_universal2
manylinux2014_aarch64
manylinux2014_x86_64
manylinux_2_17_aarch64
manylinux_2_17_x86_64
manylinux_2_28_aarch64
manylinux_2_28_x86_64
musllinux_1_2_aarch64
musllinux_1_2_x86_64
win_amd64

Files in release

fastavro-1.12.1-cp310-cp310-macosx_10_9_universal2.whl (976.9KiB)
fastavro-1.12.1-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.1MiB)
fastavro-1.12.1-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.1MiB)
fastavro-1.12.1-cp310-cp310-musllinux_1_2_aarch64.whl (3.0MiB)
fastavro-1.12.1-cp310-cp310-musllinux_1_2_x86_64.whl (3.1MiB)
fastavro-1.12.1-cp310-cp310-win_amd64.whl (438.8KiB)
fastavro-1.12.1-cp311-cp311-macosx_10_9_universal2.whl (992.8KiB)
fastavro-1.12.1-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.2MiB)
fastavro-1.12.1-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3MiB)
fastavro-1.12.1-cp311-cp311-musllinux_1_2_aarch64.whl (3.2MiB)
fastavro-1.12.1-cp311-cp311-musllinux_1_2_x86_64.whl (3.3MiB)
fastavro-1.12.1-cp311-cp311-win_amd64.whl (440.0KiB)
fastavro-1.12.1-cp312-cp312-macosx_10_13_universal2.whl (985.4KiB)
fastavro-1.12.1-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.2MiB)
fastavro-1.12.1-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3MiB)
fastavro-1.12.1-cp312-cp312-musllinux_1_2_aarch64.whl (3.1MiB)
fastavro-1.12.1-cp312-cp312-musllinux_1_2_x86_64.whl (3.3MiB)
fastavro-1.12.1-cp312-cp312-win_amd64.whl (433.7KiB)
fastavro-1.12.1-cp313-cp313-macosx_10_13_universal2.whl (977.1KiB)
fastavro-1.12.1-cp313-cp313-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.2MiB)
fastavro-1.12.1-cp313-cp313-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.2MiB)
fastavro-1.12.1-cp313-cp313-musllinux_1_2_aarch64.whl (3.1MiB)
fastavro-1.12.1-cp313-cp313-musllinux_1_2_x86_64.whl (3.2MiB)
fastavro-1.12.1-cp313-cp313-win_amd64.whl (433.8KiB)
fastavro-1.12.1-cp313-cp313t-macosx_10_13_universal2.whl (1.0MiB)
fastavro-1.12.1-cp313-cp313t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.4MiB)
fastavro-1.12.1-cp313-cp313t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3MiB)
fastavro-1.12.1-cp313-cp313t-musllinux_1_2_aarch64.whl (3.2MiB)
fastavro-1.12.1-cp313-cp313t-musllinux_1_2_x86_64.whl (3.2MiB)
fastavro-1.12.1-cp314-cp314-macosx_10_15_universal2.whl (977.9KiB)
fastavro-1.12.1-cp314-cp314-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.2MiB)
fastavro-1.12.1-cp314-cp314-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.2MiB)
fastavro-1.12.1-cp314-cp314-musllinux_1_2_aarch64.whl (3.1MiB)
fastavro-1.12.1-cp314-cp314-musllinux_1_2_x86_64.whl (3.2MiB)
fastavro-1.12.1-cp314-cp314-win_amd64.whl (442.3KiB)
fastavro-1.12.1-cp314-cp314t-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.4MiB)
fastavro-1.12.1-cp314-cp314t-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.3MiB)
fastavro-1.12.1-cp314-cp314t-musllinux_1_2_aarch64.whl (3.2MiB)
fastavro-1.12.1-cp314-cp314t-musllinux_1_2_x86_64.whl (3.2MiB)
fastavro-1.12.1-cp39-cp39-macosx_10_9_universal2.whl (978.8KiB)
fastavro-1.12.1-cp39-cp39-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl (3.0MiB)
fastavro-1.12.1-cp39-cp39-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl (3.1MiB)
fastavro-1.12.1-cp39-cp39-musllinux_1_2_aarch64.whl (3.0MiB)
fastavro-1.12.1-cp39-cp39-musllinux_1_2_x86_64.whl (3.1MiB)
fastavro-1.12.1-cp39-cp39-win_amd64.whl (498.4KiB)
fastavro-1.12.1.tar.gz (1001.6KiB)
Extras:
Dependencies: