Recent Releases of ncompress

ncompress - v1.0.2

Re-release of v1.0.1 to fix an incomplete source distribution being previously uploaded to PyPI.

Also publishes Python 3.12 wheels with the stable ABI, which should be compatible with future Python versions.

- C++
Published by valgur about 2 years ago

ncompress - v1.0.1: switch to nanobind

Python bindings

  • No changes to the API.
  • Replaced pybind11 with nanobind for smaller wheels (i.e. 100 kB instead of 900 kB for manylinux wheels) and slightly improved performance.
  • The minimal Python version is now 3.8 instead of 3.6 and 32-bit systems are no longer supported due to constraints from nanobind.
  • Wheels are now built for all supported architectures, not just x86_64.
  • Added cmake and ninja as build dependencies and cibuildwheel config to pyproject.toml. This allows building from source with pip install ncompress and building wheels using the cibuildwheel command to work out of the box.
  • Custom build logic in setup.py was replaced with scikit-build.

C++ library

  • No changes to the existing API.
  • Eliminated C-style #defines and macros.
  • Reduced the scope of C-style variable declarations for readability.
  • Added MAGIC_1 and MAGIC_2 constants at the start of compressed files to ncompress.h for convenience.

- C++
Published by valgur almost 3 years ago

ncompress - v1.0.0

LZW compression and decompression in Python and C++. Ported with minimal changes from the (N)compress CLI tool.

- C++
Published by valgur about 4 years ago