isal
Faster zlib and gzip compatible compression and decompression by providing python bindings for the ISA-L ibrary.
Decision gist · record as of 2026-08-14
Yes, if you compress or decompress data frequently and can tolerate the compression-level API differences. The library is production-stable (active maintenance, no known vulnerabilities, permissive license), offers genuine performance gains via assembly-level optimization, and provides both synchronous and threaded I/O options. Install friction is moderate but manageable with pre-built wheels for common platforms. Not necessary if your compression workload is negligible or if you require exact zlib/gzip API compatibility.AI-flagged interpretation of the facts on this page — verify before relying
Before you install
- Compression levels range 0–3 (not 1–9 like zlib); level 0 means lowest compression, not no compression.
- Requires ISA-L build dependencies for development.
- Medium install friction: compiled wheels available for Python 3.10–3.13 on x86_64, aarch64, and ARM macOS, plus Windows; requires Python 3.9+.
License · maintenance · safety
PSF-2.0 (permissive) — Licensed under PSF-2.0 (permissive), allowing use in proprietary and open-source projects without significant restrictions.
last release 2025-09-10 (338 days) · last repo commit 2026-07-29 · 58 stars
0 known vulnerabilities (OSV.dev, 2026-08-14) · 2,787,014 downloads/mo, #2,891 on PyPI
Alternatives
Verify before relying
pip install isal
from isal import isal_zlib, igzip
# Use as drop-in replacement for zlib
compressed = isal_zlib.compress(b'data')
decompressed = isal_zlib.decompress(compressed)
# Or use igzip as gzip replacement
with igzip.open('file.gz', 'wb') as f:
f.write(b'data')- Whether performance gains justify medium install friction for your specific workload
- Compatibility of memory level mapping (1–9 range) with existing zlib code in production
What it is and what it does
python-isal wraps Intel's ISA-L (Intelligent Storage Acceleration Library) to provide faster compression and decompression than Python's standard zlib and gzip modules. It offers four main modules: isal_zlib (zlib replacement), igzip (gzip replacement), igzip_threaded (for multi-threaded streaming I/O that escapes the GIL), and igzip_lib (direct access to ISA-L's compression API). The library implements key algorithms in assembly language for speed while maintaining near-complete API compatibility with the standard library.
The package is designed as a drop-in replacement, so existing code using zlib or gzip can often switch to isal_zlib or igzip with minimal changes. However, there are intentional differences: compression levels are 0–3 instead of 1–9, flush modes are limited, and memory level mapping differs. These trade-offs reflect ISA-L's design and are documented to help developers understand when and how to adopt the library.
Use it for
- Replace zlib in data pipeline code to accelerate compression without rewriting application logic
- Stream large compressed files using igzip_threaded to parallelize I/O and bypass Python's GIL
- Build bioinformatics or data-heavy tools that compress/decompress frequently and need lower latency
- Implement gzip-compatible command-line compression tools via the igzip module or CLI
- Reduce CPU cost in production services that compress logs, backups, or API responses at scale
Worth the install?
AI-flagged interpretation of the facts on this page. Verify before relying on it.
Yes, if you compress or decompress data frequently and can tolerate the compression-level API differences.
The library is production-stable (active maintenance, no known vulnerabilities, permissive license), offers genuine performance gains via assembly-level optimization, and provides both synchronous and threaded I/O options. Install friction is moderate but manageable with pre-built wheels for common platforms. Not necessary if your compression workload is negligible or if you require exact zlib/gzip API compatibility.
Install
isal on PyPI
Before you install
Medium install friction: compiled wheels available for Python 3.10–3.13 on x86_64, aarch64, and ARM macOS, plus Windows; requires Python 3.9+. Repository is active with recent commits and no known vulnerabilities.
Compression levels range 0–3 (not 1–9 like zlib); level 0 means lowest compression, not no compression. Requires ISA-L build dependencies for development.
License in practice
Licensed under PSF-2.0 (permissive), allowing use in proprietary and open-source projects without significant restrictions.
Quickstart
pip install isal
from isal import isal_zlib, igzip
# Use as drop-in replacement for zlib
compressed = isal_zlib.compress(b'data')
decompressed = isal_zlib.decompress(compressed)
# Or use igzip as gzip replacement
with igzip.open('file.gz', 'wb') as f:
f.write(b'data')
Verify before relying
- Whether performance gains justify medium install friction for your specific workload
- Compatibility of memory level mapping (1–9 range) with existing zlib code in production
Package facts
| License | PSF-2.0 permissive |
| Python support | Supports the current Python release >=3.9 |
| Install friction | Medium. Platform-specific wheel |
| Runtime dependencies | None |
| Maintenance | Actively maintained 338 days since the last release |
| Last repo commit | |
| First released | |
| Downloads | 2,787,014 / month, #2,891 on PyPI 30-day window, as of 2026-08-14 |
| Known vulnerabilities | None known OSV.dev, checked 2026-08-14 |
| Classifiers | Development Status :: 5 - Production/StableOperating System :: MacOSOperating System :: Microsoft :: WindowsOperating System :: POSIX :: LinuxProgramming Language :: CProgramming Language :: Python :: 3Programming Language :: Python :: 3 :: OnlyProgramming Language :: Python :: 3.10Programming Language :: Python :: 3.11Programming Language :: Python :: 3.12Programming Language :: Python :: 3.13Programming Language :: Python :: 3.14Programming Language :: Python :: Implementation :: CPythonProgramming Language :: Python :: Implementation :: PyPyTopic :: System :: Archiving :: Compression |
Evidence: isal-1.8.0-cp310-cp310-macosx_10_9_x86_64.whl; isal-1.8.0-cp310-cp310-macosx_11_0_arm64.whl; isal-1.8.0-cp310-cp310-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; isal-1.8.0-cp310-cp310-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; isal-1.8.0-cp310-cp310-musllinux_1_2_aarch64.whl; isal-1.8.0-cp310-cp310-musllinux_1_2_x86_64.whl; isal-1.8.0-cp310-cp310-win_amd64.whl; isal-1.8.0-cp311-cp311-macosx_10_9_x86_64.whl; isal-1.8.0-cp311-cp311-macosx_11_0_arm64.whl; isal-1.8.0-cp311-cp311-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; isal-1.8.0-cp311-cp311-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; isal-1.8.0-cp311-cp311-musllinux_1_2_aarch64.whl; isal-1.8.0-cp311-cp311-musllinux_1_2_x86_64.whl; isal-1.8.0-cp311-cp311-win_amd64.whl; isal-1.8.0-cp312-cp312-macosx_10_13_x86_64.whl; isal-1.8.0-cp312-cp312-macosx_11_0_arm64.whl; isal-1.8.0-cp312-cp312-manylinux2014_aarch64.manylinux_2_17_aarch64.manylinux_2_28_aarch64.whl; isal-1.8.0-cp312-cp312-manylinux2014_x86_64.manylinux_2_17_x86_64.manylinux_2_28_x86_64.whl; isal-1.8.0-cp312-cp312-musllinux_1_2_aarch64.whl; isal-1.8.0-cp312-cp312-musllinux_1_2_x86_64.whl
Tags
Let your AI agent find packages like this
Example. Real query, live index.
You found this page by searching. An agent finds it by wishing: SkillFed indexes 14,416 PyPI packages by what they can do, searchable in plain language.
wish › “zlib acceleration”
- isalProvides Python bindings for Intel's ISA-L library to accelerate zlib…
- cmeel-zlibProvides zlib 1.3.2 as a pre-built wheel for use within cmeel-based…
- zlib-ngProvides faster zlib and gzip compression and decompression by…
Give your agent the search over MCP, or paste the wish link into any chat.
More Compression packages
Provides Python bindings to the Brotli compression library, enabling lossless compression and decompression using a modern LZ77 variant with Huffman coding and context modeling.
Install it if you need Brotli compression in Python; the API is straightforward and the library is battle-tested.
Provides Zstandard compression support for Python versions before 3.14, backporting the standard library's zstd module along with zstd-enabled tarfile and zipfile modules.
Zopfli is a Python binding for Google's Zopfli compression library, providing higher-density compression for zlib and gzip formats than standard algorithms, with tunable iteration and block-splitting parameters.
Python binding for Google's Snappy compression library, providing fast compression and decompression of data via the cramjam backend.
However, dormant maintenance (715 days since last release) means security or compatibility issues may not be addressed quickly.
pyzipper replaces Python's standard zipfile module to read and write AES-encrypted zip archives, using the WinZip AES encryption specification.
Provides Python bindings to the Zstandard (zstd) compression library with an API similar to bz2, lzma, and zlib modules.
See also zlib-ng · aiohttp-fast-zlib · aiohttp-zlib-ng · cmeel-zlib · lz4 · deflate · apple-compress · cramjam · zlib-state