快速读写AVRO文件
项目描述
fastavro
由于Apache Python avro
包是用纯Python编写的,因此相对较慢。在一个测试案例中,遍历包含10,000条记录的文件需要约14秒。相比之下,JAVA avro
SDK读取相同的文件只需要1.9秒。
fastavro
库被编写来提供与Java库相当的性能。在常规CPython中,fastavro
使用C扩展,允许它在1.7秒内遍历相同的10,000条记录的文件。在PyPy中,这降低到1.5秒(为了公平起见,JAVA基准正在执行一些额外的JSON编码/解码)。
fastavro
支持以下Python版本
- Python 3.8
- Python 3.9
- Python 3.10
- Python 3.11
- Python 3.12
- PyPy3
支持的功能
- 文件写入器
- 文件读取器(通过记录或块迭代)
- 无模式写入器
- 无模式读取器
- JSON 写入器
- JSON 读取器
- 编解码器(Snappy、Deflate、Zstandard、Bzip2、LZ4、XZ)
- 模式解析
- 别名
- 逻辑类型
- 将模式解析为规范形式
- 模式指纹
缺失的功能
- 涉及 Avro RPC 功能的任何内容
文档
文档可在 http://fastavro.readthedocs.io/en/latest/ 找到
安装
fastavro
可在 PyPI 上找到
pip install fastavro
和 conda-forge conda
通道上。
conda install -c conda-forge fastavro
贡献
- 错误和新功能请求通常从 GitHub 问题开始,在那里可以讨论。我尽量在有时间的情况下解决这些问题,但欢迎所有人提交 PR。
- 在提交 PR 之前,请先在 GitHub 问题中进行讨论以获得批准
- 测试必须通过才能考虑 PR
开发者需求可以通过 pip install -r developer_requirements.txt
安装。如果已安装,您可以使用 ./run-tests.sh
运行测试。如果您在安装这些依赖项时遇到困难,您可以通过运行 docker build .
在 Docker 容器中运行测试。这不会在所有 Python 版本或 PyPy 上进行测试,因此即使在提交 PR 后,仍有可能出现 CI 失败,但我们可以处理这些错误(如果发生)。 .run-tests.sh
只涵盖 Cython 测试。为了测试纯 Python 实现,请注释掉 python setup.py build_ext --inplace
并重新运行。
注意:在本地运行测试时,某些测试可能会失败。例如,这是编解码器测试。如果支持的编解码器库不可用,则测试将失败。这些失败可以忽略,因为测试将在 PR 上运行,并且将在具有正确设置的依赖项的正确环境中运行。
发布
我们同时发布到 PyPI 和 conda-forge。
我们假设您已安装 twine 并已创建 fastavro-feedstock 的自己的分支。
- 确保测试通过
- 运行
make tag
- 等待所有工件构建并发布到 Github 发布版
- 运行
make publish
- conda-forge PR 应该会自动创建和合并
更改
请参阅 变更日志
联系
项目详情
下载文件
下载适用于您的平台的文件。如果您不确定该选择哪个,请了解有关安装包的更多信息。
源分布
构建分布
哈希值 for fastavro-1.9.7-cp312-cp312-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ee9bf23c157bd7dcc91ea2c700fa3bd924d9ec198bb428ff0b47fa37fe160659 |
|
MD5 | f1c5e97915518dedb042c3ad6597e0cd |
|
BLAKE2b-256 | 68dc66cc5227809074beb61cf19bfd615b5b1c0bce0d833af69a2d02b4408316 |
哈希值 for fastavro-1.9.7-cp312-cp312-musllinux_1_2_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | d576eccfd60a18ffa028259500df67d338b93562c6700e10ef68bbd88e499731 |
|
MD5 | dd92a4546d44726a77414ab9a358775e |
|
BLAKE2b-256 | 851ad388306a809ad3b4820f1bd67b2fdd9dd9d0af8782dea6524bdb7fd249ef |
哈希值 for fastavro-1.9.7-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9be089be8c00f68e343bbc64ca6d9a13e5e5b0ba8aa52bcb231a762484fb270e |
|
MD5 | 274526ca6b3dade397b7c2536521ab21 |
|
BLAKE2b-256 | 694c011823812409d16c6785754c5332e3f551b8131ea14cf9dd14155a61baaf |
哈希值 for fastavro-1.9.7-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | eac69666270a76a3a1d0444f39752061195e79e146271a568777048ffbd91a27 |
|
MD5 | 19a13debb2401246381567db46531dac |
|
BLAKE2b-256 | e029dd2f5b2213be103a6b22cbf62e1e17a8423aa687c05f37510688d7ed5987 |
哈希值 for fastavro-1.9.7-cp312-cp312-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 4e1289b731214a7315884c74b2ec058b6e84380ce9b18b8af5d387e64b18fc44 |
|
MD5 | 00cf247d57953f607e4fcdae9300f053 |
|
BLAKE2b-256 | bb30e6f13d07ca6b2ba42719192a36233d660d75bbdc91026a20da0e08f8d5f3 |
哈希值 for fastavro-1.9.7-cp311-cp311-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 1d09227d1f48f13281bd5ceac958650805aef9a4ef4f95810128c1f9be1df736 |
|
MD5 | b1605d7dca7cea54e42068212e106a69 |
|
BLAKE2b-256 | b27e21b3066973c60309f8e58f3d0d63dfdad196354217416384577c1e8faee0 |
哈希值 for fastavro-1.9.7-cp311-cp311-musllinux_1_2_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 9de1fa832a4d9016724cd6facab8034dc90d820b71a5d57c7e9830ffe90f31e4 |
|
MD5 | 56489477538179516951d7c59ef8f4c9 |
|
BLAKE2b-256 | 600862707fe5bfb7c4dca99132c969b38270579bf96408552a0baf201e861e84 |
哈希值 for fastavro-1.9.7-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 919f3549e07a8a8645a2146f23905955c35264ac809f6c2ac18142bc5b9b6022 |
|
MD5 | 8c6372343f6af4d69abab4a854465d6c |
|
BLAKE2b-256 | 682b0015355fb7dbf31dee0f3e69e6fa1ff43967500a8b1abb81de5a15f24b16 |
哈希值 for fastavro-1.9.7-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 76d9d96f98052615ab465c63ba8b76ed59baf2e3341b7b169058db104cbe2aa0 |
|
MD5 | c3d7a9671b707a506161997b4bc7447e |
|
BLAKE2b-256 | a0a1c6539ac9f6e068c1920f5d6a823113cd60088160050ed32ee4e7b960c1aa |
哈希值 for fastavro-1.9.7-cp311-cp311-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ec8499dc276c2d2ef0a68c0f1ad11782b2b956a921790a36bf4c18df2b8d4020 |
|
MD5 | cd3f87887780d0d54d8fa7e1b58c3a92 |
|
BLAKE2b-256 | 8961b8b18aebc01e5d5a77042f6d555fe091d3279242edd5639252c9fcb9a3b7 |
哈希值 for fastavro-1.9.7-cp310-cp310-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | b525c363e267ed11810aaad8fbdbd1c3bd8837d05f7360977d72a65ab8c6e1fa |
|
MD5 | 035dc39380967d1613d98c1eba7e6df2 |
|
BLAKE2b-256 | 5689f37e824942867771027f1e2e297b3d1f0ee2e72f8faae610d5f863258df3 |
哈希值 for fastavro-1.9.7-cp310-cp310-musllinux_1_2_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | e87d04b235b29f7774d226b120da2ca4e60b9e6fdf6747daef7f13f218b3517a |
|
MD5 | 09d041c9d80190e5449cc2ae021b2d2a |
|
BLAKE2b-256 | ed49d667623c67351cfd884f8643edcde8e75210988648b53253d082ef4e5bb9 |
哈希值 for fastavro-1.9.7-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 0b2f9bafa167cb4d1c3dd17565cb5bf3d8c0759e42620280d1760f1e778e07fc |
|
MD5 | 08d456fb41be50fdc978dd96236e62e4 |
|
BLAKE2b-256 | 3f5ce9d528770af9c1cb38611e6b9a8976dfb822a876cbe5d0c9801988d56d1c |
哈希值 for fastavro-1.9.7-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | fb8749e419a85f251bf1ac87d463311874972554d25d4a0b19f6bdc56036d7cf |
|
MD5 | 42ff17ee2a0bf63d1d47c055022f5df1 |
|
BLAKE2b-256 | 36f8854fa8c91c0e8a4f7aa26711e0a8e52d1eb408066a3c56fe0746402b06df |
哈希值 for fastavro-1.9.7-cp310-cp310-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | cc811fb4f7b5ae95f969cda910241ceacf82e53014c7c7224df6f6e0ca97f52f |
|
MD5 | e58e850892570e76d9a82d2223dae3ea |
|
BLAKE2b-256 | 79240e9940a19aea0599987807f261d9ae66a9c180e6f14464b2b738b06cc48f |
哈希值 for fastavro-1.9.7-cp39-cp39-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7c911366c625d0a997eafe0aa83ffbc6fd00d8fd4543cb39a97c6f3b8120ea87 |
|
MD5 | f5b89c5fb346ab79af2848a904ae071f |
|
BLAKE2b-256 | 965691265af4da9007fd72480f2ac6b1912359e892ed90990996adc01e734b5b |
哈希值 for fastavro-1.9.7-cp39-cp39-musllinux_1_2_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 17de68aae8c2525f5631d80f2b447a53395cdc49134f51b0329a5497277fc2d2 |
|
MD5 | 931f01da250ee833689ad1b9ad0ca809 |
|
BLAKE2b-256 | 393bcba99b9609ed27906188acd752368d53579682d8e54622c064eb14f8f7a8 |
哈希值 for fastavro-1.9.7-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2fcce036c6aa06269fc6a0428050fcb6255189997f5e1a728fc461e8b9d3e26b |
|
MD5 | e68d6440b9c696f34f0e7716649acbb5 |
|
BLAKE2b-256 | 2b440f3c16daac4f20aa2689075b341590166adc9f2fc4ce2c87818e20b1a202 |
哈希值 for fastavro-1.9.7-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 56304401d2f4f69f5b498bdd1552c13ef9a644d522d5de0dc1d789cf82f47f73 |
|
MD5 | d007a17130dd27975a5752bb366f0db5 |
|
BLAKE2b-256 | 93b3298f1c4797e64989cee288865cb95310960737468565697b31427f593acf |
哈希值 for fastavro-1.9.7-cp39-cp39-macosx_10_9_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 58f76a5c9a312fbd37b84e49d08eb23094d36e10d43bc5df5187bc04af463feb |
|
MD5 | 7463942d5b1a5a3f1d4bf8246e362fa1 |
|
BLAKE2b-256 | f013571f9890263207cb03c4fe055f74362bcc94f165128fca9fbace6d431b5a |
哈希值 用于 fastavro-1.9.7-cp38-cp38-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ec2e96bdabd58427fe683329b3d79f42c7b4f4ff6b3644664a345a655ac2c0a1 |
|
MD5 | 9b2bc918676cc63ad8a8a41083615f7b |
|
BLAKE2b-256 | 5be842a105a4842115232a5a1326645f045daa49961c0b3a1812bb67967f4897 |
哈希值 用于 fastavro-1.9.7-cp38-cp38-musllinux_1_2_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | edc28ab305e3c424de5ac5eb87b48d1e07eddb6aa08ef5948fcda33cc4d995ce |
|
MD5 | ff1c9adc25e922a37778f3f4e3e67024 |
|
BLAKE2b-256 | bda514119c0bf73e9a2d0ee2d875e811e83994732f3b81f42582db5288ea040b |
哈希值 用于 fastavro-1.9.7-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2af559f30383b79cf7d020a6b644c42ffaed3595f775fe8f3d7f80b1c43dfdc5 |
|
MD5 | 74760917eeab61eeddb6473a1febc2f8 |
|
BLAKE2b-256 | 3a6a1998c619c6e59a35d0a5df49681f0cdfb6dbbeabb0d24d26e938143c655f |
哈希值 用于 fastavro-1.9.7-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 536f5644737ad21d18af97d909dba099b9e7118c237be7e4bd087c7abde7e4f0 |
|
MD5 | e2c7806edf17053c7adc81d0d2bf5050 |
|
BLAKE2b-256 | fff6d106d0e6d4ea96aa138e548a70f6eceeed45d717eaac10a86c362eb53e28 |
哈希值 用于 fastavro-1.9.7-cp38-cp38-macosx_11_0_universal2.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7313def3aea3dacface0a8b83f6d66e49a311149aa925c89184a06c1ef99785d |
|
MD5 | de9b60bb32d886a74e510a1728b19391 |
|
BLAKE2b-256 | 899ecb4f6852f4efa1cf0a02fbc1867da78393d5e82b869605b3ef0eeaca031b |