archivers/py-bitshuffle 0.5.2_2 FreeBSD
Bitshuffle filter for improving typed data compression
- System
- FreeBSD
- Repository
- FreeBSD ports
- Maintainer
- [email protected]
- License
- MIT
- Categories
- archivers, python
Description
Bitshuffle is an algorithm that rearranges typed, binary data for improving compression, as well as a python/C package that implements this algorithm within the Numpy framework.
The library can be used along side HDF5 to compress and decompress datasets and is integrated through the dynamically loaded filters framework. Bitshuffle is HDF5 filter number 32008.
Algorithmically, Bitshuffle is closely related to HDF5's Shuffle filter except it operates at the bit level instead of the byte level. Arranging a typed data array in to a matrix with the elements as the rows and the bits within the elements as the columns, Bitshuffle "transposes" the matrix, such that all the least-significant-bits are in a row, etc.
This does not in itself compress data, only rearranges it for more efficient compression. To perform the actual compression you will need a compression library. Bitshuffle has been designed to be well matched to Marc Lehmann's LZF as well as LZ4 and ZSTD. Note that because Bitshuffle modifies the data at the bit level, sophisticated entropy reducing compression libraries such as GZIP and BZIP are unlikely to achieve significantly better compression than simpler and faster duplicate-string-elimination algorithms such as LZF, LZ4 and ZSTD. Bitshuffle thus includes routines (and HDF5 filter options) to apply LZ4 and ZSTD compression to each block after shuffling.
In the other systems
| System | Port | Version |
|---|---|---|
| FreeBSD | archivers/py-bitshuffle | 0.5.2_2 |
| DragonFly | archivers/py-bitshuffle | 0.5.2 |
| HardenedBSD | archivers/py-bitshuffle | 0.5.2_2 |
| GhostBSD | archivers/py-bitshuffle | 0.5.2_2 |
Install
Binary package:
pkg install py312-bitshuffle
From the ports tree:
cd /usr/ports/archivers/py-bitshuffle/ && make install clean
To depend on this port in another port's Makefile:
RUN_DEPENDS= py312-bitshuffle>0:archivers/py-bitshuffle
Packages
The version each package repository carries. “-” means the repository builds no package of it, “n/a” that there is no such repository.
| Repository | aarch64 | amd64 | armv6 | armv7 | i386 |
|---|---|---|---|---|---|
| FreeBSD:14:latest | - | 0.5.2_2 | - | - | 0.5.2_2 |
| FreeBSD:14:quarterly | - | 0.5.2_2 | n/a | - | 0.5.2_2 |
| FreeBSD:15:latest | - | 0.5.2_2 | n/a | - | 0.5.2 |
| FreeBSD:15:quarterly | - | 0.5.2_2 | n/a | n/a | n/a |
| FreeBSD:16:latest | - | 0.5.2_2 | n/a | n/a | n/a |
| FreeBSD:16:quarterly | n/a | n/a | n/a | n/a | n/a |
Dependencies
As this port's Makefile names them.
Build 4
${PYTHON_PKGNAMEPREFIX}h5py>=2.4.0: science/py-h5py${PYTHON_PKGNAMEPREFIX}numpy>=0: math/py-numpy${PYTHON_PKGNAMEPREFIX}setuptools>=0: devel/py-setuptools${PYTHON_PKGNAMEPREFIX}wheel>=0: devel/py-wheel
Runtime 3
${PYTHON_PKGNAMEPREFIX}h5py>=2.4.0: science/py-h5py${PYTHON_PKGNAMEPREFIX}numpy>=1.24: math/py-numpy${PYTHON_PKGNAMEPREFIX}setuptools>=0.7: devel/py-setuptools
The full lists below include those, and their dependencies in turn.
Build dependencies 28
- archivers/liblz4
- archivers/zstd
- devel/binutils
- devel/gettext-runtime
- devel/libffi
- devel/pkgconf
- devel/py-build
- devel/py-installer
- devel/py-packaging
- devel/py-pyproject-hooks
- devel/py-setuptools
- devel/py-wheel
- devel/readline
- lang/cython
- lang/gcc14
- lang/python312
- lang/python315
- math/gmp
- math/mpc
- math/mpdecimal
- math/mpfr
- math/openblas
- math/py-numpy
- print/indexinfo
- science/hdf5
- science/libaec
- science/py-h5py
- textproc/expat2
Run dependencies 21
No port depends on this one.
Configuration
No options to configure.
- USES
- pkgconfig python
- Service scripts
- none
Files
distinfo 1
| File | Size | SHA256 |
|---|---|---|
| bitshuffle-0.5.2.tar.gz | 290156 | dc0e3fb7bdbf42be1009cc3028744180600d625a75b31833a24aa32aeaf83d8d |
Master sites 1
- PYPI
Commit history 0
No commits in the history this site was built from.