Skip to content

Latest commit

 

History

History
100 lines (74 loc) · 3.23 KB

File metadata and controls

100 lines (74 loc) · 3.23 KB

Installation

You can install binary Python-Blosc2 wheels from PyPI with pip, from conda-forge with conda, or build from a clone of the GitHub repository.

Pip

pip install blosc2 --upgrade

Conda

conda install -c conda-forge python-blosc2

Optional features (extras)

The base install includes everything needed for compression and the array machinery. Heavier, feature-specific dependencies are kept out of it and grouped into extras that you opt into with the blosc2[extra] syntax:

Extra Adds
tui The :doc:`b2view <../guides/b2view>` terminal browser (textual, textual-plotext), including its in-terminal braille plot (the p key). Required by the b2view command.
hires The high-resolution image view in b2view (the h key), which renders a real matplotlib image in the terminal (textual-image, matplotlib). Includes tui.
parquet The parquet-to-blosc2 converter (pyarrow); see :doc:`../guides/parquet_to_blosc2`.
fsspec Reading and writing single-file containers through any fsspec URL. The driver for each protocol is a separate install (s3fs for s3://, gcsfs for gs://, adlfs for abfs://...), and credentials are configured through the driver, not through blosc2.

Install one or more extras by listing them in brackets (quote the argument in shells like zsh that treat brackets specially):

pip install "blosc2[tui]"             # the b2view terminal browser
pip install "blosc2[hires]"           # b2view + its high-res view (h key)
pip install "blosc2[parquet]"         # the Parquet converter
pip install "blosc2[fsspec]" s3fs     # fsspec URLs, plus the S3 driver
pip install "blosc2[tui,parquet]"     # several at once

With the fsspec extra, :func:`blosc2.open` accepts any fsspec URL, chained ones included, and reads it whole, through a local cache (cache_storage=) or one chunk at a time (lazy=True); see :func:`blosc2.open` and :ref:`FsspecNDSource` for what each mode supports. examples/ndarray/rw-fsspec.py walks through all three plus the write side, and examples/ndarray/concurrent-fsspec.py shows what overlapping the chunk fetches buys; both run with no network or credentials.

Source code

git clone https://github.com/Blosc/python-blosc2/
cd python-blosc2
pip install . --group test   # install with test dependencies

(the --group flag needs pip >= 25.1). That's all. You can proceed with the testing section now.

Testing

After installing, you can quickly check that the package is sane by running the tests:

pytest  # add -v for verbose mode

Benchmarking

If curious, you may want to run a small benchmark that compares a plain NumPy array copy against compression through different compressors in your Blosc build:

PYTHONPATH=. python bench/pack_compress.py