Skip to main content

LZW compression and decompression

Project description

ncompress PyPI Build PyPI - Downloads

LZW compression and decompression in Python and C++.

Ported with minimal changes from the (N)compress CLI tool.

Installation

Wheels are available for Python 3.8+ and all operating systems on PyPI.

pip install ncompress

Usage

Functions compress() and decompress() are available with the following inputs/outputs:

  • bytesbytes
  • BytesIObytes
  • BytesIO, BytesIONone
  • bytes, BytesIONone

The BytesIO-based functions are slightly (about 15%) faster due to avoiding a copy of the contents on bytesstd::string conversion.

Authors

The core functionality has been adapted from vapier/ncompress.

License

All modifications and additions are released under the Unlicense.

The base (N)compress code has been released into the public domain.

The BytesIO wrapper in pystreambuf.h has been adapted from the cctbx project and is licensed under the Lawrence Berkeley National Labs BSD variant license. See the linked file for details.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ncompress-1.0.2.tar.gz (21.0 kB view hashes)

Uploaded Source

Built Distributions

ncompress-1.0.2-cp312-abi3-win_arm64.whl (45.7 kB view hashes)

Uploaded CPython 3.12+ Windows ARM64

ncompress-1.0.2-cp312-abi3-win_amd64.whl (50.7 kB view hashes)

Uploaded CPython 3.12+ Windows x86-64

ncompress-1.0.2-cp312-abi3-win32.whl (45.2 kB view hashes)

Uploaded CPython 3.12+ Windows x86

ncompress-1.0.2-cp312-abi3-musllinux_1_1_x86_64.whl (364.1 kB view hashes)

Uploaded CPython 3.12+ musllinux: musl 1.1+ x86-64

ncompress-1.0.2-cp312-abi3-musllinux_1_1_s390x.whl (416.1 kB view hashes)

Uploaded CPython 3.12+ musllinux: musl 1.1+ s390x

ncompress-1.0.2-cp312-abi3-musllinux_1_1_ppc64le.whl (389.9 kB view hashes)

Uploaded CPython 3.12+ musllinux: musl 1.1+ ppc64le

ncompress-1.0.2-cp312-abi3-musllinux_1_1_i686.whl (391.5 kB view hashes)

Uploaded CPython 3.12+ musllinux: musl 1.1+ i686

ncompress-1.0.2-cp312-abi3-musllinux_1_1_aarch64.whl (351.9 kB view hashes)

Uploaded CPython 3.12+ musllinux: musl 1.1+ ARM64

ncompress-1.0.2-cp312-abi3-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (73.7 kB view hashes)

Uploaded CPython 3.12+ manylinux: glibc 2.17+ x86-64

ncompress-1.0.2-cp312-abi3-manylinux_2_17_s390x.manylinux2014_s390x.whl (72.6 kB view hashes)

Uploaded CPython 3.12+ manylinux: glibc 2.17+ s390x

ncompress-1.0.2-cp312-abi3-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (80.2 kB view hashes)

Uploaded CPython 3.12+ manylinux: glibc 2.17+ ppc64le

ncompress-1.0.2-cp312-abi3-manylinux_2_17_i686.manylinux2014_i686.whl (77.2 kB view hashes)

Uploaded CPython 3.12+ manylinux: glibc 2.17+ i686

ncompress-1.0.2-cp312-abi3-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (70.1 kB view hashes)

Uploaded CPython 3.12+ manylinux: glibc 2.17+ ARM64

ncompress-1.0.2-cp312-abi3-macosx_11_0_arm64.whl (42.5 kB view hashes)

Uploaded CPython 3.12+ macOS 11.0+ ARM64

ncompress-1.0.2-cp312-abi3-macosx_10_14_x86_64.whl (43.9 kB view hashes)

Uploaded CPython 3.12+ macOS 10.14+ x86-64

ncompress-1.0.2-cp312-abi3-macosx_10_14_universal2.whl (82.2 kB view hashes)

Uploaded CPython 3.12+ macOS 10.14+ universal2 (ARM64, x86-64)

ncompress-1.0.2-cp311-cp311-win_arm64.whl (46.8 kB view hashes)

Uploaded CPython 3.11 Windows ARM64

ncompress-1.0.2-cp311-cp311-win_amd64.whl (52.5 kB view hashes)

Uploaded CPython 3.11 Windows x86-64

ncompress-1.0.2-cp311-cp311-win32.whl (46.6 kB view hashes)

