Chisle
코딩 에이전트 플러그인, 20개 실시간 작업에서 기본 모델 52% 활용, 간결한 페르소나와 출력 압축 제공
C용 빠르고 압축된 영구 바이너리 데이터 저장 라이브러리
A fast, compressed, persistent binary data store library for C.
개발 도구GitHub @Blosc직접 설치운영자 미확인
써 보셨어요? 한 번만 눌러 주세요. 로그인은 필요 없어요.
저장소 정보는 아직 수집하지 않았습니다.
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
메이커가 쓴 소개는 위의 한 줄이 전부입니다. 더 자세한 내용은 저장소 README에서 읽을 수 있습니다. 저장소 README ↗
README 전체를 불러오는 중입니다.
README 전문 보기 ↗:Author: Blosc Development Team :Contact: [email protected] :URL: https://www.blosc.org :Gitter: |gitter| :Actions: |actions| :NumFOCUS: |numfocus| :Code of Conduct: |Contributor Covenant|
.. |gitter| image:: https://badges.gitter.im/Blosc/c-blosc.svg :alt: Join the chat at https://gitter.im/Blosc/c-blosc :target: https://gitter.im/Blosc/c-blosc?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge
.. |actions| image:: https://github.com/Blosc/c-blosc2/workflows/CI%20CMake/badge.svg :target: https://github.com/Blosc/c-blosc2/actions?query=workflow%3A%22CI+CMake%22
.. |numfocus| image:: https://img.shields.io/badge/powered%20by-NumFOCUS-orange.svg?style=flat&colorA=E1523D&colorB=007D8A :target: https://numfocus.org
.. |Contributor Covenant| image:: https://img.shields.io/badge/Contributor%20Covenant-v2.0%20adopted-ff69b4.svg :target: https://github.com/Blosc/community/blob/master/code_of_conduct.md
Blosc2 <https://www.blosc.org/pages/blosc-in-depth/>_ is a high-performance compressor and data format optimized for binary data, including numerical arrays, tensors, and other structured formats. It provides a flexible framework of codecs and filters, enabling developers to balance compression speed and ratio for specific use cases, from high-throughput data pipelines to persistent storage. As the successor to the original Blosc library (released in 2010), Blosc2 is built on a mature foundation and is integrated into many popular scientific computing libraries, such as PyTables, h5py, and Zarr.
C-Blosc2 is the latest major version of C-Blosc <https://github.com/Blosc/c-blosc>_, and is backward compatible with both the C-Blosc1 API and its in-memory format. However, the reverse thing is generally not true for the format; buffers generated with C-Blosc2 are not format-compatible with C-Blosc1 (i.e. forward compatibility is not supported by default, but see blosc2_ctx_set_blosc1_format() to write chunks that C-Blosc1 can read). In case you want to ensure full API compatibility with C-Blosc1 API, define the BLOSC1_COMPAT symbol.
See a 3-minute introductory video to Blosc2 <https://www.youtube.com/watch?v=ER12R7FXosk>_.
One of the more exciting additions in C-Blosc2 is the Blosc2 NDim layer <https://www.blosc.org/c-blosc2/reference/b2nd.html>_ (or B2ND for short), which allows creating and reading n-dimensional datasets in an extremely efficient way thanks to a n-dim 2-level partitioning, that allows slicing and dicing arbitrary large and compressed data in a more fine-grained way:
.. image:: https://github.com/Blosc/c-blosc2/blob/main/images/b2nd-2level-parts.png?raw=true :width: 75%
To whet your appetite, here is how the NDArray object in the Python wrapper_ performs on getting slices orthogonal to the different axis of a 4-dim dataset:
.. image:: https://github.com/Blosc/c-blosc2/blob/main/images/Read-Partial-Slices-B2ND.png?raw=true :width: 75%
We have blogged about this: https://www.blosc.org/posts/blosc2-ndim-intro
We also have a ~2 min explanatory video on why slicing in a pineapple-style (aka double partition) is useful <https://www.youtube.com/watch?v=LvP9zxMGBng>_:
.. image:: https://github.com/Blosc/blogsite/blob/master/files/images/slicing-pineapple-style.png?raw=true :width: 50% :alt: Slicing a dataset in pineapple-style :target: https://www.youtube.com/watch?v=LvP9zxMGBng
.. include:: ../WHATS-NEW.rst
More info about the improved capabilities of C-Blosc2 can be found in this paper <https://www.blosc.org/docs/Exploring-MilkyWay-SciPy2023-paper.pdf>_. Please, cite it if you use C-Blosc2 in your research!
The Blosc2 format is open and fully documented <https://github.com/Blosc/c-blosc2/blob/main/README_FORMAT.rst>_.
The format specs are defined in less than 4000 words, so they should be easy to read and understand. In our opinion, this is critical for the long-term success of the library, as it allows for third-party implementations of the format, and also for the users to understand what is going on under the hood.
We are officially supporting (thanks to the Python Software Foundation) a Python wrapper for Blosc2 <https://github.com/Blosc/python-blosc2>. It supports all the features of the predecessor python-blosc <https://github.com/Blosc/python-blosc> package plus most of the bells and whistles of C-Blosc2, like 64-bit and multidimensional containers. As a bonus, the python-blosc2 package comes with wheels and binary versions of the C-Blosc2 libraries, so anyone, even non-Python users can install C-Blosc2 binaries easily with:
.. code-block:: console
pip install blosc2
Blosc can be built, tested and installed using CMake <https://cmake.org>_. The following procedure describes a typical CMake build.
Create the build directory inside the sources and move into it:
.. code-block:: console
git clone https://github.com/Blosc/c-blosc2 cd c-blosc2 mkdir build cd build
Now run CMake configuration and optionally specify the installation directory (e.g. '/usr' or '/usr/local'):
.. code-block:: console
cmake -DCMAKE_INSTALL_PREFIX=your_install_prefix_directory ..
CMake allows configuring Blosc in many different ways, including selecting external codec libraries, fetching pinned upstream codec sources during configuration, or disabling selected codecs altogether. Please note that configuration can also be performed using UI tools provided by CMake (ccmake or cmake-gui):
.. code-block:: console
ccmake .. # run a curses-based interface cmake-gui .. # run a graphical interface
Build, test and install Blosc:
.. code-block:: console
여기까지가 README 앞부분입니다. 나머지는 원문에서 읽을 수 있습니다. README 전문 보기 ↗