C-Blosc2库的Python封装
项目描述
为极快Blosc2压缩库提供的Python封装
- 作者:
The Blosc开发团队
- 联系方式:
- Github:
- 动作:
- PyPi:
- NumFOCUS:
- 行为准则:
它是什么
C-Blosc2 是 C-Blosc 的最新主要版本,与 C-Blosc1 API 及其内存格式兼容。Python-Blosc2 是一个 Python 包,它封装了 C-Blosc2,即最新的 Blosc 压缩器版本。
目前,Python-Blosc2 已经复现了 Python-Blosc 的 API,因此可以作为直接替换使用。然而,为了实现完全兼容性,存在一些例外情况。
此外,Python-Blosc2 旨在充分利用 C-Blosc2 的所有功能,以支持超级块(SChunk)、多维数组(NDArray)、元数据、序列化和其他在 C-Blosc2 中引入的功能。
注意:Python-Blosc2 意在向后兼容 Python-Blosc 数据。这意味着它可以读取使用 Python-Blosc 生成的数据,但反之则不成立(即没有向前兼容性)。
SChunk:64位压缩存储
SChunk 是一个简单的数据容器,用于处理设置、扩展和获取数据和元数据。与块不同,超级块可以更新和调整其包含的数据的大小,支持用户元数据,并且没有 2 GB 的存储限制。
此外,您可以将 SChunk 转换为连续的序列化缓冲区(也称为 cframe),反之亦然;作为额外的好处,序列化和反序列化过程还可以以极高的速度与 NumPy 数组和 PyTorch/TensorFlow 张量一起工作。
同时达到出色的压缩比。
如果您是 Mac M1/M2 用户,请使用其本机的 arm64 架构(是的,我们也在分发 Mac arm64 轮子;欢迎您 ;-)
在以下博客文章中了解更多关于 SChunk 的功能:[https://www.blosc.org/posts/python-blosc2-improvements](https://www.blosc.org/posts/python-blosc2-improvements)
NDArray:多维存储
Python-Blosc2 中最新且最令人兴奋的添加之一是 NDArray 对象。它可以通过二维分区以极高的效率写入和读取 n 维数据集,允许以更精细的方式对任意大和压缩的数据进行切片和切块。
为了激发您的兴趣,以下是 NDArray 对象在获取与 4 维数据集不同轴正交的切片时的表现。
我们已在博客中介绍了这一点:[https://www.blosc.org/posts/blosc2-ndim-intro](https://www.blosc.org/posts/blosc2-ndim-intro)
我们还有一个大约 2 分钟的解释视频,介绍了为什么切片在菠萝式(即双层分区)中很有用:[https://www.youtube.com/watch?v=LvP9zxMGBng](https://www.youtube.com/watch?v=LvP9zxMGBng)
安装
Blosc 现在为主操作系统(Windows、Mac 和 Linux)和平台提供 Python 轮子。您可以使用 pip 从 PyPi 安装二进制包。
pip install blosc2
文档
文档在这里
https://blosc.org/python-blosc2/python-blosc2.html
此外,一些示例可在以下位置找到
从源代码构建
python-blosc2 伴随 C-Blosc2 源代码,并可以在本地构建。
git clone https://github.com/Blosc/python-blosc2/
cd python-blosc2
git submodule update --init --recursive
python -m pip install -r requirements-build.txt
python setup.py build_ext --inplace
以上就是所有内容。现在您可以开始测试部分了。
测试
编译后,您可以通过运行测试来快速检查包是否正常。
python -m pip install -r requirements-tests.txt
python -m pytest (add -v for verbose mode)
基准测试
如果您好奇,可以运行一个小基准测试,比较 Blosc 构建中不同压缩器对普通 NumPy 数组复制的压缩。
PYTHONPATH=. python bench/pack_compress.py
许可证
本软件采用3-Clause BSD许可证授权。python-blosc2许可证的副本可在LICENSE.txt中找到。
邮件列表
欢迎在Blosc列表中讨论此模块
请关注@Blosc2以获取最新进展信息。
引用Blosc
您可以将Blosc系列下的不同库的工作引用如下
@ONLINE{blosc,
author = {{Blosc Development Team}},
title = "{A fast, compressed and persistent data store library}",
year = {2009-2023},
note = {https://blosc.org}
}
祝您享受!
项目详情
下载文件
下载适合您平台的文件。如果您不确定选择哪个,请了解更多关于安装软件包的信息。
源分布
构建分布
blosc2-2.7.1.tar.gz 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 34db4d41543b16e894d507d6c7d10a9a67c9dd420ff40b072f7c39185cbb8fe8 |
|
MD5 | 625c862dcb47ad4a0b70384172e7769d |
|
BLAKE2b-256 | efbb19a5d672f86dd26be0fc4f3a4c04264c088f3309b7b9d4e3e853a1f3cfda |
blosc2-2.7.1-cp312-cp312-win_amd64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | a1a884f181a2a9612470bcd589794c7adda3eebdaed918e1a8b6e69683524b70 |
|
MD5 | 41e06e3f8d713edab966a9bd5166b71c |
|
BLAKE2b-256 | 778144def26a468e14309a4cb7d5f6f0534e3e9eec292c0453a9624a4d9c0ebd |
blosc2-2.7.1-cp312-cp312-win32.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6c894ef42fabc49c6bd1c41d2e45ac24e911b3b711c1e26f9be93dbcbf5fd4e2 |
|
MD5 | 8c14e36996a02faf0ecc6d9e35f5df86 |
|
BLAKE2b-256 | 9bf63864933ef0d51845a78f260dce9eba4e3938ff136d1dcd7a4b9d91d25191 |
blosc2-2.7.1-cp312-cp312-musllinux_1_2_x86_64.whl 的哈希值
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 23763b3602df9b0e63d16d21abadaac426a74370a0a986f08bf5322bcfd207c6 |
|
MD5 | 4af67d98c635d3f2097d50955f5b7241 |
|
BLAKE2b-256 | 402b9fb84e2656f09ac90fed163490c11e88a8f5306e53f27b9eb324a2d966b9 |
哈希值,适用于 blosc2-2.7.1-cp312-cp312-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 6c1f3e5ed25930596492dddac8022a729d538efb3c1c4e4904a0021288cf4835 |
|
MD5 | 005fd8097ddd0fe474f2622cbf96de80 |
|
BLAKE2b-256 | 589f54099025ce55a33d2be80eda16821d695c0249c9826e14196e2655ca4a7e |
哈希值,适用于 blosc2-2.7.1-cp312-cp312-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | c662a3cab4760c194407de1990bd70608af29ee30d6471072463cdc8cc6586c4 |
|
MD5 | ec3b85dc616b6c29cd273a6ef9e70ea1 |
|
BLAKE2b-256 | 010035bac426ec7e1e0ea05193043bb2c1a3151861a2f5519ab070223ca5819e |
哈希值,适用于 blosc2-2.7.1-cp312-cp312-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 2c7dbdd93378d01b048536b2eccbb77eaa73054665bc3a9396e4e391a50c4ad0 |
|
MD5 | f66ac6962ced6e06e3dc06e8dbf729ed |
|
BLAKE2b-256 | f1853f817bcd5f665625a46056ea7acad8a4798238a37d85a22cc8294e885e89 |
哈希值,适用于 blosc2-2.7.1-cp312-cp312-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | bd91a5d9e1d35b47bf5a3b6b440bc120f1fa0af45264c0a6ccca6b1083de43e9 |
|
MD5 | ba01b298d46a712373cc2085a368f333 |
|
BLAKE2b-256 | d883417cc99eb9c46a295c9b9381834e9728ba1c583ad942610755a5348f9965 |
哈希值,适用于 blosc2-2.7.1-cp311-cp311-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 7a369a72467b54fb45aa307cf6e3ae84ec0212a9b55cfa5f4d4eb06a06bb1472 |
|
MD5 | 6447e6813c5aba103f56e26e2b2f405c |
|
BLAKE2b-256 | ba4d0295f619fad024e05a46afc1315661f08f3ac3f2c051c9bf060cfb91fe2d |
哈希值,适用于 blosc2-2.7.1-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ed15f0eb6a99df425b33be948fb309a97e76bda37eae20022bc9611bce775592 |
|
MD5 | 0c29412682a411135301b90929a8cba7 |
|
BLAKE2b-256 | 3e0021f408b3257fff4e5166dbd666ee2739f088e139dc90743b09952ee0ebd8 |
哈希值,适用于 blosc2-2.7.1-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3c10a9505c6d2d5e58f03a1139b4a4b234511baa9ebeba17f8f1cc22881ca764 |
|
MD5 | c74172765fb0e8fcf58808d7ef0fba8b |
|
BLAKE2b-256 | e093c1051b42f9797504c11d28185b7e4e343e716eb12152f087cf5312aa7b8b |
哈希值,适用于 blosc2-2.7.1-cp311-cp311-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | f8134aaaf72b670f2ddf258d9b64646c262d6b1b112a530d39f9a5d316f3b306 |
|
MD5 | e20403e099bcc2eeeb0360c630f2f122 |
|
BLAKE2b-256 | 773d1dedc6be1a730d4ba75c599fa8f5426efd02cef7722ed7e54b16e0ae8702 |
哈希值,适用于 blosc2-2.7.1-cp311-cp311-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 51fa45187639cd1f7822355c91f6ceb0fbff6157eb6f9c32462782551fc61283 |
|
MD5 | d17f514dfac471e9286695dc5df06751 |
|
BLAKE2b-256 | 22cb2a5b2024afa43f9b90a21022c44211ba064dc3501e99e3a8ea5b275189dd |
哈希值 用于 blosc2-2.7.1-cp310-cp310-musllinux_1_2_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 06e0933855a6cba347692f08de1aaa51a8858dda67e7c5eaeaab59663b897879 |
|
MD5 | 2c03fd10e8c830dc0984089a616f36c7 |
|
BLAKE2b-256 | 44fb0bc4828c931402d711e9e26aa9938b7ed4f3abc4e7714edc9ab593ab83c8 |
哈希值 用于 blosc2-2.7.1-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 3412e83e6b2508f3da0b0f3e0bf86bef4dac56f018525d2ab55ca50712a2b91a |
|
MD5 | ab293e3fbf64548f89549ccedd9121f0 |
|
BLAKE2b-256 | bb1b5abcd413e11222411ea6032be42aa4db3eac51ab04b967f7e8c669fdb857 |
哈希值 用于 blosc2-2.7.1-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 18770f75174a3aae5712f53e9cb5885b258b730b281cbb3bf1e7a74ea3d94fae |
|
MD5 | 9098f6268ec802246a586ef83defd32c |
|
BLAKE2b-256 | 456adc70194a05e03904a5c9fec9241838b3168afba98f31a0cc7b9a4451f033 |
哈希值 用于 blosc2-2.7.1-cp310-cp310-macosx_11_0_arm64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | 5923a22fb7cfdad571b316930e8812618ba8b2ac1f37ac05edcf3eda71beed9f |
|
MD5 | baf9c81a354e39cb071bde32773eea92 |
|
BLAKE2b-256 | 3fe70f259887dc4b5ac48ed088a932444052905aba1a883d2bd79fd54f6a8ead |
哈希值 用于 blosc2-2.7.1-cp310-cp310-macosx_10_9_x86_64.whl
算法 | 哈希摘要 | |
---|---|---|
SHA256 | ad698c6fca8dee677b7a1881206f7ac43ffd7c458733716a3de1e1f3c6ba1f79 |
|
MD5 | 36e28868193821efd2e136657db5a88b |
|
BLAKE2b-256 | 93f4cbd6c3aaa6d328f73f6c86d56df016edb48083291b90eb945572584fa8f6 |