Uploaded CPython 3.11 Windows x86

ncompress-1.0.2-cp311-cp311-musllinux_1_1_x86_64.whl (366.1 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ x86-64

ncompress-1.0.2-cp311-cp311-musllinux_1_1_s390x.whl (418.2 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ s390x

ncompress-1.0.2-cp311-cp311-musllinux_1_1_ppc64le.whl (392.4 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ ppc64le

ncompress-1.0.2-cp311-cp311-musllinux_1_1_i686.whl (394.2 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ i686

ncompress-1.0.2-cp311-cp311-musllinux_1_1_aarch64.whl (353.9 kB view hashes)

Uploaded CPython 3.11 musllinux: musl 1.1+ ARM64

ncompress-1.0.2-cp311-cp311-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (75.9 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ x86-64

ncompress-1.0.2-cp311-cp311-manylinux_2_17_s390x.manylinux2014_s390x.whl (74.7 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ s390x

ncompress-1.0.2-cp311-cp311-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (82.7 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ppc64le

ncompress-1.0.2-cp311-cp311-manylinux_2_17_i686.manylinux2014_i686.whl (79.7 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ i686

ncompress-1.0.2-cp311-cp311-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (72.3 kB view hashes)

Uploaded CPython 3.11 manylinux: glibc 2.17+ ARM64

ncompress-1.0.2-cp311-cp311-macosx_11_0_arm64.whl (44.3 kB view hashes)

Uploaded CPython 3.11 macOS 11.0+ ARM64

ncompress-1.0.2-cp311-cp311-macosx_10_14_x86_64.whl (45.6 kB view hashes)

Uploaded CPython 3.11 macOS 10.14+ x86-64

ncompress-1.0.2-cp311-cp311-macosx_10_14_universal2.whl (85.5 kB view hashes)

Uploaded CPython 3.11 macOS 10.14+ universal2 (ARM64, x86-64)

ncompress-1.0.2-cp310-cp310-win_arm64.whl (46.9 kB view hashes)

Uploaded CPython 3.10 Windows ARM64

ncompress-1.0.2-cp310-cp310-win_amd64.whl (52.6 kB view hashes)

Uploaded CPython 3.10 Windows x86-64

ncompress-1.0.2-cp310-cp310-win32.whl (46.7 kB view hashes)

Uploaded CPython 3.10 Windows x86

ncompress-1.0.2-cp310-cp310-musllinux_1_1_x86_64.whl (366.3 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ x86-64

ncompress-1.0.2-cp310-cp310-musllinux_1_1_s390x.whl (418.3 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ s390x

ncompress-1.0.2-cp310-cp310-musllinux_1_1_ppc64le.whl (392.7 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ppc64le

ncompress-1.0.2-cp310-cp310-musllinux_1_1_i686.whl (394.3 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ i686

ncompress-1.0.2-cp310-cp310-musllinux_1_1_aarch64.whl (354.0 kB view hashes)

Uploaded CPython 3.10 musllinux: musl 1.1+ ARM64

ncompress-1.0.2-cp310-cp310-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (76.0 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ x86-64

ncompress-1.0.2-cp310-cp310-manylinux_2_17_s390x.manylinux2014_s390x.whl (74.8 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ s390x

ncompress-1.0.2-cp310-cp310-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (82.9 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ppc64le

ncompress-1.0.2-cp310-cp310-manylinux_2_17_i686.manylinux2014_i686.whl (79.9 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ i686

ncompress-1.0.2-cp310-cp310-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (72.4 kB view hashes)

Uploaded CPython 3.10 manylinux: glibc 2.17+ ARM64

ncompress-1.0.2-cp310-cp310-macosx_11_0_arm64.whl (44.4 kB view hashes)

Uploaded CPython 3.10 macOS 11.0+ ARM64

ncompress-1.0.2-cp310-cp310-macosx_10_14_x86_64.whl (45.7 kB view hashes)

Uploaded CPython 3.10 macOS 10.14+ x86-64

ncompress-1.0.2-cp310-cp310-macosx_10_14_universal2.whl (85.8 kB view hashes)

Uploaded CPython 3.10 macOS 10.14+ universal2 (ARM64, x86-64)

ncompress-1.0.2-cp39-cp39-win_arm64.whl (47.0 kB view hashes)

Uploaded CPython 3.9 Windows ARM64

ncompress-1.0.2-cp39-cp39-win_amd64.whl (53.0 kB view hashes)

Uploaded CPython 3.9 Windows x86-64

ncompress-1.0.2-cp39-cp39-win32.whl (47.0 kB view hashes)

Uploaded CPython 3.9 Windows x86

ncompress-1.0.2-cp39-cp39-musllinux_1_1_x86_64.whl (366.3 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ x86-64

ncompress-1.0.2-cp39-cp39-musllinux_1_1_s390x.whl (418.3 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ s390x

ncompress-1.0.2-cp39-cp39-musllinux_1_1_ppc64le.whl (392.7 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ppc64le

ncompress-1.0.2-cp39-cp39-musllinux_1_1_i686.whl (394.2 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ i686

ncompress-1.0.2-cp39-cp39-musllinux_1_1_aarch64.whl (354.0 kB view hashes)

Uploaded CPython 3.9 musllinux: musl 1.1+ ARM64

ncompress-1.0.2-cp39-cp39-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (76.0 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ x86-64

ncompress-1.0.2-cp39-cp39-manylinux_2_17_s390x.manylinux2014_s390x.whl (74.8 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ s390x

ncompress-1.0.2-cp39-cp39-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (82.9 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ppc64le

ncompress-1.0.2-cp39-cp39-manylinux_2_17_i686.manylinux2014_i686.whl (79.9 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ i686

ncompress-1.0.2-cp39-cp39-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (72.4 kB view hashes)

Uploaded CPython 3.9 manylinux: glibc 2.17+ ARM64

ncompress-1.0.2-cp39-cp39-macosx_11_0_arm64.whl (44.4 kB view hashes)

Uploaded CPython 3.9 macOS 11.0+ ARM64

ncompress-1.0.2-cp39-cp39-macosx_10_14_x86_64.whl (45.7 kB view hashes)

Uploaded CPython 3.9 macOS 10.14+ x86-64

ncompress-1.0.2-cp39-cp39-macosx_10_14_universal2.whl (85.8 kB view hashes)

Uploaded CPython 3.9 macOS 10.14+ universal2 (ARM64, x86-64)

ncompress-1.0.2-cp38-cp38-win_amd64.whl (53.0 kB view hashes)

Uploaded CPython 3.8 Windows x86-64

ncompress-1.0.2-cp38-cp38-win32.whl (47.0 kB view hashes)

Uploaded CPython 3.8 Windows x86

ncompress-1.0.2-cp38-cp38-musllinux_1_1_x86_64.whl (366.1 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ x86-64

ncompress-1.0.2-cp38-cp38-musllinux_1_1_s390x.whl (418.3 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ s390x

ncompress-1.0.2-cp38-cp38-musllinux_1_1_ppc64le.whl (392.6 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ppc64le

ncompress-1.0.2-cp38-cp38-musllinux_1_1_i686.whl (393.9 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ i686

ncompress-1.0.2-cp38-cp38-musllinux_1_1_aarch64.whl (354.0 kB view hashes)

Uploaded CPython 3.8 musllinux: musl 1.1+ ARM64

ncompress-1.0.2-cp38-cp38-manylinux_2_17_x86_64.manylinux2014_x86_64.whl (75.9 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ x86-64

ncompress-1.0.2-cp38-cp38-manylinux_2_17_s390x.manylinux2014_s390x.whl (74.8 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ s390x

ncompress-1.0.2-cp38-cp38-manylinux_2_17_ppc64le.manylinux2014_ppc64le.whl (82.9 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ppc64le

ncompress-1.0.2-cp38-cp38-manylinux_2_17_i686.manylinux2014_i686.whl (79.6 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ i686

ncompress-1.0.2-cp38-cp38-manylinux_2_17_aarch64.manylinux2014_aarch64.whl (72.4 kB view hashes)

Uploaded CPython 3.8 manylinux: glibc 2.17+ ARM64

ncompress-1.0.2-cp38-cp38-macosx_11_0_arm64.whl (44.4 kB view hashes)

Uploaded CPython 3.8 macOS 11.0+ ARM64

ncompress-1.0.2-cp38-cp38-macosx_10_14_x86_64.whl (45.8 kB view hashes)

Uploaded CPython 3.8 macOS 10.14+ x86-64

ncompress-1.0.2-cp38-cp38-macosx_10_14_universal2.whl (85.9 kB view hashes)

Uploaded CPython 3.8 macOS 10.14+ universal2 (ARM64, x86-64)

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page