Releases: pycompression/python-isal
Version 0.8.0
Due to changes in this version igzip.compress, igzip.decompress,
isal_zlib.compress, isal_zlib.crc32
and isal_zlib.adler32 perform always faster than their gzip and
zlib counterparts. isal_zlib.decompress is still slower for very
small data <128 bytes, but faster in all other cases.
- Speed up
igzip.compress
andigzip.decompress
by improving the
implementation. - Make sure compiler arguments are passed to ISA-L compilation step. Previously
ISA-L was compiled without optimisation steps, causing the statically linked
library to be significantly slower. - A unused constant from the
isal_zlib
library was removed:
ISAL_DEFAULT_HIST_BITS
. - Refactor isal_zlib.pyx to work almost the same as zlibmodule.c. This has made
the code look cleaner and has reduced some overhead.
Version 0.7.0
This release fixes several bugs in isal_zlib. It now is a proper drop-in
replacement for zlib. This is a major milestone towards the 1.0.0
release.
- Remove workarounds in the
igzip
module for theunconsumed_tail
andunused_data
bugs.igzip._IGzipReader
now functions the same
asgzip._GzipReader
with only a few calls replaced withisal_zlib
calls for speed. - Correctly implement
unused_data
andunconsumed_tail
on
isal_zlib.Decompress
objects.
It works the same as in CPython's zlib now. - Correctly implement flush implementation on
isal_zlib.Compress
and
isal_zlib.Decompress
objects.
It works the same as in CPython's zlib now.
Version 0.6.1
- Fix a crash that occurs when opening a file that did not end in
.gz
while
outputting to stdout usingpython -m isal.igzip
.
Version 0.6.0
Python-isal is now cross-platform thanks to adding Windows support in this
release.
python -m gzip
's behaviour has been changed since fixing bug:
bpo-43316 <https://bugs.python.org/issue43316>
_. This bug was not present
inpython -m isal.igzip
but it handled the error differently than the
solution in CPython. This is now corrected andpython -m isal.igzip
handles the error the same as the fixedpython -m gzip
.- Installation on Windows is now supported. Wheels are provided for Windows as
well.
Version 0.5.0
- Fix a bug where negative integers were not allowed for the
adler32
and
crc32
functions inisal_zlib
. - Provided stubs (type-hint files) for
isal_zlib
and_isal
modules.
Package is now tested with mypy to ensure correct type information. - The command-line interface now reads in blocks of 32K instead of 8K. This
improves performance by about 6% when compressing and 11% when decompressing.
A hidden-b
flag was added to adjust the buffer size for benchmarks. - A
-c
or--stdout
flag was added to the CLI interface of isal.igzip.
This allows it to behave more like thegzip
orpigz
command line
interfaces.
Version 0.4.0
- Move wheel building to cibuildwheel on github actions CI. Wheels are now
provided for Mac OS as well. - Make a tiny change in setup.py so python-isal can be build on Mac OS X.
Version 0.3.0
- Set included ISA-L library at version 2.30.0.
- Python-isal now comes with a source distribution of ISA-L in its source
distribution against which python-isal is linked statically upon installation
by default. Dynamic linking against system libraries is now optional. Wheels
with the statically linked ISA-L are now provided on PyPI.
Version 0.2.0
- Fixed a bug where writing of the gzip header would crash if an older version
of Python 3.7 was used such as on Debian or Ubuntu. This is due to
differences between point releases because of a backported feature. The code
now checks if the backported feature is present. - Added Python 3.9 to the testing.
- Fixed
setup.py
to list setuptools as a requirement. - Changed homepage to reflect move to pycompression organization.
Version 0.1.0
The first release for python-isal includes a implementation of the igzip module
that is compliant with the tests for CPython's gzip module. The zlib module has
still some issues. This release was made to allow easy installation for people
who want to enjoy the speed improvements of the igzip module over the gzip module.
- Publish API documentation on readthedocs.
- Add API documentation.
- Ensure the igzip module is fully compatible with the gzip stdlib module.
- Add compliance tests from CPython to ensure isal_zlib and igzip are validated
to the same standards as the zlib and gzip modules. - Added a working gzip app using
python -m isal.igzip
- Add test suite that tests all possible settings for functions on the
isal_zlib module. - Create igzip module which implements all gzip functions and methods.
- Create isal_zlib module which implements all zlib functions and methods.